From e6fe321764e1dc407d4f7973d8fa3818a8377ae5 Mon Sep 17 00:00:00 2001 From: Yamo4490 Date: Thu, 9 Oct 2025 17:44:56 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=95=EA=B8=B0=20=EB=B0=B1=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VideoTimeline/VideoPlayerBehaviour.cs | 2 +- Assets/External/EVMC4U.meta | 2 +- ...rtylicenses(ExternalReceiverPack).txt.meta | 2 +- Assets/External/EVMC4U/CameraReceiver.cs | 194 - Assets/External/EVMC4U/CameraReceiver.cs.meta | 11 - .../External/EVMC4U/CommunicationValidator.cs | 256 - .../EVMC4U/CommunicationValidator.cs.meta | 11 - Assets/External/EVMC4U/DeviceReceiver.cs | 333 - Assets/External/EVMC4U/DeviceReceiver.cs.meta | 11 - .../EVMC4U/DirectionalLightReceiver.cs | 158 - .../EVMC4U/DirectionalLightReceiver.cs.meta | 11 - Assets/External/EVMC4U/Editor.meta | 2 +- .../EVMC4U/Editor/ExternalReceiverEditor.cs | 53 - .../Editor/ExternalReceiverEditor.cs.meta | 11 - Assets/External/EVMC4U/Editor/Resources.meta | 2 +- .../EVMC4U/Editor/Resources/tutorial.meta | 2 +- .../Resources/tutorial/caution_bg.png.meta | 37 +- .../Editor/Resources/tutorial/define.txt.meta | 2 +- .../Editor/Resources/tutorial/ignore.png.meta | 37 +- .../Resources/tutorial/ok_button.png.meta | 37 +- .../Editor/Resources/tutorial/start.meta | 2 +- .../tutorial/start/start_bg.png.meta | 37 +- .../tutorial/start/start_english.png.meta | 37 +- .../tutorial/start/start_japanese.png.meta | 37 +- .../Editor/Resources/tutorial/start_en.meta | 2 +- .../tutorial/start_en/discord.png.meta | 37 +- .../tutorial/start_en/howtouse.png.meta | 37 +- .../tutorial/start_en/vmcprotocol.png.meta | 37 +- .../Resources/tutorial/start_first.meta | 2 +- .../tutorial/start_first/en.png.meta | 37 +- .../tutorial/start_first/ja.png.meta | 37 +- .../Editor/Resources/tutorial/start_ja.meta | 2 +- .../tutorial/start_ja/discord.png.meta | 37 +- .../tutorial/start_ja/howtouse.png.meta | 37 +- .../tutorial/start_ja/vmcprotocol.png.meta | 37 +- Assets/External/EVMC4U/Editor/Tutorial.cs | 363 - .../External/EVMC4U/Editor/Tutorial.cs.meta | 11 - Assets/External/EVMC4U/ExternalController.cs | 199 - .../EVMC4U/ExternalController.cs.meta | 11 - Assets/External/EVMC4U/ExternalReceiver.cs | 1172 - .../External/EVMC4U/ExternalReceiver.cs.meta | 11 - .../EVMC4U/ExternalReceiver.prefab.meta | 2 +- Assets/External/EVMC4U/InputReceiver.cs | 268 - Assets/External/EVMC4U/InputReceiver.cs.meta | 11 - Assets/External/EVMC4U/LICENSE | 21 - Assets/External/EVMC4U/LICENSE.meta | 7 - .../CCCameraControl/CCCameraControl.cs | 44 - .../CCCameraControl/CCCameraControl.cs.meta | 11 - .../CalibrationByController.cs | 123 - .../CalibrationByController.cs.meta | 11 - .../CapsuleRigidbodyMover.cs | 117 - .../CapsuleRigidbodyMover.cs.meta | 11 - .../EVMC4U/SampleScripts/DeviceAttacher.meta | 8 - .../DeviceAttacher/DeviceAttacher.cs | 43 - .../DeviceAttacher/DeviceAttacher.cs.meta | 11 - .../EVMC4U/SampleScripts/FreezeSwitch.meta | 8 - .../FreezeSwitch/FreezeSwitch.cs | 64 - .../FreezeSwitch/FreezeSwitch.cs.meta | 11 - .../EVMC4U/SampleScripts/HandCatch.meta | 8 - .../SampleScripts/HandCatch/HandCatch.cs | 412 - .../SampleScripts/HandCatch/HandCatch.cs.meta | 11 - .../HandCatch/HandCatch_Helper.cs | 54 - .../HandCatch/HandCatch_Helper.cs.meta | 11 - .../HandCatch/HandCatch_WeaponHelper.cs | 110 - .../HandCatch/HandCatch_WeaponHelper.cs.meta | 11 - .../EVMC4U/SampleScripts/ObjectSwitch.meta | 8 - .../ObjectSwitch/ObjectSwitch.cs | 57 - .../ObjectSwitch/ObjectSwitch.cs.meta | 11 - .../EVMC4U/SampleScripts/TeleportKit.meta | 8 - .../TeleportKit/TeleportManager.cs | 73 - .../TeleportKit/TeleportManager.cs.meta | 11 - .../External/EVMC4U/SampleScripts/misc.meta | 8 - .../misc/HiResolutionPhotoCamera.cs | 86 - .../misc/HiResolutionPhotoCamera.cs.meta | 11 - Assets/External/EVMC4U/Test.meta | 8 - .../External/EVMC4U/Test/AddComponentTest.cs | 51 - .../EVMC4U/Test/AddComponentTest.cs.meta | 11 - .../External/EVMC4U/Test/DaisyChainTesting.cs | 55 - .../EVMC4U/Test/DaisyChainTesting.cs.meta | 11 - Assets/External/EVMC4U/Test/InputTesting.cs | 103 - .../External/EVMC4U/Test/InputTesting.cs.meta | 11 - Assets/External/EVMC4U/class.meta | 8 - .../External/EVMC4U/class/EVMC4UeventClass.cs | 45 - .../EVMC4U/class/EVMC4UeventClass.cs.meta | 11 - Assets/External/EVMC4U/class/EVMC4Ustructs.cs | 128 - .../EVMC4U/class/EVMC4Ustructs.cs.meta | 11 - .../EVMC4U/class/ExternalReceiverManager.cs | 88 - .../class/ExternalReceiverManager.cs.meta | 11 - .../EVMC4U/class/IExternalReceiver.cs | 40 - .../EVMC4U/class/IExternalReceiver.cs.meta | 11 - .../Scripts/FaceAnimationRecorder.cs | 2 +- .../Scripts/HumanoidPoses.cs | 6 +- .../Scripts/MotionDataPlayer.cs | 2 +- .../Scripts/ObjectMotionRecorder.cs | 7 +- .../External/Fullscreen/Editor/After.cs.meta | 6 +- Assets/External/Fullscreen/Editor/Cmd.cs.meta | 6 +- .../Editor/DisableSceneView.cs.meta | 6 +- .../Displays/DisplayInfo.windows.cs.meta | 6 +- .../Fullscreen/Editor/Disposables.cs.meta | 6 +- .../Editor/EnableGameViewShortcuts.cs | 19 + ...s.meta => EnableGameViewShortcuts.cs.meta} | 8 +- .../Editor/FixGameViewMouseInput.cs.meta | 6 +- .../Fullscreen/Editor/Fullscreen.cs.meta | 6 +- .../Editor/FullscreenCallbacks.cs.meta | 6 +- .../Editor/FullscreenContainer.cs.meta | 6 +- .../FullscreenContainerInternal.cs.meta | 6 +- .../Editor/FullscreenOnPlay.cs.meta | 6 +- .../Editor/FullscreenPreferences.cs | 22 +- .../Editor/FullscreenPreferences.cs.meta | 6 +- .../Fullscreen/Editor/FullscreenRects.cs | 32 +- .../Fullscreen/Editor/FullscreenRects.cs.meta | 6 +- .../Fullscreen/Editor/FullscreenUtility.cs | 4 +- .../Editor/FullscreenUtility.cs.meta | 6 +- .../Fullscreen/Editor/FullscreenView.cs.meta | 6 +- .../Editor/FullscreenWindow.cs.meta | 6 +- .../GameViewLowResolutionAspectRatios.cs.meta | 6 +- .../Fullscreen/Editor/GameViewVSync.cs.meta | 6 +- .../Editor/GlobalToolbarHiding.cs.meta | 6 +- .../External/Fullscreen/Editor/Integration.cs | 15 +- .../Fullscreen/Editor/Integration.cs.meta | 6 +- .../Fullscreen/Editor/InternalTypes.cs | 3 - .../Fullscreen/Editor/InternalTypes.cs.meta | 6 +- .../Editor/KeepFullscreenBelow.cs.meta | 6 +- Assets/External/Fullscreen/Editor/Linux.meta | 8 - .../Editor/Linux/NativeFullscreenHook.cs | 22 - .../Fullscreen/Editor/Linux/wmctrl.cs | 75 - .../External/Fullscreen/Editor/Logger.cs.meta | 6 +- .../External/Fullscreen/Editor/MenuItems.cs | 10 +- .../Fullscreen/Editor/MenuItems.cs.meta | 6 +- .../Fullscreen/Editor/Patcher.cs.meta | 6 +- .../Editor/PlaceholderWindow.cs.meta | 6 +- .../Fullscreen/Editor/PrefItem.cs.meta | 6 +- .../Editor/ReflectionUtility.cs.meta | 6 +- .../Editor/RestoreCursorState.cs.meta | 6 +- .../Fullscreen/Editor/Shortcut.cs.meta | 6 +- .../Fullscreen/Editor/ViewPyramid.cs.meta | 6 +- .../Fullscreen/Editor/Windows/GDI32.cs.meta | 6 +- .../Fullscreen/Editor/Windows/ShCore.cs.meta | 6 +- .../Fullscreen/Editor/Windows/Structs.cs.meta | 6 +- .../Fullscreen/Editor/Windows/User32.cs.meta | 6 +- .../Fullscreen/FullscreenEditor.asmdef.meta | 6 +- Assets/External/Fullscreen/Readme.pdf.meta | 6 +- .../MMD4Mecanim/Editor/MMD4MecanimImporter.cs | 10 +- .../Common/Materials/MC2_Floor.mat.meta | 4 +- .../Common/Materials/MC2_Test_Back.mat.meta | 4 +- .../Common/Materials/MC2_Test_Front.mat.meta | 4 +- .../Common/Materials/MC2_White.mat | 26 +- .../Common/Materials/MC2_White.mat.meta | 4 +- .../Common/Model/Materials/Arrow.mat.meta | 4 +- .../Common/Model/arrow_b.fbx.meta | 4 +- .../Common/Prefabs/Cube.prefab.meta | 4 +- .../Common/Prefabs/CubeRoup.prefab.meta | 4 +- .../Common/Prefabs/Env.prefab.meta | 4 +- .../Common/Prefabs/Plane.prefab.meta | 4 +- .../Prefabs/RuntimeBuildDemo.prefab.meta | 4 +- .../Prefabs/RuntimeDressUpDemo.prefab.meta | 4 +- .../Prefabs/SimpleImputManager.prefab.meta | 4 +- .../Common/Prefabs/Stage.prefab.meta | 4 +- .../Common/Prefabs/UI_KAGURA.prefab.meta | 4 +- .../Prefabs/UI_RuntimeBuild.prefab.meta | 4 +- .../Prefabs/UI_RuntimeDressUp.prefab.meta | 4 +- .../Common/Prefabs/UI_Wind.prefab.meta | 4 +- .../Common/Prefabs/WindDemo.prefab.meta | 4 +- .../Common/Prefabs/WindParticle.prefab.meta | 4 +- .../MC2_BoneCloth_Ribbon_Demo.json.meta | 4 +- .../Common/Scripts/AutoRotate.cs | 4 +- .../Common/Scripts/AutoRotate.cs.meta | 4 +- .../Common/Scripts/CameraOrbit.cs | 12 +- .../Common/Scripts/CameraOrbit.cs.meta | 4 +- .../Common/Scripts/CreateSingleton.cs.meta | 4 +- ...caCloth2UPMImporterShaderGraph.asmdef.meta | 4 +- .../ShaderGraph/UnityPackageImporter.cs.meta | 4 +- .../Common/Scripts/GameObjectContainer.cs | 2 +- .../Scripts/GameObjectContainer.cs.meta | 4 +- .../Scripts/MagicaCloth2Example.asmdef.meta | 4 +- .../Common/Scripts/ModelController.cs | 7 +- .../Common/Scripts/ModelController.cs.meta | 4 +- .../Common/Scripts/RuntimeBuildDemo.cs | 13 +- .../Common/Scripts/RuntimeBuildDemo.cs.meta | 4 +- .../Common/Scripts/RuntimeDressUpDemo.cs | 18 +- .../Common/Scripts/RuntimeDressUpDemo.cs.meta | 4 +- .../Common/Scripts/SimpleInput.cs.meta | 4 +- .../Common/Scripts/SimpleInputManager.cs | 2 +- .../Common/Scripts/SimpleInputManager.cs.meta | 4 +- .../Common/Scripts/SliderText.cs | 2 +- .../Common/Scripts/SliderText.cs.meta | 4 +- .../Common/Scripts/TargetFPS.cs | 12 +- .../Common/Scripts/TargetFPS.cs.meta | 4 +- .../Common/Scripts/WindDemo.cs | 5 - .../Common/Scripts/WindDemo.cs.meta | 4 +- .../MC2_Common_Lit_Back.shadergraph.meta | 4 +- .../MC2_Common_Lit_Front.shadergraph.meta | 4 +- .../SD_UnityChan_Skirt_PaintMap.png.meta | 4 +- .../CoreRP/RuntimeBuild_CoreRP.unity.meta | 4 +- .../CoreRP/RuntimeDressUp_CoreRP.unity.meta | 4 +- .../CoreRP/UnityChanKAGURA_CoreRP.unity.meta | 4 +- .../DemoScenes/CoreRP/Wind_CoreRP.unity.meta | 4 +- .../MC2_SkyandFogSettingsProfile.asset.meta | 4 +- .../HDRP/RuntimeBuild_HDRP.unity.meta | 4 +- .../HDRP/RuntimeDressUp_HDRP.unity.meta | 4 +- .../HDRP/UnityChanKAGURA_HDRP.unity.meta | 4 +- .../DemoScenes/HDRP/Wind_HDRP.unity.meta | 4 +- .../URP/RuntimeBuild_URP.unity.meta | 4 +- .../URP/RuntimeDressUp_URP.unity.meta | 4 +- .../URP/UnityChanKAGURA_URP.unity.meta | 4 +- .../DemoScenes/URP/Wind_URP.unity.meta | 4 +- .../RuntimeBuild_HighDefinition3D.unity.meta | 4 +- ...RuntimeDressUp_HighDefinition3D.unity.meta | 4 +- ...nityChanKAGURA_HighDefinition3D.unity.meta | 4 +- .../Wind_HighDefinition3D.unity.meta | 4 +- .../RuntimeBuild_Universal3D.unity.meta | 4 +- .../RuntimeDressUp_Universal3D.unity.meta | 4 +- .../UnityChanKAGURA_Universal3D.unity.meta | 4 +- .../Universal3D/Wind_Universal3D.unity.meta | 4 +- .../UnityChan/Logo/Dark_Silhouette.png.meta | 4 +- .../SD_Kohaku_chanz/Materials/SB_def_mat.mat | 26 +- .../Materials/SB_def_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/SB_nol_mat.mat | 26 +- .../Materials/SB_nol_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/SB_skin_mat.mat | 26 +- .../Materials/SB_skin_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/def_mat.mat | 4 +- .../Materials/def_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/hair_mat.mat | 4 +- .../Materials/hair_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/mouth_mat.mat | 4 +- .../Materials/mouth_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/nol_mat.mat | 4 +- .../Materials/nol_mat.mat.meta | 4 +- .../SD_Kohaku_chanz/Materials/skin_mat.mat | 4 +- .../Materials/skin_mat.mat.meta | 4 +- .../SD_UnityChan.controller.meta | 4 +- .../Textures/body_sum.png.meta | 4 +- .../Textures/body_win.png.meta | 4 +- .../Textures/misaki_head.png.meta | 4 +- .../Textures/utc_all2.png.meta | 4 +- .../Textures/yuko_head.png.meta | 4 +- .../Utc_sum_humanoid (Body).prefab.meta | 4 +- .../Utc_sum_humanoid (Hair).prefab.meta | 4 +- .../Utc_sum_humanoid (Skeleton).prefab.meta | 4 +- .../Utc_sum_humanoid Variant.prefab.meta | 4 +- .../SD_Kohaku_chanz/Utc_sum_humanoid.fbx.meta | 4 +- ...nse Terms and Condition_EN_UCL2.0.pdf.meta | 4 +- ...s and Condition_Summary_EN_UCL2.0.pdf.meta | 4 +- ...03Indication of License_EN_UCL2.0.pdf.meta | 4 +- ...nse Terms and Condition_JP_UCL2.0.pdf.meta | 4 +- ...s and Condition_Summary_JP_UCL2.0.pdf.meta | 4 +- ...03Indication of License_JP_UCL2.0.pdf.meta | 4 +- .../License Logo/LUUL_LOGO_rules02.ai.meta | 4 +- .../License Logo/LUUL_LOGO_rules02.psd.meta | 4 +- .../License Logo/LUUL_logo-guideline.pdf.meta | 4 +- .../LUUL_logo-guideline_en.pdf.meta | 4 +- .../Others/jpg/Dark_Silhouette.jpg.meta | 4 +- .../Others/jpg/Light_Silhouette.jpg.meta | 4 +- .../Others/png/Dark_Silhouette.png.meta | 4 +- .../Others/png/Light_Frame.png.meta | 4 +- .../Others/png/Light_Silhouette.png.meta | 4 +- .../Others/svg/Dark_Silhouette.svg.meta | 4 +- .../Others/svg/Light_Frame.svg.meta | 4 +- .../Others/svg/Light_Silhouette.svg.meta | 4 +- .../UnityChan/Unity-Chan License.txt.meta | 4 +- .../Animation/RUN00_F.anim.meta | 4 +- .../UC01_001_UniteInTheSky -WA-.fbx.meta | 4 +- .../Animation/WAIT02.anim.meta | 4 +- .../Animation/WAIT04.anim.meta | 4 +- .../Animation/WALK00_F.anim.meta | 4 +- .../UnityChanKAGURA/Animation/WIN00.anim.meta | 4 +- .../UnityChanKAGURA/Materials/Albedo.mat.meta | 4 +- .../Materials/Body Back.mat.meta | 4 +- .../UnityChanKAGURA/Materials/Body.mat.meta | 4 +- .../UnityChanKAGURA/Materials/Eyes.mat.meta | 4 +- .../Materials/Eyes_HL.mat.meta | 4 +- .../UnityChanKAGURA/Materials/Face.mat.meta | 4 +- .../UnityChanKAGURA/Materials/Hair.mat.meta | 4 +- .../Materials/HairPony.mat.meta | 4 +- .../Materials/Headgear.mat.meta | 4 +- .../Materials/LongSleeve Back.mat.meta | 4 +- .../Materials/LongSleeve.mat.meta | 4 +- .../UnityChanKAGURA/Materials/Skin.mat.meta | 4 +- .../Materials/TEX/PNG/Body_Base.png.meta | 4 +- .../Materials/TEX/PNG/Body_Emi.png.meta | 4 +- .../Materials/TEX/PNG/Body_SGM.png.meta | 4 +- .../Materials/TEX/PNG/Body_Shd1.png.meta | 4 +- .../Materials/TEX/PNG/Body_Shd2.png.meta | 4 +- .../Materials/TEX/PNG/Body_Spc.png.meta | 4 +- .../Materials/TEX/PNG/Face_Base.png.meta | 4 +- .../Materials/TEX/PNG/Face_Emi.png.meta | 4 +- .../Materials/TEX/PNG/Face_LSM.png.meta | 4 +- .../Materials/TEX/PNG/Face_Rim.png.meta | 4 +- .../Materials/TEX/PNG/Face_SGM.png.meta | 4 +- .../Materials/TEX/PNG/Face_Shd1.png.meta | 4 +- .../Materials/TEX/PNG/Face_Shd2.png.meta | 4 +- .../Materials/TEX/PNG/Hair_SGM.png.meta | 4 +- .../Materials/TEX/PNG/Headfgear_Base.png.meta | 4 +- .../Materials/TEX/PNG/Skin_Base.png.meta | 4 +- .../Materials/TEX/PNG/Skin_Emi.png.meta | 4 +- .../Materials/TEX/PNG/Skin_Nrm.png.meta | 4 +- .../Materials/TEX/PNG/Skin_Rim.png.meta | 4 +- .../Materials/TEX/PNG/Skin_SGM.png.meta | 4 +- .../Materials/TEX/PNG/Skin_Spc.png.meta | 4 +- .../Materials/TEX/PNG/Skin_SpcCol.png.meta | 4 +- .../Materials/face3_main.mat.meta | 4 +- .../Materials/headExt.mat.meta | 4 +- .../UniteInTheSky.controller.meta | 4 +- .../UnityChanKAGURA/UnityCHanKAGURA.fbx.meta | 4 +- .../UnityCHanKAGURA_MC2.prefab.meta | 4 +- .../MagicaCloth2/MagicaCloth2.asmdef.meta | 4 +- Assets/External/MagicaCloth2/Readme.txt | 2 +- Assets/External/MagicaCloth2/Readme.txt.meta | 4 +- Assets/External/MagicaCloth2/Readme_jpn.txt | 2 +- .../External/MagicaCloth2/Readme_jpn.txt.meta | 4 +- .../MagicaCloth2/Res/Icon/icon-cloth.png.meta | 4 +- .../Res/Icon/icon-collider.png.meta | 4 +- .../Res/Icon/icon-settings.png.meta | 4 +- .../MagicaCloth2/Res/Icon/icon-wind.png.meta | 4 +- .../Res/Preset/MC2_Preset_Accessory.json.meta | 4 +- .../Res/Preset/MC2_Preset_Cape.json.meta | 4 +- .../Res/Preset/MC2_Preset_FrontHair.json.meta | 4 +- .../Preset/MC2_Preset_HardSpring.json.meta | 4 +- .../Res/Preset/MC2_Preset_LongHair.json.meta | 4 +- .../Preset/MC2_Preset_MiddleSpring.json.meta | 4 +- .../Res/Preset/MC2_Preset_ShortHair.json.meta | 4 +- .../Res/Preset/MC2_Preset_Skirt.json.meta | 4 +- .../Res/Preset/MC2_Preset_SoftSkirt.json.meta | 4 +- .../Preset/MC2_Preset_SoftSpring.json.meta | 4 +- .../Res/Preset/MC2_Preset_Tail.json.meta | 4 +- .../Cloth/CheckSliderSerializeData.cs.meta | 4 +- .../Scripts/Core/Cloth/ClothBehaviour.cs.meta | 4 +- .../Scripts/Core/Cloth/ClothForceMode.cs.meta | 4 +- .../Core/Cloth/ClothInitSerializeData.cs.meta | 4 +- .../Core/Cloth/ClothMeshWriteMode.cs.meta | 4 +- .../Core/Cloth/ClothNormalAxis.cs.meta | 4 +- .../Core/Cloth/ClothParameters.cs.meta | 4 +- .../Scripts/Core/Cloth/ClothProcess.cs | 4 +- .../Scripts/Core/Cloth/ClothProcess.cs.meta | 4 +- .../Scripts/Core/Cloth/ClothProcessData.cs | 2 +- .../Core/Cloth/ClothProcessData.cs.meta | 4 +- .../Core/Cloth/ClothProcessGeneration.cs.meta | 4 +- .../Core/Cloth/ClothSerializeData.cs.meta | 4 +- .../Core/Cloth/ClothSerializeData2.cs.meta | 4 +- .../Core/Cloth/ClothSerializeDataFunction.cs | 2 +- .../Cloth/ClothSerializeDataFunction.cs.meta | 4 +- .../Core/Cloth/ClothUpdateMode.cs.meta | 4 +- .../Cloth/Collider/ColliderComponent.cs.meta | 4 +- .../Collider/ColliderSymmetryMode.cs.meta | 4 +- .../Collider/MagicaCapsuleCollider.cs.meta | 4 +- .../Collider/MagicaPlaneCollider.cs.meta | 4 +- .../Collider/MagicaSphereCollider.cs.meta | 4 +- .../Cloth/Constraints/AngleConstraint.cs.meta | 4 +- .../ColliderCollisionConstraint.cs | 21 +- .../ColliderCollisionConstraint.cs.meta | 4 +- .../Cloth/Constraints/DistanceConstraint.cs | 2 +- .../Constraints/DistanceConstraint.cs.meta | 4 +- .../Constraints/InertiaConstraint.cs.meta | 4 +- .../Constraints/MotionConstraint.cs.meta | 4 +- .../Constraints/SelfCollisionConstraint.cs | 85 +- .../SelfCollisionConstraint.cs.meta | 4 +- .../Constraints/SpringConstraint.cs.meta | 4 +- .../Constraints/TetherConstraint.cs.meta | 4 +- .../TriangleBendingConstraint.cs.meta | 4 +- .../Core/Cloth/CullingSettings.cs.meta | 4 +- .../Core/Cloth/CurveSerializeData.cs.meta | 4 +- .../Core/Cloth/CustomSkinningSettings.cs.meta | 4 +- .../Core/Cloth/GizmoSerializeData.cs.meta | 4 +- .../Scripts/Core/Cloth/MagicaCloth.cs | 14 +- .../Scripts/Core/Cloth/MagicaCloth.cs.meta | 4 +- .../Scripts/Core/Cloth/MagicaClothAPI.cs | 6 +- .../Scripts/Core/Cloth/MagicaClothAPI.cs.meta | 4 +- .../MagicaClothAnimationProperty.cs.meta | 4 +- .../Cloth/NormalAlignmentSettings.cs.meta | 4 +- .../Scripts/Core/Cloth/SelectionData.cs.meta | 4 +- .../Scripts/Core/Cloth/Wind/MagicaWindZone.cs | 12 +- .../Core/Cloth/Wind/MagicaWindZone.cs.meta | 4 +- .../Core/Cloth/Wind/WindParams.cs.meta | 4 +- .../Core/Cloth/Wind/WindSettings.cs.meta | 4 +- .../Scripts/Core/Define/ResultDefine.cs.meta | 4 +- .../Scripts/Core/Define/SystemDefine.cs.meta | 4 +- .../Scripts/Core/Interface/ICount.cs.meta | 4 +- .../Core/Interface/IDataValidate.cs.meta | 4 +- .../Scripts/Core/Interface/ITransform.cs.meta | 4 +- .../Scripts/Core/Interface/IValid.cs.meta | 4 +- .../Core/Manager/Cloth/ClothManager.cs.meta | 4 +- .../Manager/Cloth/PreBuildManager.cs.meta | 4 +- .../Scripts/Core/Manager/IManager.cs.meta | 4 +- .../Core/Manager/MagicaManager.cs.meta | 4 +- .../Core/Manager/MagicaManagerAPI.cs.meta | 4 +- .../Scripts/Core/Manager/MagicaSettings.cs | 8 +- .../Core/Manager/MagicaSettings.cs.meta | 4 +- .../Scripts/Core/Manager/Render/RenderData.cs | 8 +- .../Core/Manager/Render/RenderData.cs.meta | 4 +- .../Core/Manager/Render/RenderManager.cs.meta | 4 +- .../Core/Manager/Render/RenderSetupData.cs | 6 +- .../Manager/Render/RenderSetupData.cs.meta | 4 +- .../RenderSetupDataSerialization.cs.meta | 4 +- .../Render/RenderSetupSerializeData.cs | 3 +- .../Render/RenderSetupSerializeData.cs.meta | 4 +- .../Simulation/ColliderManager.cs.meta | 4 +- .../Simulation/SimulationManager.cs.meta | 4 +- .../Simulation/SimulationManagerNormal.cs | 8 +- .../SimulationManagerNormal.cs.meta | 4 +- .../Simulation/SimulationManagerSplit.cs.meta | 4 +- .../Manager/Simulation/TimeManager.cs.meta | 4 +- .../Manager/Simulation/WindManager.cs.meta | 4 +- .../Scripts/Core/Manager/Team/TeamManager.cs | 2 +- .../Core/Manager/Team/TeamManager.cs.meta | 4 +- .../Core/Manager/Team/TeamWindData.cs.meta | 4 +- .../Manager/TransformManager/TransformData.cs | 12 +- .../TransformManager/TransformData.cs.meta | 4 +- .../TransformDataSerialization.cs.meta | 4 +- .../TransformManager/TransformManager.cs | 22 +- .../TransformManager/TransformManager.cs.meta | 4 +- .../TransformManager/TransformRecord.cs.meta | 4 +- .../TransformRecordSerializeData.cs.meta | 4 +- .../VirtualMesh/VirtualMeshManager.cs.meta | 4 +- .../PreBuild/PreBuildScriptableObject.cs.meta | 4 +- .../PreBuild/PreBuildSerializeData.cs.meta | 4 +- .../Core/PreBuild/SharePreBuildData.cs.meta | 4 +- .../Core/PreBuild/UniquePreBuildData.cs.meta | 4 +- .../Core/Reduction/ReductionSettings.cs.meta | 4 +- .../Core/Reduction/ReductionWorkData.cs.meta | 4 +- .../Reduction/SameDistanceReduction.cs.meta | 4 +- .../Reduction/ShapeDistanceReduction.cs.meta | 4 +- .../Reduction/SimpleDistanceReduction.cs.meta | 4 +- .../Core/Reduction/StepReductionBase.cs.meta | 4 +- .../Core/Settings/ClothDebugSettings.cs.meta | 4 +- .../Settings/VirtualMeshDebugSettings.cs.meta | 4 +- .../Core/Utility/Data/DataUtility.cs.meta | 4 +- .../Utility/Data/MultiDataBuilder.cs.meta | 4 +- .../Scripts/Core/Utility/Grid/GridMap.cs.meta | 4 +- .../Utility/Jobs/InterlockUtility.cs.meta | 4 +- .../Core/Utility/Jobs/JobUtility.cs.meta | 4 +- .../Scripts/Core/Utility/Math/AABB.cs.meta | 4 +- .../Scripts/Core/Utility/Math/IntAABB.cs.meta | 4 +- .../Core/Utility/Math/MathExtensions.cs.meta | 4 +- .../Scripts/Core/Utility/Math/MathUtility.cs | 7 + .../Core/Utility/Math/MathUtility.cs.meta | 4 +- .../Core/Utility/Math/MinimumData.cs.meta | 4 +- .../Scripts/Core/Utility/Mesh/MeshUtility.cs | 6 +- .../Core/Utility/Mesh/MeshUtility.cs.meta | 4 +- .../Scripts/Core/Utility/Misc/Develop.cs.meta | 4 +- .../Utility/Misc/StaticStringBuilder.cs.meta | 4 +- .../NativeCollection/DataChunk.cs.meta | 4 +- .../NativeCollection/ExBitFlag16.cs.meta | 4 +- .../NativeCollection/ExBitFlag8.cs.meta | 4 +- .../ExCostSortedList1.cs.meta | 4 +- .../ExCostSortedList4.cs.meta | 4 +- .../NativeCollection/ExNativeArray.cs.meta | 4 +- .../NativeCollection/ExProcessingList.cs.meta | 4 +- .../ExSimpleNativeArray.cs.meta | 4 +- .../ExTransformAccessArray.cs.meta | 4 +- .../FixedList128BytesExtensions.cs.meta | 4 +- .../FixedList32BytesExtensions.cs.meta | 4 +- .../FixedList4096BytesExtensions.cs.meta | 4 +- .../FixedList512BytesExtensions.cs.meta | 4 +- .../FixedList64BytesExtensions.cs.meta | 4 +- .../NativeArrayExtensions.cs.meta | 4 +- .../NativeMultiHashMapExtensions.cs.meta | 4 +- .../NativeParallelHashMapExtensions.cs.meta | 4 +- .../NativeReferenceExtensions.cs.meta | 4 +- .../Core/Utility/ResultCode/Exception.cs.meta | 4 +- .../Utility/ResultCode/ResultCode.cs.meta | 4 +- .../Core/Utility/Time/TimeSpan.cs.meta | 4 +- .../Core/Utility/Time/UnityTimeSpan.cs.meta | 4 +- .../Function/VirtualMeshInputOutput.cs | 6 +- .../Function/VirtualMeshInputOutput.cs.meta | 4 +- .../Function/VirtualMeshMapping.cs.meta | 4 +- .../Function/VirtualMeshOptimization.cs.meta | 4 +- .../Function/VirtualMeshProxy.cs.meta | 4 +- .../Function/VirtualMeshReduction.cs.meta | 4 +- .../Function/VirtualMeshSerialization.cs.meta | 4 +- .../Function/VirtualMeshWork.cs.meta | 4 +- .../Core/VirtualMesh/VertexAttribute.cs.meta | 4 +- .../Core/VirtualMesh/VirtualMesh.cs.meta | 4 +- .../VirtualMesh/VirtualMeshBoneWeight.cs.meta | 4 +- .../VirtualMesh/VirtualMeshContainer.cs.meta | 4 +- .../VirtualMesh/VirtualMeshPrimitive.cs.meta | 4 +- .../VirtualMesh/VirtualMeshRaycastHit.cs.meta | 4 +- .../VirtualMesh/VirtualMeshTransform.cs.meta | 4 +- .../Editor/Cloth/ClothAssetPostprocessor.cs | 2 +- .../Cloth/ClothAssetPostprocessor.cs.meta | 4 +- .../Editor/Cloth/ClothEditorManager.cs | 7 +- .../Editor/Cloth/ClothEditorManager.cs.meta | 4 +- .../Editor/Cloth/ClothEditorUtility.cs | 4 +- .../Editor/Cloth/ClothEditorUtility.cs.meta | 4 +- .../Cloth/ClothInspectorUtility.cs.meta | 4 +- .../Scripts/Editor/Cloth/ClothPainter.cs | 6 +- .../Scripts/Editor/Cloth/ClothPainter.cs.meta | 4 +- .../Editor/Cloth/ClothPresetUtility.cs.meta | 4 +- .../Cloth/MagicaCapsuleColliderEditor.cs.meta | 4 +- .../Scripts/Editor/Cloth/MagicaClothEditor.cs | 32 +- .../Editor/Cloth/MagicaClothEditor.cs.meta | 4 +- .../Editor/Cloth/MagicaEditorBase.cs.meta | 4 +- .../Cloth/MagicaPlaneColliderEditor.cs.meta | 4 +- .../Editor/Cloth/MagicaSettingsEditor.cs.meta | 4 +- .../Cloth/MagicaSphereColliderEditor.cs.meta | 4 +- .../Editor/Cloth/MagicaWindZoneEditor.cs.meta | 4 +- .../Cloth/VirtualMeshEditorUtility.cs.meta | 4 +- .../Editor/EditorExtension/AboutMenu.cs | 23 +- .../Editor/EditorExtension/AboutMenu.cs.meta | 4 +- .../CheckSliderSerializeDataDrawer.cs.meta | 4 +- .../CurveSerializeDataDrawer.cs.meta | 4 +- .../EditorExtension/DrawIconInHierarchy.cs | 4 + .../DrawIconInHierarchy.cs.meta | 4 +- .../Editor/EditorExtension/MenuItemScript.cs | 3 +- .../EditorExtension/MenuItemScript.cs.meta | 4 +- .../SharePreBuildDataDrawer.cs.meta | 4 +- .../Scripts/Editor/Gizmos/GizmoUtility.cs | 2 +- .../Editor/Gizmos/GizmoUtility.cs.meta | 4 +- .../MagicaCapsuleColliderGizmoDrawer.cs.meta | 4 +- .../Gizmos/MagicaClothGizmoDrawer.cs.meta | 4 +- .../MagicaPlaneColliderGizmoDrawer.cs.meta | 4 +- .../MagicaSphereColliderGizmoDrawer.cs.meta | 4 +- .../Gizmos/MagicaWindZoneGizmoDrawer.cs.meta | 4 +- .../Editor/MagicaCloth2.Editor.asmdef.meta | 4 +- .../PreBuild/PreBuildDataCreation.cs.meta | 4 +- .../MagicaCloth2UPMImporterBurst.asmdef.meta | 4 +- .../Burst/UnityPackageImporter.cs.meta | 4 +- ...caCloth2UPMImporterCollections.asmdef.meta | 4 +- .../Collections/UnityPackageImporter.cs.meta | 4 +- Assets/External/NiloToonURP/CHANGELOG.md | 4 +- .../Attribute/RevertiblePropertyDrawer.cs | 193 +- .../NiloToonURP/NiloToonURP user document.pdf | 4 +- .../NiloToonPerCharacterRenderController.cs | 4 +- .../Passes/NiloToonAnimePostProcessPass.cs | 6 + .../Passes/NiloToonAverageShadowTestRTPass.cs | 23 +- .../Passes/NiloToonCharSelfShadowMapRTPass.cs | 8 +- .../Passes/NiloToonDrawSkyboxPass.cs | 5 +- .../NiloToonExtraThickToonOutlinePass.cs | 7 + .../Passes/NiloToonMotionBlurPass.cs | 8 + .../Passes/NiloToonPrepassBufferRTPass.cs | 6 + .../Passes/NiloToonRendererRedrawerPass.cs | 6 + .../Passes/NiloToonScreenSpaceOutlinePass.cs | 6 + .../Passes/NiloToonSetToonParamPass.cs | 15 +- .../Passes/NiloToonToonOutlinePass.cs | 8 +- .../Passes/NiloToonUberPostProcessPass.cs | 29 +- .../Volume/NiloToonTonemappingVolume.cs | 2 +- Assets/External/NiloToonURP/package.json | 2 +- .../Planar Reflections 5.meta | 2 +- .../Planar Reflections 5/Demo Scenes.meta | 2 +- .../Universal Rendering Pipeline.meta | 2 +- .../Basic Reflection.unity.meta | 10 +- .../Basic Reflection/LightingData.asset | Bin 17729 -> 0 bytes .../Basic Reflection/LightingData.asset.meta | 16 - .../ReflectionProbe-0.exr.meta | 50 +- .../Basic ReflectionSettings.lighting | 64 - .../Basic ReflectionSettings.lighting.meta | 16 - .../Depth Pass.unity.meta | 10 +- .../Depth Pass/LightingData.asset | Bin 17729 -> 0 bytes .../Depth Pass/LightingData.asset.meta | 16 - .../Depth Pass/ReflectionProbe-0.exr.meta | 50 +- .../Depth PassSettings.lighting | 63 - .../Depth PassSettings.lighting.meta | 16 - .../Foggy Reflection.unity.meta | 10 +- .../Foggy Reflection/LightingData.asset | Bin 17729 -> 0 bytes .../Foggy Reflection/LightingData.asset.meta | 16 - .../ReflectionProbe-0.exr.meta | 26 +- .../Foggy ReflectionSettings.lighting | 63 - .../Foggy ReflectionSettings.lighting.meta | 16 - .../LOD and Shadows.unity.meta | 10 +- .../LOD and Shadows/LightingData.asset | Bin 17729 -> 0 bytes .../LOD and Shadows/LightingData.asset.meta | 16 - .../ReflectionProbe-0.exr.meta | 50 +- .../LOD and ShadowsSettings.lighting | 63 - .../LOD and ShadowsSettings.lighting.meta | 8 - .../Materials/LOD0.mat.meta | 16 - .../Materials/LOD1.mat.meta | 16 - .../Materials/LOD2.mat.meta | 16 - .../Materials/Lit_Floor.mat.meta | 16 - .../PBR and Blur.unity.meta | 10 +- .../PBR and Blur/LightingData.asset | Bin 17729 -> 0 bytes .../PBR and Blur/LightingData.asset.meta | 16 - .../PBR and Blur/ReflectionProbe-0.exr.meta | 50 +- .../PBR and BlurSettings.lighting | 66 - .../PBR and BlurSettings.lighting.meta | 16 - .../Reflections Only.unity.meta | 10 +- .../Universal RP Water Demo.unity.meta | 10 +- .../LightingData.asset | Bin 17729 -> 0 bytes .../LightingData.asset.meta | 16 - .../ReflectionProbe-0.exr.meta | 26 +- .../Universal RP Water DemoSettings.lighting | 63 - ...versal RP Water DemoSettings.lighting.meta | 16 - .../Planar Reflections 5/Documentation.meta | 2 +- ...nar Reflections 5 - Documentation.pdf.meta | 8 - .../Planar Reflections 5/Shared Assets.meta | 2 +- ...lify Shader Editor Nodes.unitypackage.meta | 8 - ...lify Shader Editor Nodes.unitypackage.meta | 8 - ...tter Shaders Mini Sample.unitypackage.meta | 8 - ...tter Shaders Mini Sample.unitypackage.meta | 8 - .../Shared Assets/Internal Resources.meta | 2 +- .../Default_ReflectionMat.mat.meta | 16 - .../Internal Resources/Icon.png.meta | 73 +- .../Internal_PlanarReflector.fbx.meta | 70 +- ...narReflections5_ReflectionOnly.shader.meta | 18 - ..._PlanarReflections5_WorldBasedFog.mat.meta | 16 - ...anarReflections5_WorldBasedFog.shader.meta | 17 - .../PlanarReflections5_InternalBlur.mat.meta | 17 - .../PlanarReflections_BlurPass.shader.meta | 17 - .../Shared Assets/Textures.meta | 4 +- .../Textures/Abstract Mirror.png.meta | 73 +- .../Textures/BrokenMirror_Color.png.meta | 73 +- .../Textures/BrokenMirror_Height.png.meta | 77 +- .../Textures/BrokenMirror_Normals.png.meta | 73 +- .../Textures/Floor_Color.png.meta | 73 +- .../Textures/Floor_Height.png.meta | 73 +- .../Textures/Floor_Normals.png.meta | 77 +- .../Textures/Mirror_DropNormals.png.meta | 73 +- .../Textures/Mirror_Fog.png.meta | 73 +- .../Textures/Mirror_Mask.png.meta | 73 +- .../Shared Assets/Textures/Opaque.png.meta | 73 +- .../Textures/RoughnessMask.png.meta | 51 +- .../Shared Assets/Water Demo.meta | 4 +- .../Water Demo/FoamTexture.png.meta | 73 +- .../Shared Assets/Water Demo/Sand.png.meta | 75 +- .../Water Demo/WaterGradient.png.meta | 77 +- .../Shared Assets/Water Demo/Waves.png.meta | 79 +- .../Planar Reflections 5/Source Code.meta | 2 +- .../Source Code/Editor.meta | 2 +- .../Source Code/Editor/Background_1.png.meta | 66 +- .../Source Code/Editor/Background_2.png.meta | 66 +- .../Editor/Background_2_Selected.png.meta | 77 +- .../Source Code/Editor/Background_3.png.meta | 66 +- .../Source Code/Editor/Background_4.png.meta | 64 +- .../Source Code/Editor/Background_5.png.meta | 66 +- .../Editor/PIDI_EditorSkin_PR5.guiskin.meta | 18 - .../PlanarReflections5_Editor.asmdef.meta | 15 - .../Editor/Planar_Reflections_5_Logo.png.meta | 75 +- .../Source Code/PlanarReflectionRenderer.cs | 1008 - .../PlanarReflections5.asmdef.meta | 15 - .../Fog Pass/FogPassRenderer.asset.meta | 16 - .../Shaders/PBR/Metallic (Alpha).mat.meta | 16 - .../Shaders/PBR/Metallic 1.mat.meta | 16 - .../Shaders/PBR/Metallic.mat.meta | 16 - .../Shaders/PBR/Specular (Alpha).mat.meta | 16 - .../Shaders/PBR/Specular.mat.meta | 16 - .../Shaders/Unlit/Debug Depth.mat.meta | 16 - .../Shaders/Unlit/Reflection Only.mat.meta | 16 - .../Shaders/Unlit/Simple Tinted.mat.meta | 16 - .../Shader Graphs_Water (Advanced).mat.meta | 16 - ...ader Graphs_Water (No Refraction).mat.meta | 16 - .../Shader Graphs_Water (Simple).mat.meta | 16 - .../Planar Reflections 6.meta} | 2 +- .../Additional Resources.meta} | 2 +- .../Amplify Shader Editor Nodes.meta} | 2 +- ....0.3_AmplifyShaderEditorNodes.unitypackage | 3 + ...AmplifyShaderEditorNodes.unitypackage.meta | 15 + .../Better Shaders Sample.meta} | 2 +- ...ions6.0.0_BetterShadersSample.unitypackage | 3 + ....0.0_BetterShadersSample.unitypackage.meta | 15 + .../Planar Reflections 6/Demo Scenes.meta | 8 + .../Demo Scenes/IsVisibleSample.cs | 38 + .../Demo Scenes/IsVisibleSample.cs.meta} | 12 +- .../Demo Scenes/ReflectTransformSample.cs | 22 + .../ReflectTransformSample.cs.meta | 18 + .../Universal Rendering Pipeline.meta | 8 + .../Basic CamStack.unity | 3 + .../Basic CamStack.unity.meta | 15 + .../Basic Ortho Reflection.unity | 3 + .../Basic Ortho Reflection.unity.meta | 15 + .../Basic Reflection.unity | 3 + .../Basic Reflection.unity.meta | 15 + .../Depth Pass.unity | 3 + .../Depth Pass.unity.meta | 15 + .../Fog & Bloom Reflection.unity | 3 + .../Fog & Bloom Reflection.unity.meta | 15 + .../Foggy Reflection.meta | 8 + .../Foggy Reflection/PostFX Profile.asset | 63 + .../PostFX Profile.asset.meta | 16 + .../LOD and Shadows.unity | 3 + .../LOD and Shadows.unity.meta | 15 + .../Materials.meta | 0 .../Universal Rendering Pipeline/Materials/Bloom.mat} | 45 +- .../Materials/Bloom.mat.meta | 15 + .../Materials/LOD0.mat | 0 .../Materials/LOD0.mat.meta | 15 + .../Materials/LOD1.mat | 0 .../Materials/LOD1.mat.meta | 15 + .../Materials/LOD2.mat | 0 .../Materials/LOD2.mat.meta | 15 + .../Materials/Lit_Floor.mat | 4 +- .../Materials/Lit_Floor.mat.meta | 15 + .../PBR and Blur.unity | 3 + .../PBR and Blur.unity.meta | 15 + .../Reflect Transform Sample.unity | 3 + .../Reflect Transform Sample.unity.meta | 15 + .../Reflections Only.unity | 3 + .../Reflections Only.unity.meta | 15 + .../Reflective Decals.unity | 3 + .../Reflective Decals.unity.meta | 15 + .../Universal RP Water Demo.unity | 3 + .../Universal RP Water Demo.unity.meta | 15 + .../Visibility Test Sample.unity | 3 + .../Visibility Test Sample.unity.meta | 15 + .../World Canvas Sample.unity | 3 + .../World Canvas Sample.unity.meta | 15 + .../Demo Scenes/WaterDemo_Terrain.asset | Bin 0 -> 557368 bytes .../Demo Scenes/WaterDemo_Terrain.asset.meta | 15 + .../Planar Reflections 6/Documentation.meta | 8 + .../Planar Reflections 6 - Documentation.pdf | 3 + ...nar Reflections 6 - Documentation.pdf.meta | 15 + .../Planar Reflections 6/Shared Assets.meta | 8 + .../Shared Assets/Internal Resources.meta | 8 + .../Default_ReflectionMat.mat | 0 .../Default_ReflectionMat.mat.meta | 15 + .../Shared Assets/Internal Resources/Icon.png | 3 + .../Internal Resources/Icon.png.meta | 125 + .../Internal_PlanarReflector.fbx | 3 + .../Internal_PlanarReflector.fbx.meta | 101 + .../Internal_PlanarReflector.prefab | 3 + .../Internal_PlanarReflector.prefab.meta | 14 + ...I_PlanarReflections_ReflectionOnly.shader} | 6 +- ...anarReflections_ReflectionOnly.shader.meta | 17 + .../PIDI_PlanarReflections_WorldBasedFog.mat} | 2 +- ...I_PlanarReflections_WorldBasedFog.mat.meta | 15 + ...DI_PlanarReflections_WorldBasedFog.shader} | 13 +- ...lanarReflections_WorldBasedFog.shader.meta | 16 + .../PlanarReflections_BlurPass.shader | 2 +- .../PlanarReflections_BlurPass.shader.meta | 16 + .../PlanarReflections_InternalBlur.mat} | 15 +- .../PlanarReflections_InternalBlur.mat.meta | 16 + .../PlanarReflections_VRCombine.shader | 177 + .../PlanarReflections_VRCombine.shader.meta | 18 + .../Unlit_PlanarReflections_VRCombine.mat | 41 + ...Unlit_PlanarReflections_VRCombine.mat.meta | 15 + .../Shared Assets/Textures.meta | 10 + .../Textures/Abstract Mirror.png | 3 + .../Textures/Abstract Mirror.png.meta | 85 + .../Textures/BrokenMirror_Color.png | 3 + .../Textures/BrokenMirror_Color.png.meta | 85 + .../Textures/BrokenMirror_Height.png | 3 + .../Textures/BrokenMirror_Height.png.meta | 105 + .../Textures/BrokenMirror_Normals.png | 3 + .../Textures/BrokenMirror_Normals.png.meta | 85 + .../Shared Assets/Textures/Floor_Color.png | 3 + .../Textures/Floor_Color.png.meta | 85 + .../Shared Assets/Textures/Floor_Height.png | 3 + .../Textures/Floor_Height.png.meta | 85 + .../Shared Assets/Textures/Floor_Normals.png | 3 + .../Textures/Floor_Normals.png.meta | 85 + .../Textures/Mirror_DropNormals.png | 3 + .../Textures/Mirror_DropNormals.png.meta | 85 + .../Shared Assets/Textures/Mirror_Fog.png | 3 + .../Textures/Mirror_Fog.png.meta | 85 + .../Shared Assets/Textures/Mirror_Mask.png | 3 + .../Textures/Mirror_Mask.png.meta | 85 + .../Shared Assets/Textures/Opaque.png | 3 + .../Shared Assets/Textures/Opaque.png.meta | 85 + .../Shared Assets/Textures/RoughnessMask.png | 3 + .../Textures/RoughnessMask.png.meta | 103 + .../Shared Assets/Water Demo.meta | 10 + .../Shared Assets/Water Demo/FoamTexture.png | 3 + .../Water Demo/FoamTexture.png.meta | 85 + .../Shared Assets/Water Demo/Sand.png | 3 + .../Shared Assets/Water Demo/Sand.png.meta | 105 + .../Water Demo/WaterGradient.png | 3 + .../Water Demo/WaterGradient.png.meta | 105 + .../Shared Assets/Water Demo/Waves.png | 3 + .../Shared Assets/Water Demo/Waves.png.meta | 105 + .../Planar Reflections 6/Source Code.meta | 8 + .../Source Code/Core.meta | 8 + .../Core/PlanarReflectionCamera.cs | 13 + .../Core/PlanarReflectionCamera.cs.meta | 18 + .../Core}/PlanarReflectionCaster.cs | 112 +- .../Core}/PlanarReflectionCaster.cs.meta | 11 +- .../Core/PlanarReflectionRenderer.cs | 1331 ++ .../Core}/PlanarReflectionRenderer.cs.meta | 11 +- .../Core/PlanarReflectionSettings.cs | 208 + .../Core/PlanarReflectionSettings.cs.meta | 18 + .../Source Code/Core/ReflectionData.cs | 118 + .../Source Code/Core/ReflectionData.cs.meta | 18 + .../Source Code}/Editor.meta | 2 +- .../Source Code/Editor/Background_1.png | 3 + .../Source Code/Editor/Background_1.png.meta | 122 + .../Source Code/Editor/Background_2.png | 3 + .../Source Code/Editor/Background_2.png.meta | 122 + .../Editor/Background_2_Selected.png | 3 + .../Editor/Background_2_Selected.png.meta | 153 + .../Source Code/Editor/Background_3.png | 3 + .../Source Code/Editor/Background_3.png.meta | 122 + .../Source Code/Editor/Background_4.png | 3 + .../Source Code/Editor/Background_4.png.meta | 122 + .../Source Code/Editor/Background_5.png | 3 + .../Source Code/Editor/Background_5.png.meta | 122 + .../Editor/PIDI_EditorSkin_PR5.guiskin | 0 .../Editor/PIDI_EditorSkin_PR5.guiskin.meta | 15 + .../Source Code/Editor/PlanarAPI.cs | 4 +- .../Source Code/Editor/PlanarAPI.cs.meta | 11 +- .../Editor/PlanarReflectionCaster_Editor.cs | 8 +- .../PlanarReflectionCaster_Editor.cs.meta | 11 +- .../Editor/PlanarReflectionRenderer_Editor.cs | 236 +- .../PlanarReflectionRenderer_Editor.cs.meta | 11 +- .../Editor/PlanarReflections6_Editor.asmdef} | 2 +- .../PlanarReflections6_Editor.asmdef.meta | 14 + .../Editor/Planar_Reflections_6_Logo.png | 3 + .../Editor/Planar_Reflections_6_Logo.png.meta | 135 + .../Source Code/Editor/URP-Only.meta | 8 + .../PlanarReflectionCasterDecal_Editor.cs | 317 + ...PlanarReflectionCasterDecal_Editor.cs.meta | 20 + .../Source Code/PlanarReflections6.asmdef} | 2 +- .../PlanarReflections6.asmdef.meta | 14 + .../Source Code/URP-Only.meta | 8 + .../URP-Only/PlanarReflectionCasterDecal.cs | 257 + .../PlanarReflectionCasterDecal.cs.meta | 18 + .../Universal Rendering Pipeline.meta | 0 .../Fog Pass.meta | 0 .../Fog Pass/FogPassRenderer.asset | 0 .../Fog Pass/FogPassRenderer.asset.meta | 15 + .../Universal Rendering Pipeline/Shaders.meta | 0 .../Shaders/Decals.meta | 8 + .../Decals/Simple Reflective Decal.mat | 69 + .../Decals/Simple Reflective Decal.mat.meta | 16 + .../Simple Reflective Decal.shadergraph | 2133 ++ .../Simple Reflective Decal.shadergraph.meta | 18 + .../Shaders/Nodes.meta} | 0 .../PBR-Like Reflections.shadersubgraph | 369 +- .../PBR-Like Reflections.shadersubgraph.meta | 12 +- .../Nodes}/ReflectionUVs.shadersubgraph | 360 +- .../Nodes}/ReflectionUVs.shadersubgraph.meta | 11 +- .../Shaders/PBR.meta | 0 .../Shaders/PBR/Metallic (Alpha).mat | 0 .../Shaders/PBR/Metallic (Alpha).mat.meta | 16 + .../Shaders/PBR/Metallic (Alpha).shadergraph | 195 +- .../PBR/Metallic (Alpha).shadergraph.meta | 12 +- .../Shaders/PBR/Metallic 1.mat | 0 .../Shaders/PBR/Metallic 1.mat.meta | 16 + .../Shaders/PBR/Metallic.mat | 0 .../Shaders/PBR/Metallic.mat.meta | 15 + .../Shaders/PBR/Metallic.shadergraph | 140 +- .../Shaders/PBR/Metallic.shadergraph.meta | 11 +- .../Shaders/PBR/Specular (Alpha).mat | 0 .../Shaders/PBR/Specular (Alpha).mat.meta | 16 + .../Shaders/PBR/Specular (Alpha).shadergraph | 96 +- .../PBR/Specular (Alpha).shadergraph.meta | 12 +- .../Shaders/PBR/Specular.mat | 0 .../Shaders/PBR/Specular.mat.meta | 15 + .../Shaders/PBR/Specular.shadergraph | 195 +- .../Shaders/PBR/Specular.shadergraph.meta | 11 +- .../Shaders/Unlit.meta | 0 .../Shaders/Unlit/Broken Mirror.shadergraph | 194 +- .../Unlit/Broken Mirror.shadergraph.meta | 12 +- .../Shaders/Unlit/Debug Depth.mat | 0 .../Shaders/Unlit/Debug Depth.mat.meta | 16 + .../Shaders/Unlit/Debug Depth.shadergraph | 221 +- .../Unlit/Debug Depth.shadergraph.meta | 12 +- .../Shaders/Unlit/Reflection Only.mat | 2 +- .../Shaders/Unlit/Reflection Only.mat.meta | 16 + .../Shaders/Unlit/Reflection Only.shadergraph | 295 +- .../Unlit/Reflection Only.shadergraph.meta | 12 +- .../Shaders/Unlit/Simple Tinted.mat | 16 +- .../Shaders/Unlit/Simple Tinted.mat.meta | 16 + .../Shaders/Unlit/Simple Tinted.shadergraph | 169 +- .../Unlit/Simple Tinted.shadergraph.meta | 12 +- .../Shaders/Water 2.0.meta | 8 + .../Water 2.0/Lit Stylized.shadergraph | 17899 ++++++++++++++++ .../Water 2.0/Lit Stylized.shadergraph.meta | 18 + .../Shaders/Water 2.0/Water_Lit Stylized.mat | 82 + .../Water 2.0/Water_Lit Stylized.mat.meta | 16 + .../Shaders/Water.meta | 0 .../Water/Shader Graphs_Water (Advanced).mat | 18 +- .../Shader Graphs_Water (Advanced).mat.meta | 16 + .../Shader Graphs_Water (No Refraction).mat | 0 ...ader Graphs_Water (No Refraction).mat.meta | 16 + .../Water/Shader Graphs_Water (Simple).mat | 0 .../Shader Graphs_Water (Simple).mat.meta | 16 + .../Water/Water (Advanced).shadergraph | 297 +- .../Water/Water (Advanced).shadergraph.meta | 12 +- .../Water/Water (No Refraction).shadergraph | 259 +- .../Water (No Refraction).shadergraph.meta | 12 +- .../Shaders/Water/Water (Simple).shadergraph | 215 +- .../Water/Water (Simple).shadergraph.meta | 12 +- .../PowerUp/Scripts/ScaleParticles.cs | 3 +- .../PowerUp/Scripts/Utility/Singleton.cs | 4 +- .../Editor/VRCAvatarTester/VRCAvatarTester.cs | 6 +- .../VRMTools/CleanObjectsEditorWindow.cs | 3 +- Assets/External/V_Utility/vFolders.meta | 2 +- .../V_Utility/vFolders/Read me.pdf.meta | 2 +- .../V_Utility/vFolders/VFolders.asmdef | 16 - .../V_Utility/vFolders/VFolders.asmdef.meta | 7 - .../External/V_Utility/vFolders/VFolders.cs | 1601 -- .../V_Utility/vFolders/VFolders.cs.meta | 11 - .../V_Utility/vFolders/VFoldersCache.cs | 101 - .../V_Utility/vFolders/VFoldersCache.cs.meta | 11 - .../V_Utility/vFolders/VFoldersController.cs | 516 - .../vFolders/VFoldersController.cs.meta | 11 - .../V_Utility/vFolders/VFoldersData.cs | 144 - .../V_Utility/vFolders/VFoldersData.cs.meta | 11 - .../V_Utility/vFolders/VFoldersGUI.cs | 1260 -- .../V_Utility/vFolders/VFoldersGUI.cs.meta | 11 - .../V_Utility/vFolders/VFoldersHistory.cs | 402 - .../vFolders/VFoldersHistory.cs.meta | 11 - .../V_Utility/vFolders/VFoldersIconEditor.cs | 5 - .../vFolders/VFoldersIconEditor.cs.meta | 11 - .../V_Utility/vFolders/VFoldersLibs.cs | 2252 -- .../V_Utility/vFolders/VFoldersLibs.cs.meta | 11 - .../V_Utility/vFolders/VFoldersMenu.cs | 127 - .../V_Utility/vFolders/VFoldersMenu.cs.meta | 11 - .../V_Utility/vFolders/VFoldersMenuItems.cs | 5 - .../vFolders/VFoldersMenuItems.cs.meta | 11 - .../V_Utility/vFolders/VFoldersNavbar.cs | 1321 -- .../V_Utility/vFolders/VFoldersNavbar.cs.meta | 11 - .../V_Utility/vFolders/VFoldersPalette.cs | 267 - .../vFolders/VFoldersPalette.cs.meta | 11 - .../vFolders/VFoldersPaletteEditor.cs | 1374 -- .../vFolders/VFoldersPaletteEditor.cs.meta | 11 - .../vFolders/VFoldersPaletteWindow.cs | 776 - .../vFolders/VFoldersPaletteWindow.cs.meta | 11 - .../V_Utility/vFolders/vFolders Data.asset | 18 - .../vFolders/vFolders Data.asset.meta | 8 - Assets/External/_StudioKafka.meta | 8 - Assets/External/_StudioKafka/MeshSyncPro.meta | 8 - .../MeshSyncPro/Editor/MeshSyncProWindow.cs | 537 - .../Editor/MeshSyncProWindow.cs.meta | 11 - .../_StudioKafka/MeshSyncPro/Runtime.meta | 8 - .../MeshSyncPro/Runtime/MeshSyncProManager.cs | 326 - .../Runtime/MeshSyncProManager.cs.meta | 11 - .../Runtime/PenetrationDetectionCore.cs | 406 - .../Runtime/PenetrationDetectionCore.cs.meta | 11 - .../Runtime/PenetrationFixEngine.cs | 347 - .../Runtime/PenetrationFixEngine.cs.meta | 11 - .../@실내/무지B/PostProcessing.meta | 2 +- .../무지B/PostProcessing/Editor Resources.meta | 5 +- .../PostProcessing/Editor Resources/Monitors.meta | 9 - .../Monitors/HistogramCompute.compute | 91 - .../Monitors/HistogramCompute.compute.meta | 17 - .../Monitors/HistogramRender.shader | 141 - .../Monitors/HistogramRender.shader.meta | 17 - .../Editor Resources/Monitors/ParadeRender.shader | 76 - .../Monitors/ParadeRender.shader.meta | 17 - .../Monitors/VectorscopeCompute.compute | 49 - .../Monitors/VectorscopeCompute.compute.meta | 17 - .../Monitors/VectorscopeRender.shader | 101 - .../Monitors/VectorscopeRender.shader.meta | 17 - .../Monitors/WaveformCompute.compute | 42 - .../Monitors/WaveformCompute.compute.meta | 17 - .../Monitors/WaveformRender.shader | 65 - .../Monitors/WaveformRender.shader.meta | 17 - .../PostProcessing/Editor Resources/UI.meta | 5 +- .../Editor Resources/UI/CurveBackground.shader | 63 - .../UI/CurveBackground.shader.meta | 17 - .../UI/MotionBlendingIcon.png.meta | 112 +- .../Editor Resources/UI/Trackball.shader | 118 - .../Editor Resources/UI/Trackball.shader.meta | 17 - .../@실내/무지B/PostProcessing/Editor.meta | 9 - .../무지B/PostProcessing/Editor/Attributes.meta | 9 - .../PostProcessingModelEditorAttribute.cs | 16 - .../PostProcessingModelEditorAttribute.cs.meta | 19 - .../무지B/PostProcessing/Editor/Models.meta | 9 - .../Editor/Models/AmbientOcclusionModelEditor.cs | 42 - .../Models/AmbientOcclusionModelEditor.cs.meta | 19 - .../Editor/Models/AntialiasingModelEditor.cs | 71 - .../Editor/Models/AntialiasingModelEditor.cs.meta | 19 - .../Editor/Models/BloomModelEditor.cs | 204 - .../Editor/Models/BloomModelEditor.cs.meta | 19 - .../Editor/Models/BuiltinDebugViewsEditor.cs | 106 - .../Editor/Models/BuiltinDebugViewsEditor.cs.meta | 19 - .../Editor/Models/ChromaticAberrationEditor.cs | 9 - .../Models/ChromaticAberrationEditor.cs.meta | 19 - .../Editor/Models/ColorGradingModelEditor.cs | 672 - .../Editor/Models/ColorGradingModelEditor.cs.meta | 19 - .../Editor/Models/DefaultPostFxModelEditor.cs | 22 - .../Models/DefaultPostFxModelEditor.cs.meta | 19 - .../Editor/Models/DepthOfFieldModelEditor.cs | 37 - .../Editor/Models/DepthOfFieldModelEditor.cs.meta | 19 - .../Editor/Models/DitheringModelEditor.cs | 16 - .../Editor/Models/DitheringModelEditor.cs.meta | 19 - .../Editor/Models/EyeAdaptationModelEditor.cs | 86 - .../Models/EyeAdaptationModelEditor.cs.meta | 19 - .../Editor/Models/FogModelEditor.cs | 24 - .../Editor/Models/FogModelEditor.cs.meta | 19 - .../Editor/Models/GrainModelEditor.cs | 31 - .../Editor/Models/GrainModelEditor.cs.meta | 19 - .../Editor/Models/MotionBlurModelEditor.cs | 197 - .../Editor/Models/MotionBlurModelEditor.cs.meta | 19 - .../Models/ScreenSpaceReflectionModelEditor.cs | 100 - .../ScreenSpaceReflectionModelEditor.cs.meta | 19 - .../Editor/Models/UserLutModelEditor.cs | 87 - .../Editor/Models/UserLutModelEditor.cs.meta | 19 - .../Editor/Models/VignetteModelEditor.cs | 118 - .../Editor/Models/VignetteModelEditor.cs.meta | 19 - .../무지B/PostProcessing/Editor/Monitors.meta | 9 - .../Editor/Monitors/HistogramMonitor.cs | 338 - .../Editor/Monitors/HistogramMonitor.cs.meta | 19 - .../Editor/Monitors/ParadeMonitor.cs | 257 - .../Editor/Monitors/ParadeMonitor.cs.meta | 19 - .../Editor/Monitors/VectorscopeMonitor.cs | 241 - .../Editor/Monitors/VectorscopeMonitor.cs.meta | 19 - .../Editor/Monitors/WaveformMonitor.cs | 280 - .../Editor/Monitors/WaveformMonitor.cs.meta | 19 - .../Editor/PostProcessingBehaviourEditor.cs | 31 - .../Editor/PostProcessingBehaviourEditor.cs.meta | 19 - .../Editor/PostProcessingFactory.cs | 35 - .../Editor/PostProcessingFactory.cs.meta | 19 - .../Editor/PostProcessingInspector.cs | 208 - .../Editor/PostProcessingInspector.cs.meta | 19 - .../Editor/PostProcessingModelEditor.cs | 79 - .../Editor/PostProcessingModelEditor.cs.meta | 19 - .../Editor/PostProcessingMonitor.cs | 34 - .../Editor/PostProcessingMonitor.cs.meta | 19 - .../PostProcessing/Editor/PropertyDrawers.meta | 9 - .../Editor/PropertyDrawers/GetSetDrawer.cs | 36 - .../Editor/PropertyDrawers/GetSetDrawer.cs.meta | 19 - .../Editor/PropertyDrawers/MinDrawer.cs | 29 - .../Editor/PropertyDrawers/MinDrawer.cs.meta | 19 - .../PropertyDrawers/TrackballGroupDrawer.cs | 244 - .../PropertyDrawers/TrackballGroupDrawer.cs.meta | 19 - .../무지B/PostProcessing/Editor/Utils.meta | 9 - .../PostProcessing/Editor/Utils/CurveEditor.cs | 847 - .../Editor/Utils/CurveEditor.cs.meta | 19 - .../Editor/Utils/EditorGUIHelper.cs | 194 - .../Editor/Utils/EditorGUIHelper.cs.meta | 19 - .../Editor/Utils/EditorResources.cs | 58 - .../Editor/Utils/EditorResources.cs.meta | 19 - .../PostProcessing/Editor/Utils/FxStyles.cs | 111 - .../PostProcessing/Editor/Utils/FxStyles.cs.meta | 19 - .../Editor/Utils/ReflectionUtils.cs | 124 - .../Editor/Utils/ReflectionUtils.cs.meta | 19 - .../@실내/무지B/PostProcessing/Effects.asset | 345 - .../무지B/PostProcessing/Effects.asset.meta | 15 - .../@실내/무지B/PostProcessing/Resources.meta | 5 +- .../PostProcessing/Resources/Bluenoise64.meta | 5 +- .../Resources/Bluenoise64/COPYING.txt.meta | 12 +- .../Resources/Bluenoise64/LICENSE.txt.meta | 12 +- .../무지B/PostProcessing/Resources/Shaders.meta | 9 - .../PostProcessing/Resources/Shaders/ACES.cginc | 1333 -- .../Resources/Shaders/ACES.cginc.meta | 16 - .../Resources/Shaders/AmbientOcclusion.cginc | 500 - .../Resources/Shaders/AmbientOcclusion.cginc.meta | 16 - .../Resources/Shaders/AmbientOcclusion.shader | 119 - .../Shaders/AmbientOcclusion.shader.meta | 16 - .../PostProcessing/Resources/Shaders/Blit.shader | 49 - .../Resources/Shaders/Blit.shader.meta | 16 - .../PostProcessing/Resources/Shaders/Bloom.cginc | 86 - .../Resources/Shaders/Bloom.cginc.meta | 16 - .../PostProcessing/Resources/Shaders/Bloom.shader | 182 - .../Resources/Shaders/Bloom.shader.meta | 16 - .../Resources/Shaders/BuiltinDebugViews.shader | 257 - .../Shaders/BuiltinDebugViews.shader.meta | 16 - .../Resources/Shaders/ColorGrading.cginc | 290 - .../Resources/Shaders/ColorGrading.cginc.meta | 16 - .../PostProcessing/Resources/Shaders/Common.cginc | 166 - .../Resources/Shaders/Common.cginc.meta | 16 - .../Resources/Shaders/DepthOfField.cginc | 243 - .../Resources/Shaders/DepthOfField.cginc.meta | 16 - .../Resources/Shaders/DepthOfField.shader | 212 - .../Resources/Shaders/DepthOfField.shader.meta | 16 - .../Resources/Shaders/DiskKernels.cginc | 204 - .../Resources/Shaders/DiskKernels.cginc.meta | 16 - .../Resources/Shaders/EyeAdaptation.cginc | 22 - .../Resources/Shaders/EyeAdaptation.cginc.meta | 16 - .../Resources/Shaders/EyeAdaptation.shader | 218 - .../Resources/Shaders/EyeAdaptation.shader.meta | 16 - .../Resources/Shaders/EyeHistogram.compute | 58 - .../Resources/Shaders/EyeHistogram.compute.meta | 16 - .../PostProcessing/Resources/Shaders/FXAA.shader | 85 - .../Resources/Shaders/FXAA.shader.meta | 16 - .../PostProcessing/Resources/Shaders/FXAA3.cginc | 2073 -- .../Resources/Shaders/FXAA3.cginc.meta | 16 - .../PostProcessing/Resources/Shaders/Fog.shader | 109 - .../Resources/Shaders/Fog.shader.meta | 16 - .../Resources/Shaders/GrainGen.shader | 104 - .../Resources/Shaders/GrainGen.shader.meta | 16 - .../Resources/Shaders/LutGen.shader | 128 - .../Resources/Shaders/LutGen.shader.meta | 16 - .../Resources/Shaders/MotionBlur.cginc | 420 - .../Resources/Shaders/MotionBlur.cginc.meta | 16 - .../Resources/Shaders/MotionBlur.shader | 123 - .../Resources/Shaders/MotionBlur.shader.meta | 16 - .../Resources/Shaders/ScreenSpaceRaytrace.cginc | 238 - .../Shaders/ScreenSpaceRaytrace.cginc.meta | 16 - .../Shaders/ScreenSpaceReflection.shader | 929 - .../Shaders/ScreenSpaceReflection.shader.meta | 16 - .../PostProcessing/Resources/Shaders/TAA.cginc | 206 - .../Resources/Shaders/TAA.cginc.meta | 16 - .../PostProcessing/Resources/Shaders/TAA.shader | 85 - .../Resources/Shaders/TAA.shader.meta | 16 - .../Resources/Shaders/Tonemapping.cginc | 120 - .../Resources/Shaders/Tonemapping.cginc.meta | 16 - .../PostProcessing/Resources/Shaders/Uber.shader | 330 - .../Resources/Shaders/Uber.shader.meta | 16 - .../Resources/Shaders/UberSecondPass.cginc | 39 - .../Resources/Shaders/UberSecondPass.cginc.meta | 16 - .../@실내/무지B/PostProcessing/Runtime.meta | 9 - .../PostProcessing/Runtime/Attributes.meta | 9 - .../Runtime/Attributes/GetSetAttribute.cs | 13 - .../Runtime/Attributes/GetSetAttribute.cs.meta | 19 - .../Runtime/Attributes/MinAttribute.cs | 12 - .../Runtime/Attributes/MinAttribute.cs.meta | 19 - .../Runtime/Attributes/TrackballAttribute.cs | 12 - .../Runtime/Attributes/TrackballAttribute.cs.meta | 19 - .../Runtime/Attributes/TrackballGroupAttribute.cs | 6 - .../Attributes/TrackballGroupAttribute.cs.meta | 19 - .../PostProcessing/Runtime/Components.meta | 9 - .../Components/AmbientOcclusionComponent.cs | 185 - .../Components/AmbientOcclusionComponent.cs.meta | 19 - .../Runtime/Components/BloomComponent.cs | 143 - .../Runtime/Components/BloomComponent.cs.meta | 19 - .../Components/BuiltinDebugViewsComponent.cs | 258 - .../Components/BuiltinDebugViewsComponent.cs.meta | 19 - .../Components/ChromaticAberrationComponent.cs | 63 - .../ChromaticAberrationComponent.cs.meta | 19 - .../Runtime/Components/ColorGradingComponent.cs | 436 - .../Components/ColorGradingComponent.cs.meta | 19 - .../Runtime/Components/DepthOfFieldComponent.cs | 165 - .../Components/DepthOfFieldComponent.cs.meta | 19 - .../Runtime/Components/DitheringComponent.cs | 71 - .../Runtime/Components/DitheringComponent.cs.meta | 19 - .../Runtime/Components/EyeAdaptationComponent.cs | 185 - .../Components/EyeAdaptationComponent.cs.meta | 19 - .../Runtime/Components/FogComponent.cs | 79 - .../Runtime/Components/FogComponent.cs.meta | 19 - .../Runtime/Components/FxaaComponent.cs | 48 - .../Runtime/Components/FxaaComponent.cs.meta | 19 - .../Runtime/Components/GrainComponent.cs | 79 - .../Runtime/Components/GrainComponent.cs.meta | 19 - .../Runtime/Components/MotionBlurComponent.cs | 444 - .../Components/MotionBlurComponent.cs.meta | 19 - .../Components/ScreenSpaceReflectionComponent.cs | 239 - .../ScreenSpaceReflectionComponent.cs.meta | 19 - .../Runtime/Components/TaaComponent.cs | 216 - .../Runtime/Components/TaaComponent.cs.meta | 19 - .../Runtime/Components/UserLutComponent.cs | 39 - .../Runtime/Components/UserLutComponent.cs.meta | 19 - .../Runtime/Components/VignetteComponent.cs | 46 - .../Runtime/Components/VignetteComponent.cs.meta | 19 - .../무지B/PostProcessing/Runtime/Models.meta | 9 - .../Runtime/Models/AmbientOcclusionModel.cs | 71 - .../Runtime/Models/AmbientOcclusionModel.cs.meta | 19 - .../Runtime/Models/AntialiasingModel.cs | 242 - .../Runtime/Models/AntialiasingModel.cs.meta | 19 - .../PostProcessing/Runtime/Models/BloomModel.cs | 102 - .../Runtime/Models/BloomModel.cs.meta | 19 - .../Runtime/Models/BuiltinDebugViewsModel.cs | 133 - .../Runtime/Models/BuiltinDebugViewsModel.cs.meta | 19 - .../Runtime/Models/ChromaticAberrationModel.cs | 43 - .../Models/ChromaticAberrationModel.cs.meta | 19 - .../Runtime/Models/ColorGradingModel.cs | 311 - .../Runtime/Models/ColorGradingModel.cs.meta | 19 - .../Runtime/Models/DepthOfFieldModel.cs | 63 - .../Runtime/Models/DepthOfFieldModel.cs.meta | 19 - .../Runtime/Models/DitheringModel.cs | 30 - .../Runtime/Models/DitheringModel.cs.meta | 19 - .../Runtime/Models/EyeAdaptationModel.cs | 88 - .../Runtime/Models/EyeAdaptationModel.cs.meta | 19 - .../PostProcessing/Runtime/Models/FogModel.cs | 39 - .../Runtime/Models/FogModel.cs.meta | 19 - .../PostProcessing/Runtime/Models/GrainModel.cs | 51 - .../Runtime/Models/GrainModel.cs.meta | 19 - .../Runtime/Models/MotionBlurModel.cs | 47 - .../Runtime/Models/MotionBlurModel.cs.meta | 19 - .../Runtime/Models/ScreenSpaceReflectionModel.cs | 140 - .../Models/ScreenSpaceReflectionModel.cs.meta | 19 - .../PostProcessing/Runtime/Models/UserLutModel.cs | 43 - .../Runtime/Models/UserLutModel.cs.meta | 19 - .../Runtime/Models/VignetteModel.cs | 78 - .../Runtime/Models/VignetteModel.cs.meta | 19 - .../Runtime/PostProcessingBehaviour.cs | 470 - .../Runtime/PostProcessingBehaviour.cs.meta | 19 - .../Runtime/PostProcessingComponent.cs | 58 - .../Runtime/PostProcessingComponent.cs.meta | 19 - .../Runtime/PostProcessingContext.cs | 60 - .../Runtime/PostProcessingContext.cs.meta | 19 - .../PostProcessing/Runtime/PostProcessingModel.cs | 27 - .../Runtime/PostProcessingModel.cs.meta | 19 - .../Runtime/PostProcessingProfile.cs | 68 - .../Runtime/PostProcessingProfile.cs.meta | 19 - .../무지B/PostProcessing/Runtime/Utils.meta | 9 - .../Runtime/Utils/ColorGradingCurve.cs | 64 - .../Runtime/Utils/ColorGradingCurve.cs.meta | 19 - .../PostProcessing/Runtime/Utils/GraphicsUtils.cs | 144 - .../Runtime/Utils/GraphicsUtils.cs.meta | 19 - .../Runtime/Utils/MaterialFactory.cs | 52 - .../Runtime/Utils/MaterialFactory.cs.meta | 19 - .../Runtime/Utils/RenderTextureFactory.cs | 64 - .../Runtime/Utils/RenderTextureFactory.cs.meta | 19 - .../@실내/무지B/PostProcessing/Utilities.meta | 5 +- .../Utilities/CustomMotionTexture.meta | 5 +- .../CustomMotionVectorDebugProfile.asset | 345 - .../CustomMotionVectorDebugProfile.asset.meta | 15 - .../CustomMotionTexture/ExampleScene.unity.meta | 12 +- .../ExampleSceneSettings.lighting | 63 - .../ExampleSceneSettings.lighting.meta | 8 - .../CustomMotionTexture/ExampleWheelController.cs | 33 - .../ExampleWheelController.cs.meta | 19 - .../Utilities/CustomMotionTexture/Materials.meta | 9 - .../Materials/DebugMotionVectors.mat | 82 - .../Materials/DebugMotionVectors.mat.meta | 15 - .../CustomMotionTexture/Materials/DebugQuad.mat | 82 - .../Materials/DebugQuad.mat.meta | 15 - .../CustomMotionTexture/Materials/UVChecker.mat | 77 - .../Materials/UVChecker.mat.meta | 15 - .../Materials/WheelMotionVectors.mat | 82 - .../Materials/WheelMotionVectors.mat.meta | 15 - .../Utilities/CustomMotionTexture/Models.meta | 5 +- .../Models/WheelMovecs.FBX.meta | 70 +- .../Utilities/CustomMotionTexture/Shaders.meta | 9 - .../Shaders/CustomMotionVectorTexture.shader | 70 - .../Shaders/CustomMotionVectorTexture.shader.meta | 16 - .../Utilities/CustomMotionTexture/Textures.meta | 5 +- .../Textures/DebugMotionVectors.png.meta | 78 +- .../Textures/UVChecker.png.meta | 80 +- .../Textures/WheelMotionVectors.png.meta | 80 +- .../Background/@실내/무지B/Scripts.meta | 8 - .../@실내/무지B/Scripts/ImageText.cs | Bin 1188 -> 0 bytes .../@실내/무지B/Scripts/ImageText.cs.meta | 11 - .../@실내/무지B/Scripts/InteractiveObject.cs | 53 - .../무지B/Scripts/InteractiveObject.cs.meta | 11 - .../@실내/무지B/Scripts/crosshairRaycast.cs | 32 - .../무지B/Scripts/crosshairRaycast.cs.meta | 11 - .../Background/@실내/무지B/Sounds.meta | 2 +- .../@실내/무지B/Sounds/door close.wav.meta | 7 +- .../@실내/무지B/Sounds/door open.wav.meta | 7 +- .../무지C/Source/Animations/AnimationTrigger.cs | 35 - .../Source/Animations/AnimationTrigger.cs.meta | 11 - .../Source/Animations/DisplayCurrentAnimation.cs | 24 - .../Animations/DisplayCurrentAnimation.cs.meta | 11 - .../@실내/무지C/Source/Animations/FlyCam.cs | 87 - .../무지C/Source/Animations/FlyCam.cs.meta | 11 - .../무지C/Source/Animations/autorotatePied.cs | 22 - .../Source/Animations/autorotatePied.cs.meta | 11 - .../Background/@실내/학교B/Setting.meta | 8 - .../학교B/Setting/DoubleSideOpaque.shader | 158 - .../학교B/Setting/DoubleSideOpaque.shader.meta | 16 - .../Setting/DoubleSideOpaqueRenderFeature.cs | 20 - .../Setting/DoubleSideOpaqueRenderFeature.cs.meta | 18 - .../학교B/Setting/DoubleSideRenderPass.cs | 51 - .../학교B/Setting/DoubleSideRenderPass.cs.meta | 18 - .../학교B/Setting/URP_HighFidelity.asset | 136 - .../학교B/Setting/URP_HighFidelity.asset.meta | 15 - .../Setting/URP_HighFidelity_Renderer.asset | 76 - .../Setting/URP_HighFidelity_Renderer.asset.meta | 15 - .../UniversalRenderPipelineGlobalSettings.asset | 27 - ...iversalRenderPipelineGlobalSettings.asset.meta | 15 - .../[dlnk Script Library]/Basic Scripts.meta | 8 - .../Basic Scripts/Camera.meta | 8 - .../Basic Scripts/Camera/CameraOrbit.cs | 57 - .../Basic Scripts/Camera/CameraOrbit.cs.meta | 19 - .../Basic Scripts/Camera/CameraOrbitCollision.cs | 67 - .../Camera/CameraOrbitCollision.cs.meta | 19 - .../Basic Scripts/Elevator.meta | 8 - .../Basic Scripts/Elevator/ChildOnCollision.cs | 115 - .../Elevator/ChildOnCollision.cs.meta | 19 - .../Basic Scripts/Elevator/Elevator.cs | 86 - .../Basic Scripts/Elevator/Elevator.cs.meta | 19 - .../Basic Scripts/Elevator/FloorChangeTrigger.cs | 64 - .../Elevator/FloorChangeTrigger.cs.meta | 19 - .../Basic Scripts/Lights.meta | 8 - .../Basic Scripts/Lights/LightGroupController.cs | 128 - .../Lights/LightGroupController.cs.meta | 19 - .../Basic Scripts/Lights/LightTilt.cs | 89 - .../Basic Scripts/Lights/LightTilt.cs.meta | 20 - .../Basic Scripts/Lights/ScaleInLightmapSetter.cs | 38 - .../Lights/ScaleInLightmapSetter.cs.meta | 19 - .../[dlnk Script Library]/Basic Scripts/Misc.meta | 8 - .../Basic Scripts/Misc/ChangeMaterials.cs | 68 - .../Basic Scripts/Misc/ChangeMaterials.cs.meta | 19 - .../Basic Scripts/Misc/CharControlSimple.cs | 104 - .../Basic Scripts/Misc/CharControlSimple.cs.meta | 19 - .../Basic Scripts/Misc/DisableMeshRenderer.cs | 38 - .../Misc/DisableMeshRenderer.cs.meta | 19 - .../Basic Scripts/Misc/ObjectRemover.cs | 17 - .../Basic Scripts/Misc/ObjectRemover.cs.meta | 19 - .../Basic Scripts/Misc/OnTriggerActivator.cs | 30 - .../Basic Scripts/Misc/OnTriggerActivator.cs.meta | 19 - .../Basic Scripts/Misc/RandomObjectSpawner.cs | 101 - .../Misc/RandomObjectSpawner.cs.meta | 19 - .../Basic Scripts/Misc/TextureChanger.cs | 96 - .../Basic Scripts/Misc/TextureChanger.cs.meta | 19 - .../Basic Scripts/Transform.meta | 8 - .../Basic Scripts/Transform/Compass.cs | 31 - .../Basic Scripts/Transform/Compass.cs.meta | 21 - .../Basic Scripts/Transform/MovementController.cs | 73 - .../Transform/MovementController.cs.meta | 19 - .../Basic Scripts/Transform/NoisyShakeMovement.cs | 37 - .../Transform/NoisyShakeMovement.cs.meta | 19 - .../Basic Scripts/Transform/SmoothMover.cs | 101 - .../Basic Scripts/Transform/SmoothMover.cs.meta | 19 - .../Transform/SmoothMoverRigidbody.cs | 117 - .../Transform/SmoothMoverRigidbody.cs.meta | 19 - .../[dlnk Script Library]/Tools.meta | 8 - .../[dlnk Script Library]/Tools/Editor.meta | 8 - .../Tools/Editor/HierachyClonerTool.cs | 111 - .../Tools/Editor/HierachyClonerTool.cs.meta | 18 - .../Tools/Editor/HierarchyOrganizer.cs | 328 - .../Tools/Editor/HierarchyOrganizer.cs.meta | 18 - .../Tools/Editor/LightSettingsTool.cs | 113 - .../Tools/Editor/LightSettingsTool.cs.meta | 18 - .../Tools/Editor/ParentCreatorTool.cs | 85 - .../Tools/Editor/ParentCreatorTool.cs.meta | 18 - .../Tools/Editor/ReplacePrefabsTool.cs | 451 - .../Tools/Editor/ReplacePrefabsTool.cs.meta | 18 - .../Tools/Editor/SearchAndDestory.cs | 107 - .../Tools/Editor/SearchAndDestory.cs.meta | 18 - .../Tools/MaterialSwitcher.cs | 231 - .../Tools/MaterialSwitcher.cs.meta | 18 - .../Tools/MaterialSwitcherByTexture.cs | 108 - .../Tools/MaterialSwitcherByTexture.cs.meta | 18 - .../[dlnk Script Library]/Tools/PrefabSelector.cs | 162 - .../Tools/PrefabSelector.cs.meta | 18 - .../Source/Editor Resources/Trigger_map.png.meta | 69 +- .../Source/Editor Resources/Trigger_map2.png.meta | 71 +- .../TopDown Wizard/Source/Materials.meta | 8 - .../Source/Materials/ActiveTrigger.mat | 78 - .../Source/Materials/ActiveTrigger.mat.meta | 16 - .../TopDown Wizard/Source/Materials/CShadow.mat | 80 - .../Source/Materials/CShadow.mat.meta | 16 - .../TopDown Wizard/Source/Materials/ZTrigger.mat | 102 - .../Source/Materials/ZTrigger.mat.meta | 16 - .../TopDown Wizard/Source/Scripts.meta | 8 - .../Source/Scripts/ActiveElements.meta | 8 - .../Source/Scripts/ActiveElements/ActiveAnim.cs | 82 - .../Scripts/ActiveElements/ActiveAnim.cs.meta | 19 - .../Source/Scripts/ActiveElements/ActiveColGo.cs | 40 - .../Scripts/ActiveElements/ActiveColGo.cs.meta | 19 - .../Scripts/ActiveElements/ActiveEnableGo.cs | 67 - .../Scripts/ActiveElements/ActiveEnableGo.cs.meta | 19 - .../Scripts/ActiveElements/ActiveMaterial.cs | 130 - .../Scripts/ActiveElements/ActiveMaterial.cs.meta | 19 - .../Scripts/ActiveElements/ActiveTransform.cs | 135 - .../ActiveElements/ActiveTransform.cs.meta | 19 - .../TopDown Wizard/Source/Scripts/Editor.meta | 8 - .../Source/Scripts/Editor/GroupCheck.cs | 18 - .../Source/Scripts/Editor/GroupCheck.cs.meta | 19 - .../Editor/TDActiveElementCustinspector.cs | 82 - .../Editor/TDActiveElementCustinspector.cs.meta | 19 - .../Source/Scripts/Editor/TDLevelCreator.cs | 57 - .../Source/Scripts/Editor/TDLevelCreator.cs.meta | 19 - .../Scripts/Editor/TDgroupcustomInspector.cs | 18 - .../Scripts/Editor/TDgroupcustomInspector.cs.meta | 19 - .../Scripts/Editor/TDlevelcreatorcustinsp.cs | 19 - .../Scripts/Editor/TDlevelcreatorcustinsp.cs.meta | 19 - .../Scripts/Editor/TDlevelcustomInspector.cs | 19 - .../Scripts/Editor/TDlevelcustomInspector.cs.meta | 19 - .../Source/Scripts/Editor/TDscenecustinsp.cs | 21 - .../Source/Scripts/Editor/TDscenecustinsp.cs.meta | 19 - .../Scripts/Editor/TDzonecustomInspector.cs | 59 - .../Scripts/Editor/TDzonecustomInspector.cs.meta | 19 - .../Source/Scripts/TDActiveElement.cs | 82 - .../Source/Scripts/TDActiveElement.cs.meta | 19 - .../Source/Scripts/TDCameraSwitchKey.cs | 67 - .../Source/Scripts/TDCameraSwitchKey.cs.meta | 19 - .../TopDown Wizard/Source/Scripts/TDGroup.cs | 59 - .../TopDown Wizard/Source/Scripts/TDGroup.cs.meta | 19 - .../TopDown Wizard/Source/Scripts/TDLevel.cs | 61 - .../TopDown Wizard/Source/Scripts/TDLevel.cs.meta | 19 - .../TopDown Wizard/Source/Scripts/TDScene.cs | 47 - .../TopDown Wizard/Source/Scripts/TDScene.cs.meta | 24 - .../TopDown Wizard/Source/Scripts/TDZone.cs | 320 - .../TopDown Wizard/Source/Scripts/TDZone.cs.meta | 19 - .../Source/Scripts/TDZoneTrigger.cs | 47 - .../Source/Scripts/TDZoneTrigger.cs.meta | 19 - .../_DLNK Libraries/[dlnk Shader Library].meta | 8 - .../[dlnk Shader Library]/[ASE Shaders].meta | 8 - .../[ASE Shaders]/Nature.meta | 8 - .../[ASE Shaders]/Nature/LeavesAnim.shader | 265 - .../[ASE Shaders]/Nature/LeavesAnim.shader.meta | 18 - .../[ASE Shaders]/Nature/WaterSimple.shader | 234 - .../[ASE Shaders]/Nature/WaterSimple.shader.meta | 17 - .../[ASE Shaders]/Special.meta | 8 - .../[ASE Shaders]/Special/TransShadow.shader | 125 - .../[ASE Shaders]/Special/TransShadow.shader.meta | 17 - .../Background/@야외/자연01/Shaders.meta | 8 - .../자연01/Shaders/TFF_Board_Cutout.shader | 1856 -- .../자연01/Shaders/TFF_Board_Cutout.shader.meta | 9 - .../자연01/Shaders/TFF_CustomGrass.shader | 2185 -- .../자연01/Shaders/TFF_CustomGrass.shader.meta | 9 - .../자연01/Shaders/TFF_CustomToon.shader | 1999 -- .../자연01/Shaders/TFF_CustomToon.shader.meta | 9 - .../자연01/Shaders/TFF_CustomToonOutline.shader | 2284 -- .../Shaders/TFF_CustomToonOutline.shader.meta | 9 - .../Shaders/TFF_CustomToonVegetation.shader | 2163 -- .../Shaders/TFF_CustomToonVegetation.shader.meta | 9 - .../@야외/자연01/Shaders/TFF_ToonFire.shader | 1971 -- .../자연01/Shaders/TFF_ToonFire.shader.meta | 9 - .../@야외/자연01/Shaders/TFF_ToonWater.shader | 2555 --- .../자연01/Shaders/TFF_ToonWater.shader.meta | 9 - .../Background/@야외/자연B/Scripts.meta | 2 +- .../@야외/자연B/Scripts/Cameras.meta | 2 +- .../Scripts/Cameras/CameraGuidelines.txt.meta | 11 +- .../@야외/자연B/Scripts/Cameras/MoveCamera.cs | 18 - .../자연B/Scripts/Cameras/MoveCamera.cs.meta | 18 - .../@야외/자연B/Scripts/Cameras/Prefabs.meta | 4 +- .../Cameras/Prefabs/FreeLookCameraRig.prefab.meta | 9 +- .../@야외/자연B/Scripts/Cameras/Scripts.meta | 6 - .../Cameras/Scripts/AbstractTargetFollower.cs | 104 - .../Scripts/AbstractTargetFollower.cs.meta | 16 - .../Scripts/Cameras/Scripts/FreeLookCam.cs | 115 - .../Scripts/Cameras/Scripts/FreeLookCam.cs.meta | 16 - .../Cameras/Scripts/PivotBasedCameraRig.cs | 28 - .../Cameras/Scripts/PivotBasedCameraRig.cs.meta | 18 - .../@야외/자연B/Scripts/Editor.meta | 8 - .../자연B/Scripts/Editor/RendeTextureEditor.cs | 23 - .../Scripts/Editor/RendeTextureEditor.cs.meta | 18 - .../@야외/자연B/Scripts/RenderTextureBaker.cs | 161 - .../자연B/Scripts/RenderTextureBaker.cs.meta | 18 - .../Background/@야외/자연B/Shaders.meta | 8 - .../@야외/자연B/Shaders/ASBledingGrass.shader | 1043 - .../자연B/Shaders/ASBledingGrass.shader.meta | 17 - .../@야외/자연B/Shaders/ASBledingPlant.shader | 1183 - .../자연B/Shaders/ASBledingPlant.shader.meta | 17 - .../@야외/자연B/Shaders/ASBledingRock.shader | 1010 - .../자연B/Shaders/ASBledingRock.shader.meta | 17 - .../@야외/자연B/Shaders/ASBledingTrunk.shader | 988 - .../자연B/Shaders/ASBledingTrunk.shader.meta | 17 - .../자연B/Shaders/ASFolliage Standard.shader | 3968 ---- .../Shaders/ASFolliage Standard.shader.meta | 16 - .../@야외/자연B/Shaders/ASFolliage.shader | 2049 -- .../자연B/Shaders/ASFolliage.shader.meta | 16 - .../@야외/자연B/Shaders/ASRock.shader | 3747 ---- .../@야외/자연B/Shaders/ASRock.shader.meta | 16 - .../@야외/자연B/Shaders/BillBoardGrass.shader | 1051 - .../자연B/Shaders/BillBoardGrass.shader.meta | 17 - .../@야외/자연B/Shaders/URPToonLit.shader | 954 - .../자연B/Shaders/URPToonLit.shader.meta | 17 - .../Background/이주인_250419_신전배경.meta | 2 +- .../CityParkExteriorProps.meta | 2 +- .../CityParkExteriorProps/Models.meta | 2 +- .../CityParkExteriorProps/Models/Materials.meta | 8 - .../Models/Materials/cP_Fence02_Mat.mat | 141 - .../Models/Materials/cP_Fence02_Mat.mat.meta | 8 - .../Models/Materials/cP_Pathway_Mat.mat | 141 - .../Models/Materials/cP_Pathway_Mat.mat.meta | 8 - .../Models/Materials/cP_Water_Calm.mat | 309 - .../Models/Materials/cP_Water_Calm.mat.meta | 15 - .../Models/Materials/waterFountainJetFX_Mat.mat | 164 - .../Models/Materials/waterFountainJetFX_Mat.mat.meta | 15 - .../CityParkExteriorProps/Models/Update v2.meta | 2 +- .../Models/Update v2/Materials.meta | 8 - .../Update v2/Materials/cP_FountainAreaCircle01_Mat.mat | 142 - .../Materials/cP_FountainAreaCircle01_Mat.mat.meta | 8 - .../Materials/cP_FountainAreaCircle01_Mat02.mat | 143 - .../Materials/cP_FountainAreaCircle01_Mat02.mat.meta | 8 - .../Materials/cP_FountainAreaCircle01_Mat03.mat | 146 - .../Materials/cP_FountainAreaCircle01_Mat03.mat.meta | 8 - .../Materials/cP_FountainAreaCircle01_Mat04.mat | 137 - .../Materials/cP_FountainAreaCircle01_Mat04.mat.meta | 8 - .../Update v2/Materials/cP_WaterFountain02_Mat.mat | 140 - .../Update v2/Materials/cP_WaterFountain02_Mat.mat.meta | 8 - .../Materials/cP_WaterFountain02_Mat02.mat.meta | 8 - .../Update v2/Materials/cP_WaterFountain02_Mat3.mat | 137 - .../Materials/cP_WaterFountain02_Mat3.mat.meta | 8 - .../Models/Update v2/cP_FountainAreaCircle01.fbx.meta | 73 +- .../Models/Update v2/cP_WaterFountain02.fbx.meta | 73 +- .../CityParkExteriorProps/Models/cP_Fence02.fbx.meta | 88 +- .../Models/cP_Pathway04_04.fbx.meta | 88 +- .../Models/cP_Pathway04_05.fbx.meta | 88 +- .../CityParkExteriorProps/Models/colliders.meta | 2 +- .../Models/colliders/cP_Pathway_Collider.fbx.meta | 119 +- .../Models/colliders/cP_Update01_Colliders.fbx.meta | 293 +- .../CityParkExteriorProps/Shaders.meta | 2 +- .../CityParkExteriorProps/Shaders/Water Shader.meta | 2 +- .../Shaders/Water Shader/cP_noise_clouds_01_N.png.meta | 64 +- .../CityParkExteriorProps/Textures.meta | 2 +- .../CityParkExteriorProps/Textures/Tiling.meta | 2 +- .../CityParkExteriorProps/Textures/Tiling/Cement.meta | 2 +- .../Textures/Tiling/Cement/CleanCement_diffuse.png.meta | 107 +- .../Tiling/Cement/CleanCement_diffuse_AO.png.meta | 67 +- .../Textures/Tiling/Cement/CleanCement_normal.png.meta | 111 +- .../Tiling/Cement/CleanCement_specular.tga.meta | 107 +- .../CityParkExteriorProps/Textures/Tiling/Concrete.meta | 2 +- .../Tiling/Concrete/Concrete_Rough_normal.png.meta | 111 +- .../Tiling/Concrete/Concrete_Rough_specular.tga.meta | 107 +- .../Tiling/Concrete/Concrete_normal_1k.png.meta | 111 +- .../Concrete/WornPaintedConcrete_diffuse_1k.png.meta | 107 +- .../Tiling/Concrete/concrete_Smooth_Albedo.png.meta | 38 +- .../Tiling/Concrete/concrete_Smooth_Mask.png.meta | 40 +- .../Tiling/Concrete/concrete_Smooth_Normal.png.meta | 42 +- .../CityParkExteriorProps/Textures/Tiling/Dirt.meta | 2 +- .../Textures/Tiling/Dirt/Dirt_Dirt_ao.png.meta | 51 +- .../Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png.meta | 47 +- .../Textures/Tiling/Dirt/Dirt_Dirt_normal.png.meta | 59 +- .../Textures/Tiling/Dirt/Dirt_Dirt_specular.tga.meta | 51 +- .../Textures/Tiling/Dirt/Dirt_Sand_diffuse.png.meta | 47 +- .../Textures/Tiling/Dirt/Dirt_Sand_normal.png.meta | 59 +- .../CityParkExteriorProps/Textures/Tiling/Metal.meta | 2 +- .../Tiling/Metal/Metal_Scratched_diffuse.png.meta | 107 +- .../Tiling/Metal/Metal_Scratched_normal.png.meta | 111 +- .../Tiling/Metal/Metal_Scratched_specular.tga.meta | 107 +- .../Tiling/Metal/metal_Cobalt_specular.tif.meta | 107 +- .../Metal/metal_DullParkerization_normal.png.meta | 111 +- .../Metal/metal_DullParkerization_specular.tif.meta | 107 +- .../Textures/Tiling/Porcelain.meta | 2 +- .../Tiling/Porcelain/Porcelain_specular_1k.tga.meta | 105 +- .../CityParkExteriorProps/Textures/Tiling/Rock.meta | 2 +- .../Tiling/Rock/Rock_StoneStatue_normal.png.meta | 109 +- .../CityParkExteriorProps/Textures/Tiling/water.meta | 2 +- .../Textures/Tiling/water/WaterPlain0017_1_N.png.meta | 109 +- .../Textures/Tiling/water/WaterPlain0017_1_S.tga.meta | 105 +- .../Textures/Tiling/water/WaterPlain0031_1_S.jpg.meta | 98 +- .../Textures/Tiling/water/WaterPlain0031_1_S.tif.meta | 59 +- .../CityParkExteriorProps/Textures/masks.meta | 2 +- .../Textures/masks/DifferenceCloud002_d.tga.meta | 107 +- .../Textures/masks/DifferenceCloud006_d.tga.meta | 107 +- .../Textures/masks/DifferenceCloud007_d.tga.meta | 107 +- .../Textures/masks/Mask02_d.tga.meta | 109 +- .../Textures/masks/Streaks_d04.tga.meta | 109 +- .../Textures/masks/cP_noise_clouds_01.png.meta | 107 +- .../Textures/masks/fx_smoke_01_d.tif.meta | 67 +- .../CityParkExteriorProps/Universal Materials.meta | 8 - .../Universal Materials/Cement_CleanCement_MAT.mat | 138 - .../Universal Materials/Cement_CleanCement_MAT.mat.meta | 16 - .../Universal Materials/Concrete_Alt_MAT.mat | 138 - .../Universal Materials/Concrete_Alt_MAT.mat.meta | 16 - .../Universal Materials/Concrete_Smooth_MAT.mat | 138 - .../Universal Materials/Concrete_Smooth_MAT.mat.meta | 16 - .../Universal Materials/Dirt_Dirt_MAT.mat | 138 - .../Universal Materials/Dirt_Dirt_MAT.mat.meta | 16 - .../Universal Materials/Metal_Scratched_MAT.mat | 137 - .../Universal Materials/Metal_Scratched_MAT.mat.meta | 16 - .../Universal Materials/Stone_CastStone_MAT.mat | 137 - .../Universal Materials/Stone_CastStone_MAT.mat.meta | 16 - .../Universal Materials/metal_DullParkerization_MAT.mat | 137 - .../metal_DullParkerization_MAT.mat.meta | 16 - .../CityParkExteriorProps/water_foun.fbx.meta | 10 +- .../이주인_250419_신전배경/HITORI.meta | 2 +- .../이주인_250419_신전배경/HITORI/Materials.meta | 8 - .../HITORI/Materials/firefly.mat | 241 - .../HITORI/Materials/firefly.mat.meta | 8 - .../이주인_250419_신전배경/HITORI/Textures.meta | 2 +- .../HITORI/Textures/firefly_texture.png.meta | 43 +- .../이주인_250419_신전배경/JooIn_room.meta | 2 +- .../JooIn_room/Materials.meta | 2 +- .../JooIn_room/Materials/M_ground_grass.mat | 170 - .../JooIn_room/Materials/M_ground_grass.mat.meta | 8 - .../JooIn_room/Materials/T_ground_grass_D_.png.meta | 67 +- .../JooIn_room/Materials/T_ground_grass_N.png.meta | 71 +- .../이주인_250419_신전배경/Polyart.meta | 2 +- .../Polyart/PolyartStudio.meta | 2 +- .../Polyart/PolyartStudio/DreamscapeMeadows.meta | 2 +- .../PolyartStudio/DreamscapeMeadows/Materials.meta | 8 - .../DreamscapeMeadows/Materials/Foliage.meta | 8 - .../DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat | 164 - .../Materials/Foliage/M_Bushes_01.mat.meta | 8 - .../Materials/Foliage/M_Bushes_Tiling_01.mat | 108 - .../Materials/Foliage/M_Bushes_Tiling_01.mat.meta | 8 - .../Materials/Foliage/M_Flower_Field_02.mat | 177 - .../Materials/Foliage/M_Flower_Field_02.mat.meta | 8 - .../DreamscapeMeadows/Materials/Trees.meta | 8 - .../DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat | 142 - .../Materials/Trees/M_Birch_03_BB.mat.meta | 8 - .../DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat | 151 - .../Materials/Trees/M_Bush_Bark.mat.meta | 8 - .../Materials/Trees/M_TreeBirch_Bark.mat | 152 - .../Materials/Trees/M_TreeBirch_Bark.mat.meta | 8 - .../Materials/Trees/M_TreeBirch_Leaves.mat | 164 - .../Materials/Trees/M_TreeBirch_Leaves.mat.meta | 8 - .../Polyart/PolyartStudio/DreamscapeMeadows/Meshes.meta | 2 +- .../PolyartStudio/DreamscapeMeadows/Meshes/Foliage.meta | 2 +- .../Meshes/Foliage/SM_Bush_01.fbx.meta | 60 +- .../Meshes/Foliage/SM_Bush_02.fbx.meta | 60 +- .../Meshes/Foliage/SM_Bush_04.fbx.meta | 74 +- .../Meshes/Foliage/SM_Bush_09.fbx.meta | 79 +- .../Meshes/Foliage/SM_Bush_Flowers_04.fbx.meta | 80 +- .../PolyartStudio/DreamscapeMeadows/Meshes/Trees.meta | 2 +- .../Meshes/Trees/SM_Birch_03_Unity.fbx.meta | 131 +- .../PolyartStudio/DreamscapeMeadows/Textures.meta | 2 +- .../DreamscapeMeadows/Textures/Foliage.meta | 2 +- .../Textures/Foliage/T_Bush_Trunk_C.png.meta | 53 +- .../Textures/Foliage/T_Bush_Trunk_N.png.meta | 57 +- .../Textures/Foliage/T_Bush_Trunk_R.png.meta | 53 +- .../Textures/Foliage/T_Bushes_01_Tiled.png.meta | 55 +- .../Textures/Foliage/T_Flower_01.png.meta | 55 +- .../Textures/Foliage/T_Flower_Atlas.png.meta | 55 +- .../Textures/Foliage/T_Flower_Atlas_Mask.png.meta | 53 +- .../Textures/Foliage/T_Leaves_Clump_01.png.meta | 55 +- .../PolyartStudio/DreamscapeMeadows/Textures/Trees.meta | 2 +- .../Textures/Trees/T_Birch_03_BB.png.meta | 23 +- .../Textures/Trees/T_Tree_Birch_Rework_C.png.meta | 29 +- .../Textures/Trees/T_Tree_Birch_Rework_N.png.meta | 57 +- .../Textures/Trees/T_Tree_Birch_Rework_R.png.meta | 53 +- .../DreamscapeMeadows/Textures/Utility.meta | 2 +- .../Textures/Utility/T_Noise_02.png.meta | 57 +- .../Polyart/PolyartStudio/SharedResources.meta | 2 +- .../Polyart/PolyartStudio/SharedResources/Shaders.meta | 8 - .../SharedResources/Shaders/Deprecated.meta | 8 - .../Deprecated/Dreamscape_FoliageBillboard.shader | 3360 --- .../Deprecated/Dreamscape_FoliageBillboard.shader.meta | 10 - .../Shaders/Deprecated/Dreamscape_Masked_Lit.shader | 3263 --- .../Deprecated/Dreamscape_Masked_Lit.shader.meta | 10 - .../Shaders/Deprecated/Dreamscape_Surface.shader | 3398 --- .../Shaders/Deprecated/Dreamscape_Surface.shader.meta | 10 - .../Deprecated/Dreamscape_Surface_Coverage.shader | 3857 ---- .../Deprecated/Dreamscape_Surface_Coverage.shader.meta | 10 - .../PolyartStudio/SharedResources/Shaders/Foliage.meta | 8 - .../Shaders/Foliage/PA_OtherFoliage.shader | 4410 ---- .../Shaders/Foliage/PA_OtherFoliage.shader.meta | 11 - .../Shaders/Foliage/PA_TreeWind_CustomLighting.shader | 2603 --- .../Foliage/PA_TreeWind_CustomLighting.shader.meta | 11 - .../Polyart/PolyartStudio/SharedResources/Textures.meta | 2 +- .../PolyartStudio/SharedResources/Textures/Utility.meta | 2 +- .../Textures/Utility/T_Noise_02.png.meta | 48 +- .../Textures/Utility/T_Noise_03.png.meta | 48 +- .../이주인_250419_신전배경/leejooin_3D.meta | 2 +- .../leejooin_3D/test_1.fbx.meta | 10 +- .../leejooin_3D/texture.meta | 2 +- .../leejooin_3D/texture/New Material.mat | 140 - .../leejooin_3D/texture/New Material.mat.meta | 8 - .../leejooin_3D/texture/Simbol_albedo.png.meta | 67 +- .../leejooin_3D/texture/Wall_2_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/Wall_3_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/Wall_4_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/Wall_4_albedo_AO.png.meta | 67 +- .../leejooin_3D/texture/Window_1_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/Window_1_Normal_OpenGL.png.meta | 71 +- .../leejooin_3D/texture/cap2.meta | 2 +- .../leejooin_3D/texture/cap2/cap2.mat | 140 - .../leejooin_3D/texture/cap2/cap2.mat.meta | 8 - .../texture/cap2/standardSurface1_Base_color.png.meta | 67 +- .../texture/cap2/standardSurface1_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/caps.meta | 2 +- .../leejooin_3D/texture/caps/caps.mat | 142 - .../leejooin_3D/texture/caps/caps.mat.meta | 8 - .../caps/standardSurface1_Base_color_AO.png.meta | 67 +- .../texture/caps/standardSurface1_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/floor.meta | 2 +- .../leejooin_3D/texture/floor/floor.mat | 142 - .../leejooin_3D/texture/floor/floor.mat.meta | 8 - .../texture/floor/standardSurface1_Base_color.png.meta | 67 +- .../floor/standardSurface1_Base_color_albedo.png.meta | 67 +- .../texture/floor/standardSurface1_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/pillar.meta | 2 +- .../leejooin_3D/texture/pillar/New Material.mat | 143 - .../leejooin_3D/texture/pillar/New Material.mat.meta | 8 - .../texture/pillar/Simbol_Base_color.png.meta | 67 +- .../leejooin_3D/texture/pillar/Simbol_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/pillar/pillar.mat | 141 - .../leejooin_3D/texture/pillar/pillar.mat.meta | 8 - .../texture/pillar/pillar_Simbol_Normal.png.meta | 71 +- .../pillar/pillar_standardSurface1_Albedo_ao.png.meta | 67 +- .../pillar/pillar_standardSurface1_Normal.png.meta | 71 +- .../pillar_standardSurface1_SpecularSmoothness.png.meta | 67 +- .../texture/pillar/wood_Base_color_ao.png.meta | 67 +- .../texture/standardSurface1_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/tenchou.meta | 2 +- .../tenchou/standardSurface1_Base_color_ao.png.meta | 67 +- .../texture/tenchou/standardSurface1_Mixed_AO.png.meta | 67 +- .../tenchou/standardSurface1_Normal_OpenGL.png.meta | 71 +- .../leejooin_3D/texture/tenchou/tenchou_wheel.mat | 141 - .../leejooin_3D/texture/tenchou/tenchou_wheel.mat.meta | 8 - .../leejooin_3D/texture/tenjou2.meta | 2 +- .../tenjou2/standardSurface1_Base_color_ao.png.meta | 67 +- .../texture/tenjou2/standardSurface1_Mixed_AO.png.meta | 67 +- .../texture/tenjou2/standardSurface1_Roughness.png.meta | 67 +- .../leejooin_3D/texture/tenjou2/tenjou2.mat | 144 - .../leejooin_3D/texture/tenjou2/tenjou2.mat.meta | 8 - .../leejooin_3D/texture/tenjou3.meta | 2 +- .../tenjou3/standardSurface1_Base_color.png.meta | 67 +- .../texture/tenjou3/standardSurface1_Mixed_AO.png.meta | 67 +- .../texture/tenjou3/standardSurface1_Roughness.png.meta | 67 +- .../leejooin_3D/texture/tenjou3/tenjou3.mat | 140 - .../leejooin_3D/texture/tenjou3/tenjou3.mat.meta | 8 - .../leejooin_3D/texture/wall2.mat | 143 - .../leejooin_3D/texture/wall2.mat.meta | 8 - .../leejooin_3D/texture/wall_2_albedo_ao.png.meta | 67 +- .../leejooin_3D/texture/wall_3.mat | 143 - .../leejooin_3D/texture/wall_3.mat.meta | 8 - .../leejooin_3D/texture/wall_3_albedo_AO_re.png.meta | 67 +- .../leejooin_3D/texture/wall_4.mat | 137 - .../leejooin_3D/texture/wall_4.mat.meta | 8 - .../texture/wall_for_texture_Simbol_Normal.png.meta | 71 +- .../texture/wall_for_texture_Wall_2_Normal.png.meta | 71 +- .../wall_for_texture_Wall_2_SpecularSmoothness.png.meta | 67 +- .../texture/wall_for_texture_Wall_3_Normal.png.meta | 71 +- .../wall_for_texture_Wall_3_SpecularSmoothness.png.meta | 67 +- .../texture/wall_for_texture_Wall_4_Normal.png.meta | 71 +- .../wall_for_texture_Wall_4_SpecularSmoothness.png.meta | 67 +- .../texture/wall_for_texture_wood_Normal.png.meta | 71 +- .../wall_for_texture_wood_SpecularSmoothness.png.meta | 67 +- .../leejooin_3D/texture/water_f.meta | 2 +- .../water_f/cP_WaterFountain_Mat_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/window.mat | 147 - .../leejooin_3D/texture/window.mat.meta | 8 - .../leejooin_3D/texture/wood.mat | 143 - .../leejooin_3D/texture/wood.mat.meta | 8 - .../leejooin_3D/texture/wood.meta | 2 +- .../leejooin_3D/texture/wood/New Material.mat | 143 - .../leejooin_3D/texture/wood/New Material.mat.meta | 8 - .../texture/wood/standardSurface1_Mixed_AO.png.meta | 67 +- .../wood/standardSurface1_Normal_OpenGL.png.meta | 71 +- .../wood/standardSurface2_Base_color_AO.png.meta | 67 +- .../leejooin_3D/texture/wood_Mixed_AO.png.meta | 67 +- .../leejooin_3D/texture/wood_albedo.png.meta | 67 +- .../이주인_250419_신전배경/전달용.prefab.meta | 2 +- .../이주인_250419_신전배경/전달용.unity.meta | 2 +- .../Project/이주인_250419_나오.meta | 2 +- .../Ani_이주인_나오_01.fbx.meta | 792 +- ...나오_01_Biped_Edit_2025_04_19_22_32_57_Clip.anim.meta | 4 +- ...나오_01_Biped_Edit_2025_04_19_22_33_23_Clip.anim.meta | 4 +- .../Project/이주인_250419_나오/jooin_m.fbx.meta | 6797 +----- .../이주인_250419_나오_신전.unity.meta | 2 +- .../이주인_250419_나오_신전_Timeline.playable | 2869 --- .../이주인_250419_나오_신전_Timeline.playable.meta | 8 - .../이주인님_마비노기.fbx.meta | 7 +- .../티바살콘배경/noribenBeamlight/Shaders.meta | 8 - .../noribenBeamlight/Shaders/noribenBeamLight.shader | 325 - .../noribenBeamlight/Shaders/noribenBeamLight.shader.meta | 8 - .../유리나_250925_호시아이MV_Timeline.playable | 2 +- .../콘서트장/유리나_250925_호시아이MV_콘서트장.unity | 4 +- .../Editor/MMDLoader/Private/ModelAgent.cs | 4 +- .../XFileImporter/Private/XFileConverter.cs | 13 +- .../XFileImporter/Private/XFileImporter.cs | 4 +- .../Scripts/MultiUnitypackageInstaller.cs | 122 - .../MultiUnitypackageInstaller.cs.meta | 11 - .../CinemachineBeautifyVolumeSettings.cs | 6 +- .../MaterialAndTextureCollectorWindow.cs | 10 +- Assets/Settings/DefaultVolumeProfile.asset | 806 + Assets/Settings/PC_Renderer.asset | 7 +- ...niversalRenderPipelineGlobalSettings.asset | 46 +- .../com.mibdev.fullscreen-editor/package.json | 3 + .../package.json.meta | 14 + Packages/manifest.json | 2 +- Packages/packages-lock.json | 4 +- ProjectSettings/PackageManagerSettings.asset | 9 +- ProjectSettings/ProjectSettings.asset | 7 +- ProjectSettings/ProjectVersion.txt | 4 +- ProjectSettings/VFXManager.asset | 1 + 1714 files changed, 37317 insertions(+), 129196 deletions(-) delete mode 100644 Assets/External/EVMC4U/CameraReceiver.cs delete mode 100644 Assets/External/EVMC4U/CameraReceiver.cs.meta delete mode 100644 Assets/External/EVMC4U/CommunicationValidator.cs delete mode 100644 Assets/External/EVMC4U/CommunicationValidator.cs.meta delete mode 100644 Assets/External/EVMC4U/DeviceReceiver.cs delete mode 100644 Assets/External/EVMC4U/DeviceReceiver.cs.meta delete mode 100644 Assets/External/EVMC4U/DirectionalLightReceiver.cs delete mode 100644 Assets/External/EVMC4U/DirectionalLightReceiver.cs.meta delete mode 100644 Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs delete mode 100644 Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs.meta delete mode 100644 Assets/External/EVMC4U/Editor/Tutorial.cs delete mode 100644 Assets/External/EVMC4U/Editor/Tutorial.cs.meta delete mode 100644 Assets/External/EVMC4U/ExternalController.cs delete mode 100644 Assets/External/EVMC4U/ExternalController.cs.meta delete mode 100644 Assets/External/EVMC4U/ExternalReceiver.cs delete mode 100644 Assets/External/EVMC4U/ExternalReceiver.cs.meta delete mode 100644 Assets/External/EVMC4U/InputReceiver.cs delete mode 100644 Assets/External/EVMC4U/InputReceiver.cs.meta delete mode 100644 Assets/External/EVMC4U/LICENSE delete mode 100644 Assets/External/EVMC4U/LICENSE.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/DeviceAttacher.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/FreezeSwitch.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/ObjectSwitch.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/TeleportKit.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/misc.meta delete mode 100644 Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs delete mode 100644 Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs.meta delete mode 100644 Assets/External/EVMC4U/Test.meta delete mode 100644 Assets/External/EVMC4U/Test/AddComponentTest.cs delete mode 100644 Assets/External/EVMC4U/Test/AddComponentTest.cs.meta delete mode 100644 Assets/External/EVMC4U/Test/DaisyChainTesting.cs delete mode 100644 Assets/External/EVMC4U/Test/DaisyChainTesting.cs.meta delete mode 100644 Assets/External/EVMC4U/Test/InputTesting.cs delete mode 100644 Assets/External/EVMC4U/Test/InputTesting.cs.meta delete mode 100644 Assets/External/EVMC4U/class.meta delete mode 100644 Assets/External/EVMC4U/class/EVMC4UeventClass.cs delete mode 100644 Assets/External/EVMC4U/class/EVMC4UeventClass.cs.meta delete mode 100644 Assets/External/EVMC4U/class/EVMC4Ustructs.cs delete mode 100644 Assets/External/EVMC4U/class/EVMC4Ustructs.cs.meta delete mode 100644 Assets/External/EVMC4U/class/ExternalReceiverManager.cs delete mode 100644 Assets/External/EVMC4U/class/ExternalReceiverManager.cs.meta delete mode 100644 Assets/External/EVMC4U/class/IExternalReceiver.cs delete mode 100644 Assets/External/EVMC4U/class/IExternalReceiver.cs.meta create mode 100644 Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs rename Assets/External/Fullscreen/Editor/{Linux/NativeFullscreenHook.cs.meta => EnableGameViewShortcuts.cs.meta} (65%) delete mode 100644 Assets/External/Fullscreen/Editor/Linux.meta delete mode 100644 Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs delete mode 100644 Assets/External/Fullscreen/Editor/Linux/wmctrl.cs delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth PassSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth PassSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Default_ReflectionMat.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections5_InternalBlur.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta delete mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta rename Assets/External/{EVMC4U/SampleScripts/CapsuleRigidbodyMover.meta => PIDI Game Development Framework/Planar Reflections 6.meta} (77%) rename Assets/External/{EVMC4U/SampleScripts.meta => PIDI Game Development Framework/Planar Reflections 6/Additional Resources.meta} (77%) rename Assets/External/{EVMC4U/SampleScripts/CCCameraControl.meta => PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes.meta} (77%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage.meta rename Assets/External/{EVMC4U/SampleScripts/CalibrationByController.meta => PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample.meta} (77%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs rename Assets/External/{Fullscreen/Editor/Linux/wmctrl.cs.meta => PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs.meta} (50%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Demo Scenes/Universal Rendering Pipeline/Materials.meta (100%) rename Assets/{Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat => External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat} (91%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat (96%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/WaterDemo_Terrain.asset create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/WaterDemo_Terrain.asset.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Documentation.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Documentation/Planar Reflections 6 - Documentation.pdf create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Documentation/Planar Reflections 6 - Documentation.pdf.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Shared Assets/Internal Resources/Default_ReflectionMat.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Default_ReflectionMat.mat.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Icon.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Icon.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Internal_PlanarReflector.prefab create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Internal_PlanarReflector.prefab.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader => Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_ReflectionOnly.shader} (88%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_ReflectionOnly.shader.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat => Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_WorldBasedFog.mat} (93%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_WorldBasedFog.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader => Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_WorldBasedFog.shader} (83%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PIDI_PlanarReflections_WorldBasedFog.shader.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader (97%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections5_InternalBlur.mat => Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_InternalBlur.mat} (74%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_InternalBlur.mat.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Source Code => Planar Reflections 6/Source Code/Core}/PlanarReflectionCaster.cs (78%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Source Code => Planar Reflections 6/Source Code/Core}/PlanarReflectionCaster.cs.meta (64%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Source Code => Planar Reflections 6/Source Code/Core}/PlanarReflectionRenderer.cs.meta (74%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs.meta rename Assets/External/{_StudioKafka/MeshSyncPro => PIDI Game Development Framework/Planar Reflections 6/Source Code}/Editor.meta (77%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarAPI.cs (97%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarAPI.cs.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarReflectionCaster_Editor.cs (94%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta (63%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarReflectionRenderer_Editor.cs (51%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta (63%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef => Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef} (91%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Source Code/PlanarReflections5.asmdef => Planar Reflections 6/Source Code/PlanarReflections6.asmdef} (91%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline.meta (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Fog Pass.meta (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders.meta (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes.meta => Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes.meta} (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes => Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes}/PBR-Like Reflections.shadersubgraph (96%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes => Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes}/PBR-Like Reflections.shadersubgraph.meta (51%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes => Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes}/ReflectionUVs.shadersubgraph (77%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes => Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes}/ReflectionUVs.shadersubgraph.meta (52%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR.meta (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph (97%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph (97%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta (54%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph (98%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph (97%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta (54%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit.meta (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph (95%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph (93%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat (98%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph (92%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat (86%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph (94%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta (53%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph.meta create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water.meta (100%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat (85%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat (100%) create mode 100644 Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph (98%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta (53%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph (98%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta (52%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph (97%) rename Assets/External/PIDI Game Development Framework/{Planar Reflections 5 => Planar Reflections 6}/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta (53%) delete mode 100644 Assets/External/V_Utility/vFolders/VFolders.asmdef delete mode 100644 Assets/External/V_Utility/vFolders/VFolders.asmdef.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFolders.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFolders.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersCache.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersCache.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersController.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersController.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersData.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersData.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersGUI.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersGUI.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersHistory.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersHistory.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersLibs.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersLibs.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersMenu.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersMenu.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersNavbar.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersNavbar.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPalette.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPalette.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs delete mode 100644 Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs.meta delete mode 100644 Assets/External/V_Utility/vFolders/vFolders Data.asset delete mode 100644 Assets/External/V_Utility/vFolders/vFolders Data.asset.meta delete mode 100644 Assets/External/_StudioKafka.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs.meta delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs delete mode 100644 Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader delete mode 100644 Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/ImageText.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/ImageText.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/InteractiveObject.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/InteractiveObject.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs delete mode 100644 Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs.meta delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs delete mode 100644 Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset.meta delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset delete mode 100644 Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library].meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders].meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special.meta delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader delete mode 100644 Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader delete mode 100644 Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Editor.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs delete mode 100644 Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader.meta delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader delete mode 100644 Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat.meta delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable delete mode 100644 Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable.meta delete mode 100644 Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders.meta delete mode 100644 Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader delete mode 100644 Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader.meta delete mode 100644 Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs delete mode 100644 Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs.meta create mode 100644 Packages/com.mibdev.fullscreen-editor/package.json create mode 100644 Packages/com.mibdev.fullscreen-editor/package.json.meta diff --git a/Assets/External/@OneStar/VideoTimeline/VideoPlayerBehaviour.cs b/Assets/External/@OneStar/VideoTimeline/VideoPlayerBehaviour.cs index 676d4db8a..4059701b5 100644 --- a/Assets/External/@OneStar/VideoTimeline/VideoPlayerBehaviour.cs +++ b/Assets/External/@OneStar/VideoTimeline/VideoPlayerBehaviour.cs @@ -20,7 +20,7 @@ public class VideoPlayerBehaviour : PlayableBehaviour { if (m_Director == null) { - m_Director = Object.FindObjectOfType(); + m_Director = Object.FindFirstObjectByType(); } m_VideoSetup = false; m_WasTimelinePlaying = false; diff --git a/Assets/External/EVMC4U.meta b/Assets/External/EVMC4U.meta index 1c9a74626..e4cafaa73 100644 --- a/Assets/External/EVMC4U.meta +++ b/Assets/External/EVMC4U.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 924dcf858a7652f4b86b7ea3c27247b2 +guid: c0f9c6bc7ebf6894e81e010e5b0b1a94 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/3rdpartylicenses(ExternalReceiverPack).txt.meta b/Assets/External/EVMC4U/3rdpartylicenses(ExternalReceiverPack).txt.meta index cb377a99b..8147f9b57 100644 --- a/Assets/External/EVMC4U/3rdpartylicenses(ExternalReceiverPack).txt.meta +++ b/Assets/External/EVMC4U/3rdpartylicenses(ExternalReceiverPack).txt.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9402b207048258649b4b1c0580e1b73b +guid: e1dcc2931c0e2074eaec24011193d485 TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/External/EVMC4U/CameraReceiver.cs b/Assets/External/EVMC4U/CameraReceiver.cs deleted file mode 100644 index 52477e2e9..000000000 --- a/Assets/External/EVMC4U/CameraReceiver.cs +++ /dev/null @@ -1,194 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - public class CameraReceiver : MonoBehaviour, IExternalReceiver - { - [Header("CameraReceiver v1.1")] - [SerializeField, Label("VMCカメラ制御同期Camera")] - public Camera VMCControlledCamera = null; //VMCカメラ制御同期 - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //Inspector表示用 - -#if EVMC4U_JA - [Header("カメラ手ブレ補正フィルタ")] -#else - [Header("Lowpass Filter Option")] -#endif - [SerializeField, Label("カメラ位置フィルタ(手ブレ補正)")] - public bool CameraPositionFilterEnable = false; //カメラ位置フィルタ(手ブレ補正) - [SerializeField, Label("カメラ回転フィルタ(手ブレ補正)")] - public bool CameraRotationFilterEnable = false; //カメラ回転フィルタ(手ブレ補正) - [SerializeField, Label("カメラフィルタ係数")] - public float CameraFilter = 0.95f; //カメラフィルタ係数 - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[1]; - - private ExternalReceiverManager externalReceiverManager = null; - bool shutdown = false; - - private Vector3 cameraPosFilter = Vector3.zero; - private Quaternion cameraRotFilter = Quaternion.identity; - - //メッセージ処理一時変数struct(負荷対策) - //Vector3 pos; - //Quaternion rot; - - //カメラ情報のキャッシュ - Vector3 cameraPos = Vector3.zero; - Quaternion cameraRot = Quaternion.identity; - float fov = 0; - - void Start() - { - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - StatusMessage = "Waiting for Master..."; - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - void Update() - { - //カメラがセットされているならば - if (VMCControlledCamera != null && VMCControlledCamera.transform != null && fov != 0) - { - CameraFilter = Mathf.Clamp(CameraFilter, 0f, 1f); - - //カメラ移動フィルタ - if (CameraPositionFilterEnable) - { - cameraPosFilter = (cameraPosFilter * CameraFilter) + cameraPos * (1.0f - CameraFilter); - VMCControlledCamera.transform.localPosition = cameraPosFilter; - } - else - { - VMCControlledCamera.transform.localPosition = cameraPos; - } - //カメラ回転フィルタ - if (CameraRotationFilterEnable) - { - cameraRotFilter = Quaternion.Slerp(cameraRotFilter, cameraRot, 1.0f - CameraFilter); - VMCControlledCamera.transform.localRotation = cameraRotFilter; - } - else - { - VMCControlledCamera.transform.localRotation = cameraRot; - } - //FOV同期 - VMCControlledCamera.fieldOfView = fov; - } - } - - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - if (shutdown) - { - return; - } - - StatusMessage = "OK"; - - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) - { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - StatusMessage = "Infinite loop detected!"; - shutdown = true; - } - } - - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - //カメラ姿勢FOV同期 v2.1 - if (message.address == "/VMC/Ext/Cam" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - && (message.values[8] is float) - ) - { - cameraPos.x = (float)message.values[1]; - cameraPos.y = (float)message.values[2]; - cameraPos.z = (float)message.values[3]; - cameraRot.x = (float)message.values[4]; - cameraRot.y = (float)message.values[5]; - cameraRot.z = (float)message.values[6]; - cameraRot.w = (float)message.values[7]; - fov = (float)message.values[8]; - //受信と更新のタイミングは切り離した - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/CameraReceiver.cs.meta b/Assets/External/EVMC4U/CameraReceiver.cs.meta deleted file mode 100644 index 0e21421eb..000000000 --- a/Assets/External/EVMC4U/CameraReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: eddf837c1e0f4a04697b1b68adb4a39f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/CommunicationValidator.cs b/Assets/External/EVMC4U/CommunicationValidator.cs deleted file mode 100644 index c17a65b25..000000000 --- a/Assets/External/EVMC4U/CommunicationValidator.cs +++ /dev/null @@ -1,256 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - public class CommunicationValidator : MonoBehaviour, IExternalReceiver - { - [Header("CommunicationValidator v1.2")] - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //Inspector表示用 - -#if EVMC4U_JA - [Header("UI オプション")] -#else - [Header("UI Option")] -#endif - [SerializeField, Label("画面上に表示する")] - public bool ShowInformation = false; - -#if EVMC4U_JA - [Header("状態モニタ(表示用)")] -#else - [Header("Status Monitor(Read only)")] -#endif - [SerializeField, Label("受信処理再帰呼出し回数")] - private int CallCountMonitor = 0; //Inspector表示用 - - [SerializeField, Label("利用可能")] - public int Available = 0; - [SerializeField, Label("送信側Time")] - public float time = 0; - - [SerializeField, Label("キャリブレーション状態")] - public CalibrationState calibrationState = 0; - [SerializeField, Label("キャリブレーションモード")] - public CalibrationMode calibrationMode = 0; - -#if EVMC4U_JA - [Header("送信側受信状態(表示用)")] -#else - [Header("Receive Status(Read only)")] -#endif - [SerializeField, Label("受信許可")] - public bool ReceiveEnable = false; - [SerializeField, Label("受信ポート")] - public int ReceivePort = 0; - [SerializeField, Label("読み込み済み設定ファイルパス")] - public string LoadedConfigPath = ""; - [SerializeField, Label("背景色")] - public Color backgroundColor = Color.clear; - -#if EVMC4U_JA - [Header("送信側ウィンドウ属性情報")] -#else - [Header("Window Attribute Info(Read only)")] -#endif - [SerializeField, Label("最前面")] - public bool IsTopMost = false; - [SerializeField, Label("透過")] - public bool IsTransparent = false; - [SerializeField, Label("クリックスルー")] - public bool WindowClickThrough = false; - [SerializeField, Label("枠なし")] - public bool HideBorder = false; - - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[1]; - - private ExternalReceiverManager externalReceiverManager = null; - bool shutdown = false; - - readonly Rect rect1 = new Rect(0, 0, 120, 70); - readonly Rect rect2 = new Rect(10, 20, 100, 30); - readonly Rect rect3 = new Rect(10, 40, 100, 300); - - void Start() - { - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - StatusMessage = "Waiting for Master..."; - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - int GetAvailable() - { - return Available; - } - - float GetRemoteTime() - { - return time; - } - - void OnGUI() - { - if (ShowInformation) - { - GUI.TextField(rect1, "ExternalReceiver"); - GUI.Label(rect2, "Available: " + GetAvailable()); - GUI.Label(rect3, "Time: " + GetRemoteTime()); - } - } - - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - if (shutdown) - { - return; - } - - CallCountMonitor = callCount; - StatusMessage = "OK"; - - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) - { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - StatusMessage = "Infinite loop detected!"; - shutdown = true; - } - } - - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - if (message.address == "/VMC/Ext/OK" - && (message.values[0] is int)) - { - Available = (int)message.values[0]; - if (Available == 0) - { - StatusMessage = "Waiting for [Load VRM]"; - } - else { - StatusMessage = "OK"; - } - - //V2.5 キャリブレーション状態(長さ3以上) - if (message.values.Length >= 3) - { - if ((message.values[1] is int) && (message.values[2] is int)) - { - calibrationState = (CalibrationState)message.values[1]; - calibrationMode = (CalibrationMode)message.values[2]; - } - } - } - //データ送信時刻 - else if (message.address == "/VMC/Ext/T" - && (message.values[0] is float)) - { - time = (float)message.values[0]; - } - //V2.4 受信情報 - else if (message.address == "/VMC/Ext/Rcv" - && (message.values[0] is int) - && (message.values[1] is int)) - { - ReceiveEnable = (int)message.values[0] != 0; - ReceivePort = (int)message.values[1]; - } - //V2.4 背景色情報 - else if (message.address == "/VMC/Ext/Setting/Color" - && (message.values[0] is float) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float)) - { - backgroundColor = new Color((float)message.values[0], (float)message.values[1], (float)message.values[2], (float)message.values[3]); - } - //V2.4 ウィンドウ情報 - else if (message.address == "/VMC/Ext/Setting/Win" - && (message.values[0] is int) - && (message.values[1] is int) - && (message.values[2] is int) - && (message.values[3] is int)) - { - IsTopMost = (int)message.values[0] != 0; - IsTransparent = (int)message.values[1] != 0; - WindowClickThrough = (int)message.values[2] != 0; - HideBorder = (int)message.values[3] != 0; - } - //V2.5 読み込み済み設定ファイルパス情報 - else if (message.address == "/VMC/Ext/Config" - && (message.values[0] is string)) - { - LoadedConfigPath = (string)message.values[0]; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/CommunicationValidator.cs.meta b/Assets/External/EVMC4U/CommunicationValidator.cs.meta deleted file mode 100644 index 33c248d11..000000000 --- a/Assets/External/EVMC4U/CommunicationValidator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8a8590b55e73bba4aa42b08101a7cc84 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/DeviceReceiver.cs b/Assets/External/EVMC4U/DeviceReceiver.cs deleted file mode 100644 index f64dbf28d..000000000 --- a/Assets/External/EVMC4U/DeviceReceiver.cs +++ /dev/null @@ -1,333 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - public class DeviceReceiver : MonoBehaviour, IExternalReceiver - { - const int arrayMax = 16; - - [Header("DeviceReceiver v1.1")] - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //Inspector表示用 - [SerializeField, Label("現実のトラッキング位置を反映")] - public bool RealPosition = false; - -#if EVMC4U_JA - [Header("トラッキング設定")] -#else - [Header("Tracking Config")] -#endif - public string[] Serials = new string[arrayMax]; - public Transform[] Transforms = new Transform[arrayMax]; - -#if EVMC4U_JA - [Header("トラッキングデバイス情報モニタ(表示用)")] -#else - [Header("Tracking Device Monitor")] -#endif - public string[] Types = new string[arrayMax]; - public Vector3[] Vector3s = new Vector3[arrayMax]; - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[1]; - - private ExternalReceiverManager externalReceiverManager = null; - bool shutdown = false; - - Dictionary SerialIndexes = new Dictionary(); - int ListIndex = 0; - - //メッセージ処理一時変数struct(負荷対策) - Vector3 pos; - Quaternion rot; - - - void Start() - { - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - StatusMessage = "Waiting for Master..."; - - //モニタ強制 - Types = new string[Serials.Length]; - Vector3s = new Vector3[Serials.Length]; - - //登録処理 - ListIndex = 0; - for (int i = 0; i < Serials.Length; i++) - { - //nullでも空白でもない場合(対象がある場合) - if (Serials[i] != null && Serials[i] != "") - { - //辞書に登録 - SerialIndexes.Add(Serials[i], ListIndex); - //インデックスを更新 - ListIndex++; - } - } - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - if (shutdown) - { - return; - } - - StatusMessage = "OK"; - - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) - { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - StatusMessage = "Infinite loop detected!"; - shutdown = true; - } - } - - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - if (!RealPosition) - { - if (message.address == "/VMC/Ext/Hmd/Pos" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("HMD", (string)message.values[0], pos, rot); - //Debug.Log("HMD pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - // v2.2 - else if (message.address == "/VMC/Ext/Con/Pos" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("Controller", (string)message.values[0], pos, rot); - //Debug.Log("Con pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - // v2.2 - else if (message.address == "/VMC/Ext/Tra/Pos" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("Tracker", (string)message.values[0], pos, rot); - //Debug.Log("Tra pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - } - else { - if (message.address == "/VMC/Ext/Hmd/Pos/Local" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("HMD", (string)message.values[0], pos, rot); - //Debug.Log("HMD pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - // v2.2 - else if (message.address == "/VMC/Ext/Con/Pos/Local" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("Controller", (string)message.values[0], pos, rot); - //Debug.Log("Con pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - // v2.2 - else if (message.address == "/VMC/Ext/Tra/Pos/Local" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - devideUpdate("Tracker", (string)message.values[0], pos, rot); - //Debug.Log("Tra pos " + (string)message.values[0] + " : " + pos + "/" + rot); - } - - } - } - - void devideUpdate(string type, string serial, Vector3 pos, Quaternion rot) - { - //辞書に登録済み - if (SerialIndexes.ContainsKey(serial)) - { - int i = SerialIndexes[serial]; - //配列を更新 - Types[i] = type; - Vector3s[i] = pos; - - if (i < Transforms.Length && Transforms[i] != null) - { - Transforms[i].localPosition = pos; - Transforms[i].localRotation = rot; - } - } - else - { - //最大を超えたら登録しない - if (ListIndex < Serials.Length) - { - //辞書に未登録 - - //辞書に登録 - Serials[ListIndex] = serial; - SerialIndexes.Add(serial, ListIndex); - //インデックスを更新 - ListIndex++; - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/DeviceReceiver.cs.meta b/Assets/External/EVMC4U/DeviceReceiver.cs.meta deleted file mode 100644 index 6a0cf120a..000000000 --- a/Assets/External/EVMC4U/DeviceReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 11e5ccb252b6916458ec049fa79a967e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/DirectionalLightReceiver.cs b/Assets/External/EVMC4U/DirectionalLightReceiver.cs deleted file mode 100644 index bfe5af845..000000000 --- a/Assets/External/EVMC4U/DirectionalLightReceiver.cs +++ /dev/null @@ -1,158 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - public class DirectionalLightReceiver : MonoBehaviour, IExternalReceiver - { - [Header("DirectionalLightReceiver v1.2")] - [SerializeField, Label("VMCディレクショナルライト制御同期Light")] - public Light VMCControlledLight = null; //VMCディレクショナルライト制御同期 - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //Inspector表示用 - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[1]; - - private ExternalReceiverManager externalReceiverManager = null; - bool shutdown = false; - - Vector3 pos; - Quaternion rot; - Color col; - - void Start() - { - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - StatusMessage = "Waiting for Master..."; - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - void Update() - { - } - - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - if (shutdown) - { - return; - } - - StatusMessage = "OK"; - - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) - { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - StatusMessage = "Infinite loop detected!"; - shutdown = true; - } - } - - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - //ライト同期 v2.4 - if (message.address == "/VMC/Ext/Light" - && (message.values[0] is string) //name - && (message.values[1] is float) //pos.x - && (message.values[2] is float) //poy.y - && (message.values[3] is float) //pos.z - && (message.values[4] is float) //q.x - && (message.values[5] is float) //q.y - && (message.values[6] is float) //q.z - && (message.values[7] is float) //q.w - && (message.values[8] is float) //r - && (message.values[9] is float) //g - && (message.values[10] is float) //b - && (message.values[11] is float) //a - ) - { - if(VMCControlledLight != null && VMCControlledLight.transform != null) - { - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - col.r = (float)message.values[8]; - col.g = (float)message.values[9]; - col.b = (float)message.values[10]; - col.a = (float)message.values[11]; - - VMCControlledLight.transform.localPosition = pos; - VMCControlledLight.transform.localRotation = rot; - VMCControlledLight.color = col; - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/DirectionalLightReceiver.cs.meta b/Assets/External/EVMC4U/DirectionalLightReceiver.cs.meta deleted file mode 100644 index 47ae56834..000000000 --- a/Assets/External/EVMC4U/DirectionalLightReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 13f0517c7c0be404f8b9374d915fedb1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor.meta b/Assets/External/EVMC4U/Editor.meta index 3eaeba639..b3e2dcf4f 100644 --- a/Assets/External/EVMC4U/Editor.meta +++ b/Assets/External/EVMC4U/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3186d82257ef78346a44ce5a543fda47 +guid: c0c786b0584dec747ac85c5e258fcb7a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs b/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs deleted file mode 100644 index eaad1a071..000000000 --- a/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs +++ /dev/null @@ -1,53 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace EVMC4U -{ - [CustomEditor(typeof(ExternalReceiver))] - public class ExternalReceiverEditor : Editor - { - public override void OnInspectorGUI() - { -#if EVMC4U_JA - if (GUILayout.Button("説明書を開く")) - { - Tutorial.Open(); - } -#else - if (GUILayout.Button("Open Manual")) - { - Tutorial.Open(); - } -#endif - base.OnInspectorGUI(); - } - } -} diff --git a/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs.meta b/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs.meta deleted file mode 100644 index f7e44a6a2..000000000 --- a/Assets/External/EVMC4U/Editor/ExternalReceiverEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8377d1e33297dac458dca9e5f91a8cc4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources.meta b/Assets/External/EVMC4U/Editor/Resources.meta index fdccb253d..a9008ca6f 100644 --- a/Assets/External/EVMC4U/Editor/Resources.meta +++ b/Assets/External/EVMC4U/Editor/Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a374e0d063f66c049968ffeb3df4a3ee +guid: 9d1f7affbee8cc74f991d9f370699c20 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial.meta index 46ce3522f..a9e7973cf 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bee88dde7402d2d40b3d9200c336f466 +guid: ae499e4656e0f1840b2638c8916dc26b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/caution_bg.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/caution_bg.png.meta index 457fb0312..cfcfdc718 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/caution_bg.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/caution_bg.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 09fe3fc8a3f76cd489976f4245781880 +guid: 10a99c5756de0cd41b342d1e91d5a223 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/define.txt.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/define.txt.meta index 9a5c2edc0..58234cc60 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/define.txt.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/define.txt.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 72e1f7be484f4a049a6925bd9ab160d3 +guid: 31f386f161fd7f3429d08bc685b5dc8e TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/ignore.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/ignore.png.meta index dd3bd60eb..4b70df86c 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/ignore.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/ignore.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 50dac6eee108fcc40a7aa2708460ad83 +guid: 5874067fe7a239c45868c88cdcce5d1c TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/ok_button.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/ok_button.png.meta index a2e66e7ce..c1837b6b8 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/ok_button.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/ok_button.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 6e3835e9948ccbf4ba54209dc672ca7f +guid: ad41f27d9054d4544bee34eb9c74b3f1 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start.meta index cc2a95c5f..9112154b7 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fc1e38df2f2e3cb4e8790360fa9c40dd +guid: 4b8564be60c02dc408a3694630cc0dd8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_bg.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_bg.png.meta index 69560c7f4..808792622 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_bg.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_bg.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: d4c7fbbf3c8947642b9cbc4ba15f0df1 +guid: adf6d776b54556649abef95748663884 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_english.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_english.png.meta index c71c3b15b..cc4c235ff 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_english.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_english.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 8a9a093e2909a574b8a69a9c0d032158 +guid: a3cf70600d453b8478b3c4bdaad7b58c TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_japanese.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_japanese.png.meta index e61b22842..094f7373c 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_japanese.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start/start_japanese.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 1e9c002a5915b0c41bce8813c859270f +guid: 24eb3c525613f7d42986a69e95220cfe TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en.meta index b35d7ca19..443fa4c97 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3cf99d0802e7abd41b513dd6ece2b371 +guid: 25541ac4facb76347babcf10dbe38e51 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/discord.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/discord.png.meta index df7948644..426f607b3 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/discord.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/discord.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 8bd00136add62bd44b0c7692a8abd17d +guid: b3e46cb22ed3ec44ba371faba5bbcd33 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/howtouse.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/howtouse.png.meta index b6c7cc203..f15684813 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/howtouse.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/howtouse.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 481805f552d5a1c42866f2c76e80d9d1 +guid: edc21b2eb04f67847b1e0b70fcbf672c TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/vmcprotocol.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/vmcprotocol.png.meta index 357405955..596a80355 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/vmcprotocol.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_en/vmcprotocol.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: efbc73509d25aea43aa7e5f70fb49c3b +guid: c9d88703177a9404fa34e56e52be0e87 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first.meta index 4383ff98d..3ec68c956 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a83f9e79c7345284988cabbd2ef406b6 +guid: 9065edf25cd4b9e4899a937202ccc4e7 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/en.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/en.png.meta index 38f1422d5..7b929b54a 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/en.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/en.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: f0c4f23b400062b4293d2cdd97b02503 +guid: 97757266d584a5c47a9404f881c19a65 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/ja.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/ja.png.meta index a0202e417..0d694fb72 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/ja.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_first/ja.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 3b776da16c770c8478ca233bef64f2b1 +guid: 33db0263a3e09aa4faa83beb30d5c172 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja.meta index 680f41744..f34b054ab 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4a63eda723d10ef4cac2d457e66fc2ef +guid: e77868d65e2f72e4b993b21697bc77a5 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/discord.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/discord.png.meta index e33006b62..ea86e1796 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/discord.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/discord.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 436fee3bd2ead154f87f05481d675208 +guid: cf43ce968fdd99042afacc996ec54543 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/howtouse.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/howtouse.png.meta index 6c6525dc6..1c75927de 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/howtouse.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/howtouse.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 803fc02753744be4fbfebcd748d5c12a +guid: c5f15532ff4731d44b97404c32a3748b TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/vmcprotocol.png.meta b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/vmcprotocol.png.meta index ab4fe9d14..c5b6faa52 100644 --- a/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/vmcprotocol.png.meta +++ b/Assets/External/EVMC4U/Editor/Resources/tutorial/start_ja/vmcprotocol.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: ae1ea106244ca354f903f9b7c235398f +guid: 20fab599f6b846241ae164ae45f49deb TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -34,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -96,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/External/EVMC4U/Editor/Tutorial.cs b/Assets/External/EVMC4U/Editor/Tutorial.cs deleted file mode 100644 index bb75ee6b5..000000000 --- a/Assets/External/EVMC4U/Editor/Tutorial.cs +++ /dev/null @@ -1,363 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020-2022 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable CS0162 -using System; -using System.Collections; -using System.Collections.Generic; -using System.Runtime.Serialization; -using UnityEngine; -using UnityEditor; -using UnityEditor.AnimatedValues; -using UnityEngine.Events; -using VRM; -using System.Linq; - -namespace EVMC4U -{ - public class Tutorial : EditorWindow - { - // VRMVersion 관련 코드를 주석 처리하여 문제 해결 - // const bool check = VRMVersion.MAJOR != 0 || VRMVersion.MINOR != 99; - const int window_w = 400; - const int window_h = 400; - - - //ページ名 - static string page = ""; - - //ボタン押下アニメーション - static AnimFloat anim = new AnimFloat(0.001f); - static string animTargetName = ""; //1つのボタンだけアニメさせる識別名 - - static string jsonError = ""; - - static TutorialJson tutorialJson = null; - static Dictionary tutorialPages = new Dictionary(); - - //JSON設定ファイル定義 - [Serializable] - private class TutorialJson - { - public bool debug; - public TutorialPage[] pages; - public override string ToString() - { - return "TutorialJson debug:" + debug + " pages:" + pages.Length; - } - } - - //JSONページ定義 - [Serializable] - private class TutorialPage - { - public string name = ""; - public string text = ""; - public string image = ""; - public TutorialButton[] buttons = new TutorialButton[0]; - - public override string ToString() - { - return "TutorialPage name:" + name + " text:" + text + " iamge:" + image + " buttons:" + buttons.Length; - } - } - - //JSONボタン定義 - [Serializable] - private class TutorialButton - { - public int x = 0; - public int y = 0; - public int w = 0; - public int h = 0; - - public string text = ""; - - public string image = ""; - public string uri = ""; //"page://" = page, "http://" or "https://" = url - public string fire = ""; //event - public override string ToString() - { - return "TutorialButton (" + x + "," + y + "," + w + "," + h + ") text:" + text + " image:" + image + " uri:" + uri; - } - } - - - - [MenuItem("EVMC4U/Oepn Tutorial")] - public static void Open() - { - //ウィンドウサイズを固定 - var window = GetWindow(); - window.maxSize = new Vector2(window_w, window_h - 6); - window.minSize = window.maxSize; - - //アニメーション定義 - anim.value = 0.001f; - anim.speed = 10f; - anim.target = 0.001f; - anim.valueChanged = null; - - if (Resources.Load("tutorial/define") == null) - { - //読み込み準備ができていない - return; - } - - //ページを初期位置に設定 - page = "start"; - if (EditorUserSettings.GetConfigValue("Language") == "ja") - { - page = "start_ja"; - } - if (EditorUserSettings.GetConfigValue("Language") == "en") - { - page = "start_en"; - } - - - //データを読み込む - tutorialPages = new Dictionary(); - - try - { - jsonError = ""; - var r = Resources.Load("tutorial/define"); - tutorialJson = JsonUtility.FromJson(r.text); - if (tutorialJson.debug) - { - Debug.Log(tutorialJson); - } - - //各ページのデータを読み込む - foreach (var p in tutorialJson.pages) - { - tutorialPages.Add(p.name, p); - if (tutorialJson.debug) - { - Debug.Log(p); - } - } - - //一度開いたのを覚えておく - EditorUserSettings.SetConfigValue("Opened", "1"); - } - catch (ArgumentException e) - { - //Debug.LogError(e); - jsonError = e.ToString(); - tutorialJson = null; - } - - - } - - [MenuItem("EVMC4U/Reset Language")] - public static void ResetLanguage() - { - EditorUserSettings.SetConfigValue("Language", ""); - Open(); - } - - void OnGUI() - { - //ページを開いたまま初期化されたら、初期ロード処理に飛ばす - if (page == "") - { - GUI.Label(new Rect(10, 10, window_w, window_h), "INVALID STATE\n\nチュートリアルの読み込みに失敗しました。Unityを再起動してください。\nそれでもダメな場合は、UnityPackageの導入からやり直してみてください\n\nTutorial load failed.\nPlease restart Unity.\nor Please re-import UnityPackage."); - Open(); - return; - } - - //アニメーションを立ち上げる - if (anim.valueChanged == null) - { - var repaintEvent = new UnityEvent(); - repaintEvent.AddListener(() => Repaint()); - anim.valueChanged = repaintEvent; - } - - //アニメーション折り返し - if (anim.value > anim.target - 0.1f) - { - anim.target = 0.001f; - } - - //ページの表示処理を開始 - TutorialPage tutorialPage; - if (!tutorialPages.TryGetValue(page, out tutorialPage)) - { - //JSONが多分バグってるときに表示 - GUI.Label(new Rect(10, 10, window_w - 20, window_h), "JSON LOAD FAILED\n" + jsonError + "\n\nチュートリアルの読み込みに失敗しました。Unityを再起動してください。\nそれでもダメな場合は、UnityPackageの導入からやり直してみてください\n\nTutorial load failed.\nPlease restart Unity.\nor Please re-import UnityPackage."); - if (GUI.Button(new Rect(0, window_h - 30, window_w, 30), "Reload")) - { - Open(); - } - return; - } - - //デバッグログ - if (tutorialJson.debug) - { - Debug.Log("OnGUI: " + anim.value); - Debug.Log(tutorialPage); - } - - //背景画像があれば表示 - if (tutorialPage.image != "") - { - var bgtexture = Resources.Load("tutorial/" + tutorialPage.image); - EditorGUI.DrawPreviewTexture(new Rect(0, 0, window_w, window_h), bgtexture); - } - - //ページのテキストを表示(代替テキスト) - GUI.Label(new Rect(0, 0, window_w, window_h), tutorialPage.text); - - //ボタンを1つずつ表示 - foreach (var b in tutorialPage.buttons) - { - if (tutorialJson.debug) - { - Debug.Log(b); - } - - //ボタンに画像があればそれを表示 - if (b.image != "") - { - //画像を読み込む - var texture = Resources.Load("tutorial/" + b.image); - - //位置情報がない場合、下端として扱う - if (b.x == 0 && b.y == 0 && b.w == 0 && b.h == 0) - { - b.y = window_h - window_w * texture.height / texture.width; - b.w = window_w; - } - - string buttonName = "btn#" + page + "#" + b.x + "-" + b.y + "-" + b.w + "-" + b.h; - float height = b.w * texture.height / texture.width; - - Rect r = new Rect(b.x, b.y, b.w, height); - - //アニメ対象の場合だけ動く - if (buttonName == animTargetName) - { - r = new Rect(b.x + anim.value, b.y + anim.value, b.w, height); - } - - //ボタンを表示 - if (GUI.Button(r, texture, new GUIStyle())) - { - //アニメーション処理と、遷移を実行 - buttonFireProcess(b.fire); - buttonUriProcess(b.uri); - animTargetName = buttonName; - anim.target = 2f; - } - } - else - { - //テキストボタンを表示 - if (GUI.Button(new Rect(b.x, b.y, b.w, b.h), b.text)) - { - buttonFireProcess(b.fire); - buttonUriProcess(b.uri); - } - } - } - - //デバッグ再読み込みボタン - if (tutorialJson.debug) - { - if (GUI.Button(new Rect(0, window_h - 30, 30, 30), "#")) - { - Open(); - } - } - } - - void buttonUriProcess(string uri) - { - if (tutorialJson.debug) - { - Debug.LogWarning("buttonProcess: " + uri); - } - - if (uri == null) - { - return; - } - if (uri.StartsWith("page://")) - { - page = uri.Replace("page://", ""); - } - if (uri.StartsWith("http://") || uri.StartsWith("https://")) - { - System.Diagnostics.Process.Start(uri); - } - } - - void buttonFireProcess(string fire) - { - switch (fire) - { - case "SaveLanguageJa": - { - EditorUserSettings.SetConfigValue("Language", "ja"); - var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone).Split(';').ToList(); - if (symbols.Contains("EVMC4U_EN")) - { - symbols.Remove("EVMC4U_EN"); - } - if (!symbols.Contains("EVMC4U_JA")) - { - symbols.Add("EVMC4U_JA"); - } - PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, String.Join(";", symbols.ToArray())); - - break; - } - case "SaveLanguageEn": - { - EditorUserSettings.SetConfigValue("Language", "en"); - var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone).Split(';').ToList(); - if (symbols.Contains("EVMC4U_JA")) - { - symbols.Remove("EVMC4U_JA"); - } - if (!symbols.Contains("EVMC4U_EN")) - { - symbols.Add("EVMC4U_EN"); - } - PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, String.Join(";", symbols.ToArray())); - - break; - } - default: break; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/Editor/Tutorial.cs.meta b/Assets/External/EVMC4U/Editor/Tutorial.cs.meta deleted file mode 100644 index 15d1c94f7..000000000 --- a/Assets/External/EVMC4U/Editor/Tutorial.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3239c5d6ed07cd84a95fd80d1659dcce -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/ExternalController.cs b/Assets/External/EVMC4U/ExternalController.cs deleted file mode 100644 index 7302e4fe8..000000000 --- a/Assets/External/EVMC4U/ExternalController.cs +++ /dev/null @@ -1,199 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 - -using System; -using System.IO; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - [RequireComponent(typeof(uOSC.uOscClient))] - public class ExternalController : MonoBehaviour - { - [Header("ExternalController v1.0")] - public bool enable = true; - [Header("Frame Period")] - public int PeriodOfStatus = 1; - public int PeriodOfRoot = 1; - public int PeriodOfBone = 1; - public int PeriodOfBlendShape = 1; - public int PeriodOfCamera = 1; - public int PeriodOfDevices = 1; - public bool PeriodEnable = false; - - [Header("Virtual Device")] - public VirtualDevice DeviceMode = VirtualDevice.Tracker; - public Transform DeviceTransform = null; - public String DeviceSerial = "VIRTUAL_DEVICE"; - public bool DeviceEnable = false; - - [Header("Virtual MIDI CC")] - public int MidiKnob = 0; - public float MidiValue = 0f; - public bool MidiEnable = false; - - [Header("Camera Control")] - public Transform CameraTransform = null; - public float CameraFOV = 30f; - public bool CameraEnable = false; - - [Header("BlendShapeProxy")] - public string BlendShapeName = ""; - public float BlendShapeValue = 0f; - public bool BlendShapeEnable = false; - - [Header("Eye Tracking Target Position")] - public Transform EyeTrackingTargetTransform = null; - public bool EyeTrackingTargetUse = false; - public bool EyeTrackingTargetEnable = false; - - [Header("Response String")] - public string ResponseString = ""; - public bool ResponseStringEnable = false; - - [Header("Calibration")] - public bool CalibrationReady = false; - public CalibrationMode calibrationMode = 0; - public bool CalibrationExecute = false; - - [Header("Config")] - public string ConfigPath = ""; - public bool ConfigLoad = false; - - [Header("Request Information")] - public bool RequestInformation = false; - - uOSC.uOscClient client = null; - - void Start() - { - client = GetComponent(); - } - void Update() - { - if (client == null) { - return; - } - if (!enable) { - return; - } - - if (PeriodEnable) { - client.Send("/VMC/Ext/Set/Period", PeriodOfStatus, PeriodOfRoot, PeriodOfBone, PeriodOfBlendShape, PeriodOfCamera, PeriodOfDevices); - } - if (DeviceEnable) { - string name = null; - switch (DeviceMode) { - case VirtualDevice.HMD: - name = "/VMC/Ext/Hmd/Pos"; - break; - case VirtualDevice.Controller: - name = "/VMC/Ext/Con/Pos"; - break; - case VirtualDevice.Tracker: - name = "/VMC/Ext/Tra/Pos"; - break; - default: - name = null; - break; - } - if (name != null && DeviceTransform != null && DeviceSerial != null) { - client.Send(name, - (string)DeviceSerial, - (float)DeviceTransform.position.x, - (float)DeviceTransform.position.y, - (float)DeviceTransform.position.z, - (float)DeviceTransform.rotation.x, - (float)DeviceTransform.rotation.y, - (float)DeviceTransform.rotation.z, - (float)DeviceTransform.rotation.w); - } - } - if (MidiEnable) - { - client.Send("/VMC/Ext/Midi/CC/Val", MidiKnob, MidiValue); - } - if (CameraEnable) - { - client.Send("/VMC/Ext/Cam", - "Camera", - (float)CameraTransform.position.x, - (float)CameraTransform.position.y, - (float)CameraTransform.position.z, - (float)CameraTransform.rotation.x, - (float)CameraTransform.rotation.y, - (float)CameraTransform.rotation.z, - (float)CameraTransform.rotation.w, - (float)CameraFOV); - } - if (BlendShapeEnable) - { - client.Send("/VMC/Ext/Blend/Val", BlendShapeName, BlendShapeValue); - client.Send("/VMC/Ext/Blend/Apply"); - } - if (EyeTrackingTargetEnable) - { - client.Send("/VMC/Ext/Set/Eye", - EyeTrackingTargetUse?(int)1: (int)0, - (float)EyeTrackingTargetTransform.position.x, - (float)EyeTrackingTargetTransform.position.y, - (float)EyeTrackingTargetTransform.position.z); - } - if (ResponseStringEnable) - { - client.Send("/VMC/Ext/Set/Res", ResponseString); - } - if (CalibrationReady) - { - CalibrationReady = false; - client.Send("/VMC/Ext/Set/Calib/Ready"); - } - if (CalibrationExecute) - { - CalibrationExecute = false; - client.Send("/VMC/Ext/Set/Calib/Exec", (int)calibrationMode); - } - if (ConfigLoad) - { - ConfigLoad = false; - client.Send("/VMC/Ext/Set/Config", ConfigPath); - } - if (RequestInformation) - { - //毎フレーム送信要求をする - client.Send("/VMC/Ext/Set/Req"); - } - } - } - -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/ExternalController.cs.meta b/Assets/External/EVMC4U/ExternalController.cs.meta deleted file mode 100644 index 9c8edbb5c..000000000 --- a/Assets/External/EVMC4U/ExternalController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e3c76998320436b479e734d3703c3abc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/ExternalReceiver.cs b/Assets/External/EVMC4U/ExternalReceiver.cs deleted file mode 100644 index 18e8293cf..000000000 --- a/Assets/External/EVMC4U/ExternalReceiver.cs +++ /dev/null @@ -1,1172 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 - -using System; -using System.Reflection; -using System.IO; -using System.Threading; -using System.Threading.Tasks; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; -using UniGLTF; - -namespace EVMC4U -{ - //[RequireComponent(typeof(uOSC.uOscServer))] - public class ExternalReceiver : MonoBehaviour, IExternalReceiver - { - [Header("ExternalReceiver v4.0")] - [SerializeField, Label("VRMモデルのGameObject")] - public GameObject Model = null; - [SerializeField, Label("一時停止")] - public bool Freeze = false; //すべての同期を止める(撮影向け) - [SerializeField, Label("パケットリミッター")] - public bool PacktLimiter = true; //パケットフレーム数が一定値を超えるとき、パケットを捨てる - -#if EVMC4U_JA - [Header("ルート姿勢同期オプション")] -#else - [Header("Root Synchronize Option")] -#endif - [SerializeField, Label("ルート位置反映対象(VR向け)")] - public Transform RootPositionTransform = null; //VR向けroot位置同期オブジェクト指定 - [SerializeField, Label("ルート回転反映対象(VR向け)")] - public Transform RootRotationTransform = null; //VR向けroot回転同期オブジェクト指定 - [SerializeField, Label("ルート位置反映")] - public bool RootPositionSynchronize = true; //ルート座標同期(ルームスケール移動) - [SerializeField, Label("ルート回転反映")] - public bool RootRotationSynchronize = true; //ルート回転同期 - [SerializeField, Label("ルートスケール反映")] - public bool RootScaleOffsetSynchronize = false; //MRスケール適用 - -#if EVMC4U_JA - [Header("その他の同期オプション")] -#else - [Header("Other Synchronize Option")] -#endif - [SerializeField, Label("表情の同期")] - public bool BlendShapeSynchronize = true; //表情等同期 - [SerializeField, Label("ボーン位置の厳密な同期")] - public bool BonePositionSynchronize = true; //ボーン位置適用(回転は強制) - -#if EVMC4U_JA - [Header("同期遮断オプション")] -#else - [Header("Synchronize Cutoff Option")] -#endif - [SerializeField, Label("指ボーンを同期しない")] - public bool HandPoseSynchronizeCutoff = false; //指状態反映オフ - [SerializeField, Label("目ボーンを同期しない")] - public bool EyeBoneSynchronizeCutoff = false; //目ボーン反映オフ - -#if EVMC4U_JA - [Header("なめらかフィルター")] -#else - [Header("Lowpass Filter Option")] -#endif - [SerializeField, Label("ボーン位置なめらか")] - public bool BonePositionFilterEnable = false; //ボーン位置フィルタ - [SerializeField, Label("ボーン回転なめらか")] - public bool BoneRotationFilterEnable = false; //ボーン回転フィルタ - [SerializeField, Label("なめらか係数(0.500~0.999)")] - public float BoneFilter = 0.7f; //ボーンフィルタ係数 - [SerializeField, Label("表情なめらか")] - public bool BlendShapeFilterEnable = false; //BlendShapeフィルタ - [SerializeField, Label("表情なめらか係数(0.500~0.999)")] - public float BlendShapeFilter = 0.7f; //BlendShapeフィルタ係数 - -#if EVMC4U_JA - [Header("VRMファイル自動読み込み")] -#else - [Header("VRM Loader Option")] -#endif - [SerializeField, Label("VRMファイル自動読み込み(対応アプリのみ)")] - public bool enableAutoLoadVRM = true; //VRMの自動読み込みの有効可否 - -#if EVMC4U_JA - [Header("その他")] -#else - [Header("Other Option")] -#endif - [SerializeField, Label("未キャリブレーション時にモデルを隠す")] - public bool HideInUncalibrated = false; //キャリブレーション出来ていないときは隠す - [SerializeField, Label("MRモード連動")] - public bool SyncCalibrationModeWithScaleOffsetSynchronize = true; //キャリブレーションモードとスケール設定を連動させる - public Action BeforeModelDestroyAction = null; //破壊時Action - public Action AfterAutoLoadAction = null; //自動ロード時Action - -#if EVMC4U_JA - [Header("現在の状態(表示用)")] -#else - [Header("Status (Read only)")] -#endif - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //状態メッセージ(Inspector表示用) - [SerializeField, Label("オプション文字列")] - public string OptionString = ""; //VMCから送信されるオプション文字列 - - [SerializeField, Label("自動読み込みVRMパス")] - public string loadedVRMPath = ""; //読み込み済みVRMパス - [SerializeField, Label("自動読み込みVRM名前")] - public string loadedVRMName = ""; //読み込み済みVRM名前 - [SerializeField, Label("読み込んだモデルの親GameObject")] - public GameObject LoadedModelParent = null; //読み込んだモデルの親 - - [SerializeField, Label("1フレームあたりのパケットフレーム数")] - public int LastPacketframeCounterInFrame = 0; //1フレーム中に受信したパケットフレーム数 - [SerializeField, Label("廃棄されたパケット数")] - public int DropPackets = 0; //廃棄されたパケット(not パケットフレーム) - - public Vector3 HeadPosition = Vector3.zero; - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[6]; //デイジーチェーン - -#if EVMC4U_JA - [Header("ボーンの個別遮断(下半身、腕のみなど)")] -#else - [Header("Cut bones")] -#endif - [SerializeField, Label("有効")] - public bool CutBonesEnable = false; - -#if EVMC4U_JA - [Header("遮断ボーン (Head)")] -#else - [Header("Cut bones(Head)")] -#endif - [SerializeField, Label("Neck遮断")] - public bool CutBoneNeck = false; - [SerializeField, Label("Head遮断")] - public bool CutBoneHead = false; - [SerializeField, Label("LeftEye遮断")] - public bool CutBoneLeftEye = false; - [SerializeField, Label("RightEye遮断")] - public bool CutBoneRightEye = false; - [SerializeField, Label("Jaw遮断")] - public bool CutBoneJaw = false; - -#if EVMC4U_JA - [Header("遮断ボーン (Body)")] -#else - [Header("Cut bones(Body)")] -#endif - [SerializeField, Label("Hips遮断")] - public bool CutBoneHips = true; - [SerializeField, Label("Spine遮断")] - public bool CutBoneSpine = true; - [SerializeField, Label("Chest遮断")] - public bool CutBoneChest = true; - [SerializeField, Label("UpperChest遮断")] - public bool CutBoneUpperChest = true; - -#if EVMC4U_JA - [Header("遮断ボーン (Left Arm)")] -#else - [Header("Cut bones(Left Arm)")] -#endif - [SerializeField, Label("LeftShoulder遮断")] - public bool CutBoneLeftShoulder = false; - [SerializeField, Label("LeftUpperArm遮断")] - public bool CutBoneLeftUpperArm = false; - [SerializeField, Label("LeftLowerArm遮断")] - public bool CutBoneLeftLowerArm = false; - [SerializeField, Label("LeftHand遮断")] - public bool CutBoneLeftHand = false; - -#if EVMC4U_JA - [Header("遮断ボーン (Right Arm)")] -#else - [Header("Cut bones(Right Arm)")] -#endif - [SerializeField, Label("RightShoulder遮断")] - public bool CutBoneRightShoulder = false; - [SerializeField, Label("RightUpperArm遮断")] - public bool CutBoneRightUpperArm = false; - [SerializeField, Label("RightLowerArm遮断")] - public bool CutBoneRightLowerArm = false; - [SerializeField, Label("RightHand遮断")] - public bool CutBoneRightHand = false; - -#if EVMC4U_JA - [Header("遮断ボーン (Left Leg)")] -#else - [Header("Cut bones(Left Leg)")] -#endif - [SerializeField, Label("LeftUpperLeg遮断")] - public bool CutBoneLeftUpperLeg = true; - [SerializeField, Label("LeftLowerLeg遮断")] - public bool CutBoneLeftLowerLeg = true; - [SerializeField, Label("LeftFoot遮断")] - public bool CutBoneLeftFoot = true; - [SerializeField, Label("LeftToes遮断")] - public bool CutBoneLeftToes = true; - -#if EVMC4U_JA - [Header("遮断ボーン (Right Leg)")] -#else - [Header("Cut bones(Right Leg)")] -#endif - [SerializeField, Label("RightUpperLeg遮断")] - public bool CutBoneRightUpperLeg = true; - [SerializeField, Label("RightLowerLeg遮断")] - public bool CutBoneRightLowerLeg = true; - [SerializeField, Label("RightFoot遮断")] - public bool CutBoneRightFoot = true; - [SerializeField, Label("RightToes遮断")] - public bool CutBoneRightToes = true; - -#if EVMC4U_JA - [Header("遮断ボーン (Left Hand)")] -#else - [Header("Cut bones(Left Hand)")] -#endif - [SerializeField, Label("LeftThumbProximal遮断")] - public bool CutBoneLeftThumbProximal = false; - [SerializeField, Label("LeftThumbIntermediate遮断")] - public bool CutBoneLeftThumbIntermediate = false; - [SerializeField, Label("LeftThumbDistal遮断")] - public bool CutBoneLeftThumbDistal = false; - [SerializeField, Label("LeftIndexProximal遮断")] - public bool CutBoneLeftIndexProximal = false; - [SerializeField, Label("LeftIndexIntermediate遮断")] - public bool CutBoneLeftIndexIntermediate = false; - [SerializeField, Label("LeftIndexDistal遮断")] - public bool CutBoneLeftIndexDistal = false; - [SerializeField, Label("LeftMiddleProximal遮断")] - public bool CutBoneLeftMiddleProximal = false; - [SerializeField, Label("LeftMiddleIntermediate遮断")] - public bool CutBoneLeftMiddleIntermediate = false; - [SerializeField, Label("LeftMiddleDistal遮断")] - public bool CutBoneLeftMiddleDistal = false; - [SerializeField, Label("LeftRingProximal遮断")] - public bool CutBoneLeftRingProximal = false; - [SerializeField, Label("LeftRingIntermediate遮断")] - public bool CutBoneLeftRingIntermediate = false; - [SerializeField, Label("LeftRingDistal遮断")] - public bool CutBoneLeftRingDistal = false; - [SerializeField, Label("LeftLittleProximal遮断")] - public bool CutBoneLeftLittleProximal = false; - [SerializeField, Label("LeftLittleIntermediate遮断")] - public bool CutBoneLeftLittleIntermediate = false; - [SerializeField, Label("LeftLittleDistal遮断")] - public bool CutBoneLeftLittleDistal = false; - -#if EVMC4U_JA - [Header("遮断ボーン (Right Hand)")] -#else - [Header("Cut bones(Right Hand)")] -#endif - [SerializeField, Label("RightThumbProximal遮断")] - public bool CutBoneRightThumbProximal = false; - [SerializeField, Label("RightThumbIntermediate遮断")] - public bool CutBoneRightThumbIntermediate = false; - [SerializeField, Label("RightThumbDistal遮断")] - public bool CutBoneRightThumbDistal = false; - [SerializeField, Label("RightIndexProximal遮断")] - public bool CutBoneRightIndexProximal = false; - [SerializeField, Label("RightIndexIntermediate遮断")] - public bool CutBoneRightIndexIntermediate = false; - [SerializeField, Label("RightIndexDistal遮断")] - public bool CutBoneRightIndexDistal = false; - [SerializeField, Label("RightMiddleProximal遮断")] - public bool CutBoneRightMiddleProximal = false; - [SerializeField, Label("RightMiddleIntermediate遮断")] - public bool CutBoneRightMiddleIntermediate = false; - [SerializeField, Label("RightMiddleDistal遮断")] - public bool CutBoneRightMiddleDistal = false; - [SerializeField, Label("RightRingProximal遮断")] - public bool CutBoneRightRingProximal = false; - [SerializeField, Label("RightRingIntermediate遮断")] - public bool CutBoneRightRingIntermediate = false; - [SerializeField, Label("RightRingDistal遮断")] - public bool CutBoneRightRingDistal = false; - [SerializeField, Label("RightLittleProximal遮断")] - public bool CutBoneRightLittleProximal = false; - [SerializeField, Label("RightLittleIntermediate遮断")] - public bool CutBoneRightLittleIntermediate = false; - [SerializeField, Label("RightLittleDistal遮断")] - public bool CutBoneRightLittleDistal = false; - - - //---Const--- - - //rootパケット長定数(拡張判別) - const int RootPacketLengthOfScaleAndOffset = 8; - - //---Private--- - - private ExternalReceiverManager externalReceiverManager = null; - - //フィルタ用データ保持変数 - private Vector3[] bonePosFilter = new Vector3[Enum.GetNames(typeof(HumanBodyBones)).Length]; - private Quaternion[] boneRotFilter = new Quaternion[Enum.GetNames(typeof(HumanBodyBones)).Length]; - private Dictionary blendShapeFilterDictionaly = new Dictionary(); - - //通信状態保持変数 - private int Available = 0; //データ送信可能な状態か - private float time = 0; //送信時の時刻 - - //モデル切替検出用reference保持変数 - private GameObject OldModel = null; - - //ボーン情報取得 - Animator animator = null; - //VRMのブレンドシェーププロキシ - VRMBlendShapeProxy blendShapeProxy = null; - - //ボーンENUM情報テーブル - Dictionary HumanBodyBonesTable = new Dictionary(); - - //ボーン情報テーブル - Dictionary HumanBodyBonesPositionTable = new Dictionary(); - Dictionary HumanBodyBonesRotationTable = new Dictionary(); - - //ブレンドシェープ変換テーブル - Dictionary StringToBlendShapeKeyDictionary = new Dictionary(); - Dictionary BlendShapeToValueDictionary = new Dictionary(); - - - //uOSCサーバー - uOSC.uOscServer server = null; - - //エラー・無限ループ検出フラグ(trueで一切の受信を停止する) - bool shutdown = false; - - //フレーム間パケットフレーム数測定 - int PacketCounterInFrame = 0; - - //1フレームに30パケットフレーム来たら、同一フレーム内でそれ以上は受け取らない。 - const int PACKET_LIMIT_MAX = 30; - - //読込中は読み込まない - bool isLoading = false; - - //メッセージ処理一時変数struct(負荷対策) - Vector3 pos; - Quaternion rot; - Vector3 scale; - Vector3 offset; - - //同期コンテキスト - SynchronizationContext synchronizationContext; - - public void Start() - { - synchronizationContext = SynchronizationContext.Current; - - //nullチェック - if (NextReceivers == null) - { - NextReceivers = new GameObject[0]; - } - //NextReciverのインターフェースを取得する - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - - //サーバーを取得 - server = GetComponent(); - if (server) - { - //サーバーを初期化 - StatusMessage = "Waiting for VMC..."; - server.onDataReceived.AddListener(OnDataReceived); - } - else - { - //デイジーチェーンスレーブモード - StatusMessage = "Waiting for Master..."; - } - - //初期状態で読み込み済みのモデルが有る場合はVRMの自動読み込みは禁止する - if (Model != null) { - enableAutoLoadVRM = false; - } - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - //nullチェック - if (NextReceivers == null) - { - NextReceivers = new GameObject[0]; - } - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - //外部から通信状態を取得するための公開関数 - public int GetAvailable() - { - return Available; - } - - //外部から通信時刻を取得するための公開関数 - public float GetRemoteTime() - { - return time; - } - - public void Update() - { - //エラー・無限ループ時は処理をしない - if (shutdown) { return; } - - //Freeze有効時は動きを一切止める - if (Freeze) { return; } - - LastPacketframeCounterInFrame = PacketCounterInFrame; - PacketCounterInFrame = 0; - - //5.6.3p1などRunInBackgroundが既定で無効な場合Unityが極めて重くなるため対処 - Application.runInBackground = true; - - //VRMモデルからBlendShapeProxyを取得(タイミングの問題) - if (blendShapeProxy == null && Model != null) - { - blendShapeProxy = Model.GetComponent(); - } - - //ルート位置がない場合 - if (RootPositionTransform == null && Model != null) - { - //モデル姿勢をルート姿勢にする - RootPositionTransform = Model.transform; - } - - //ルート回転がない場合 - if (RootRotationTransform == null && Model != null) - { - //モデル姿勢をルート姿勢にする - RootRotationTransform = Model.transform; - } - - //モデルがない場合はエラー表示をしておく(親切心) - if (Model == null) - { - StatusMessage = "Model not found."; - return; - } - - //モデルが更新されたときに関連情報を更新する - if (OldModel != Model && Model != null) - { - animator = Model.GetComponent(); - blendShapeProxy = Model.GetComponent(); - OldModel = Model; - - Debug.Log("[ExternalReceiver] New model detected"); - - //v0.56 BlendShape仕様変更対応 - //Debug.Log("-- Make BlendShapeProxy BSKey Table --"); - - //BSキー値辞書の初期化(SetValueで無駄なキーが適用されるのを防止する) - BlendShapeToValueDictionary.Clear(); - - //文字-BSキー辞書の初期化(キー情報の初期化) - StringToBlendShapeKeyDictionary.Clear(); - - //全Clipsを取り出す - foreach (var c in blendShapeProxy.BlendShapeAvatar.Clips) { - string key = ""; - bool unknown = false; - //プリセットかどうかを調べる - if (c.Preset == BlendShapePreset.Unknown) { - //非プリセット(Unknown)であれば、Unknown用の名前変数を参照する - key = c.BlendShapeName; - unknown = true; - } - else { - //プリセットであればENUM値をToStringした値を利用する - key = c.Preset.ToString(); - unknown = false; - } - - //非ケース化するために小文字変換する - string lowerKey = key.ToLower(); - //Debug.Log("Add: [key]->" + key + " [lowerKey]->" + lowerKey + " [clip]->" + c.ToString() + " [bskey]->"+c.Key.ToString() + " [unknown]->"+ unknown); - - //小文字名-BSKeyで登録する - StringToBlendShapeKeyDictionary.Add(lowerKey, c.Key); - } - - //メモ: プリセット同名の独自キー、独自キーのケース違いの重複は、共に区別しないと割り切る - /* - Debug.Log("-- Registered List --"); - foreach (var k in StringToBlendShapeKeyDictionary) { - Debug.Log("[k.Key]" + k.Key + " -> [k.Value.Name]" + k.Value.Name); - } - */ - - //Debug.Log("-- End BlendShapeProxy BSKey Table --"); - } - - BoneSynchronizeByTable(); - - } - - //データ受信イベント - private void OnDataReceived(uOSC.Message message) - { - //チェーン数0としてデイジーチェーンを発生させる - MessageDaisyChain(ref message, 0); - } - - //デイジーチェーン処理 - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - //エラー・無限ループ時は処理をしない - if (shutdown) { - return; - } - - //パケットリミッターが有効な場合、一定以上のパケットフレーム/フレーム数を観測した場合、次のフレームまでパケットを捨てる - if (PacktLimiter && (LastPacketframeCounterInFrame > PACKET_LIMIT_MAX)) { - DropPackets++; - return; - } - - //メッセージを処理 - if (!Freeze) { - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - } - - //次のデイジーチェーンへ伝える - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - //無限ループ対策 - StatusMessage = "Infinite loop detected!"; - - //以降の処理を全部停止 - shutdown = true; - } - } - - //メッセージ処理本体 - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - //ルート位置がない場合 - if (RootPositionTransform == null && Model != null) - { - //モデル姿勢をルート姿勢にする - RootPositionTransform = Model.transform; - } - - //ルート回転がない場合 - if (RootRotationTransform == null && Model != null) - { - //モデル姿勢をルート姿勢にする - RootRotationTransform = Model.transform; - } - - //モーションデータ送信可否 - if (message.address == "/VMC/Ext/OK" - && (message.values[0] is int)) - { - Available = (int)message.values[0]; - if (Available == 0) - { - StatusMessage = "Waiting for [Load VRM]"; - } - - //V2.5 キャリブレーション状態(長さ3以上) - if (message.values.Length >= 3) { - if ((message.values[1] is int) && (message.values[2] is int)) - { - int calibrationState = (int)message.values[1]; - int calibrationMode = (int)message.values[2]; - - //キャリブレーション出来ていないときは隠す - if (HideInUncalibrated && Model != null) - { - Model.SetActive(calibrationState == 3); - } - //スケール同期をキャリブレーションと連動させる - if (SyncCalibrationModeWithScaleOffsetSynchronize) - { - RootScaleOffsetSynchronize = !(calibrationMode == 0); //通常モードならオフ、MR系ならオン - } - - } - } - return; - } - //データ送信時刻 - else if (message.address == "/VMC/Ext/T" - && (message.values[0] is float)) - { - time = (float)message.values[0]; - PacketCounterInFrame++; //フレーム中のパケットフレーム数を測定 - return; - } - //VRM自動読み込み - else if (message.address == "/VMC/Ext/VRM" - && (message.values[0] is string) - && (message.values[1] is string) - ) - { - string path = (string)message.values[0]; - string title = (string)message.values[1]; - - //前回読み込んだパスと違う場合かつ、読み込みが許可されている場合 - if (path != loadedVRMPath && enableAutoLoadVRM == true) - { - loadedVRMPath = path; - loadedVRMName = title; - LoadVRM(path); - } - return; - } - //オプション文字列 - else if (message.address == "/VMC/Ext/Opt" - && (message.values[0] is string)) - { - OptionString = (string)message.values[0]; - return; - } - - - //モデルがないか、モデル姿勢、ルート姿勢が取得できないなら以降何もしない - if (Model == null || Model.transform == null || RootPositionTransform == null || RootRotationTransform == null) - { - return; - } - - //Root姿勢 - if (message.address == "/VMC/Ext/Root/Pos" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - StatusMessage = "OK"; - - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - //位置同期 - if (RootPositionSynchronize) - { - RootPositionTransform.localPosition = pos; - } - //回転同期 - if (RootRotationSynchronize) - { - RootRotationTransform.localRotation = rot; - } - //スケール同期とオフセット補正(v2.1拡張プロトコルの場合のみ) - if (RootScaleOffsetSynchronize && message.values.Length > RootPacketLengthOfScaleAndOffset - && (message.values[8] is float) - && (message.values[9] is float) - && (message.values[10] is float) - && (message.values[11] is float) - && (message.values[12] is float) - && (message.values[13] is float) - ) - { - scale.x = 1.0f / (float)message.values[8]; - scale.y = 1.0f / (float)message.values[9]; - scale.z = 1.0f / (float)message.values[10]; - offset.x = (float)message.values[11]; - offset.y = (float)message.values[12]; - offset.z = (float)message.values[13]; - - Model.transform.localScale = scale; - RootPositionTransform.localPosition = Vector3.Scale(RootPositionTransform.localPosition, scale); - - //位置同期が有効な場合のみオフセットを反映する - if (RootPositionSynchronize) - { - offset = Vector3.Scale(offset, scale); - RootPositionTransform.localPosition -= offset; - } - } - else { - Model.transform.localScale = Vector3.one; - } - } - //ボーン姿勢 - else if (message.address == "/VMC/Ext/Bone/Pos" - && (message.values[0] is string) - && (message.values[1] is float) - && (message.values[2] is float) - && (message.values[3] is float) - && (message.values[4] is float) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - string boneName = (string)message.values[0]; - pos.x = (float)message.values[1]; - pos.y = (float)message.values[2]; - pos.z = (float)message.values[3]; - rot.x = (float)message.values[4]; - rot.y = (float)message.values[5]; - rot.z = (float)message.values[6]; - rot.w = (float)message.values[7]; - - //Humanoidボーンに該当するボーンがあるか調べる - HumanBodyBones bone; - if (HumanBodyBonesTryParse(ref boneName, out bone)) - { - //あれば位置と回転をキャッシュする - if (HumanBodyBonesPositionTable.ContainsKey(bone)) - { - HumanBodyBonesPositionTable[bone] = pos; - } - else - { - HumanBodyBonesPositionTable.Add(bone, pos); - } - - if (HumanBodyBonesRotationTable.ContainsKey(bone)) - { - HumanBodyBonesRotationTable[bone] = rot; - } - else - { - HumanBodyBonesRotationTable.Add(bone, rot); - } - } - //受信と更新のタイミングは切り離した - } - //ブレンドシェープ同期 - else if (message.address == "/VMC/Ext/Blend/Val" - && (message.values[0] is string) - && (message.values[1] is float) - ) - { - //一旦変数に格納する - string key = (string)message.values[0]; - float value = (float)message.values[1]; - - //BlendShapeフィルタが有効なら - if (BlendShapeFilterEnable) - { - //フィルタテーブルに存在するか確認する - if (blendShapeFilterDictionaly.ContainsKey(key)) - { - //存在する場合はフィルタ更新して値として反映する - blendShapeFilterDictionaly[key] = (blendShapeFilterDictionaly[key] * BlendShapeFilter) + value * (1.0f - BlendShapeFilter); - value = blendShapeFilterDictionaly[key]; - } - else { - //存在しない場合はフィルタに登録する。値はそのまま - blendShapeFilterDictionaly.Add(key, value); - } - } - - if (BlendShapeSynchronize && blendShapeProxy != null) - { - //v0.56 BlendShape仕様変更対応 - //辞書からKeyに変換し、Key値辞書に値を入れる - - //通信で受信したキーを小文字に変換して非ケース化 - string lowerKey = key.ToLower(); - - //キーに該当するBSKeyが存在するかチェックする - BlendShapeKey bskey; - if (StringToBlendShapeKeyDictionary.TryGetValue(lowerKey, out bskey)){ - //キーに対して値を登録する - BlendShapeToValueDictionary[bskey] = value; - - //Debug.Log("[lowerKey]->"+ lowerKey+" [bskey]->"+bskey.ToString()+" [value]->"+value); - } - else { - //そんなキーは無い - //Debug.LogError("[lowerKey]->" + lowerKey + " is not found"); - } - } - } - //ブレンドシェープ適用 - else if (message.address == "/VMC/Ext/Blend/Apply") - { - if (BlendShapeSynchronize && blendShapeProxy != null) - { - blendShapeProxy.SetValues(BlendShapeToValueDictionary); - } - } - } - - //モデル破棄 - public void DestroyModel() - { - //存在すれば即破壊(異常顔防止) - if (Model != null) - { - BeforeModelDestroyAction?.Invoke(Model); - Destroy(Model); - Model = null; - } - if (LoadedModelParent != null) - { - Destroy(LoadedModelParent); - LoadedModelParent = null; - } - } - - //ファイルからモデルを読み込む - public void LoadVRM(string path) - { - DestroyModel(); - - //バイナリの読み込み - if (File.Exists(path)) - { - byte[] VRMdata = File.ReadAllBytes(path); - LoadVRMFromData(VRMdata); - } - else { - Debug.LogError("VRM load failed."); - } - } - - //ファイルからモデルを読み込む - public void LoadVRMFromData(byte[] VRMdata) - { - if (isLoading) { - Debug.LogError("Now Loading! load request is rejected."); - return; - } - DestroyModel(); - - //読み込み - GlbLowLevelParser glbLowLevelParser = new GlbLowLevelParser(null, VRMdata); - GltfData gltfData = glbLowLevelParser.Parse(); - VRMData vrm = new VRMData(gltfData); - VRMImporterContext vrmImporter = new VRMImporterContext(vrm); - - isLoading = true; - - synchronizationContext.Post(async (arg) => { - RuntimeGltfInstance instance = await vrmImporter.LoadAsync(new VRMShaders.ImmediateCaller()); - isLoading = false; - - Model = instance.Root; - - //ExternalReceiverの下にぶら下げる - LoadedModelParent = new GameObject(); - LoadedModelParent.transform.SetParent(transform, false); - LoadedModelParent.name = "LoadedModelParent"; - //その下にモデルをぶら下げる - Model.transform.SetParent(LoadedModelParent.transform, false); - - instance.EnableUpdateWhenOffscreen(); - instance.ShowMeshes(); - - //カメラなどの移動補助のため、頭の位置を格納する - animator = Model.GetComponent(); - HeadPosition = animator.GetBoneTransform(HumanBodyBones.Head).position; - - //開放 - vrmImporter.Dispose(); - gltfData.Dispose(); - - //読み込み後アクションを実行 - AfterAutoLoadAction?.Invoke(Model); - }, null); - } - - //ボーン位置をキャッシュテーブルに基づいて更新 - private void BoneSynchronizeByTable() - { - //キャッシュテーブルを参照 - foreach (var bone in HumanBodyBonesTable) - { - //キャッシュされた位置・回転を適用 - if (HumanBodyBonesPositionTable.ContainsKey(bone.Value) && HumanBodyBonesRotationTable.ContainsKey(bone.Value)) - { - BoneSynchronize(bone.Value, HumanBodyBonesPositionTable[bone.Value], HumanBodyBonesRotationTable[bone.Value]); - } - } - } - - //ボーン位置同期 - private void BoneSynchronize(HumanBodyBones bone, Vector3 pos, Quaternion rot) - { - //操作可能な状態かチェック - if (animator != null && bone != HumanBodyBones.LastBone) - { - //ボーンによって操作を分ける - var t = animator.GetBoneTransform(bone); - if (t != null) - { - //個別ボーン遮断 - if (CutBonesEnable) - { - if (bone == HumanBodyBones.Hips && CutBoneHips) { return; } - if (bone == HumanBodyBones.LeftUpperLeg && CutBoneLeftUpperLeg) { return; } - if (bone == HumanBodyBones.RightUpperLeg && CutBoneRightUpperLeg) { return; } - if (bone == HumanBodyBones.LeftLowerLeg && CutBoneLeftLowerLeg) { return; } - if (bone == HumanBodyBones.RightLowerLeg && CutBoneRightLowerLeg) { return; } - if (bone == HumanBodyBones.LeftFoot && CutBoneLeftFoot) { return; } - if (bone == HumanBodyBones.RightFoot && CutBoneRightFoot) { return; } - if (bone == HumanBodyBones.Spine && CutBoneSpine) { return; } - if (bone == HumanBodyBones.Chest && CutBoneChest) { return; } - if (bone == HumanBodyBones.Neck && CutBoneNeck) { return; } - if (bone == HumanBodyBones.Head && CutBoneHead) { return; } - if (bone == HumanBodyBones.LeftShoulder && CutBoneLeftShoulder) { return; } - if (bone == HumanBodyBones.RightShoulder && CutBoneRightShoulder) { return; } - if (bone == HumanBodyBones.LeftUpperArm && CutBoneLeftUpperArm) { return; } - if (bone == HumanBodyBones.RightUpperArm && CutBoneRightUpperArm) { return; } - if (bone == HumanBodyBones.LeftLowerArm && CutBoneLeftLowerArm) { return; } - if (bone == HumanBodyBones.RightLowerArm && CutBoneRightLowerArm) { return; } - if (bone == HumanBodyBones.LeftHand && CutBoneLeftHand) { return; } - if (bone == HumanBodyBones.RightHand && CutBoneRightHand) { return; } - if (bone == HumanBodyBones.LeftToes && CutBoneLeftToes) { return; } - if (bone == HumanBodyBones.RightToes && CutBoneRightToes) { return; } - if (bone == HumanBodyBones.LeftEye && CutBoneLeftEye) { return; } - if (bone == HumanBodyBones.RightEye && CutBoneRightEye) { return; } - if (bone == HumanBodyBones.Jaw && CutBoneJaw) { return; } - if (bone == HumanBodyBones.LeftThumbProximal && CutBoneLeftThumbProximal) { return; } - if (bone == HumanBodyBones.LeftThumbIntermediate && CutBoneLeftThumbIntermediate) { return; } - if (bone == HumanBodyBones.LeftThumbDistal && CutBoneLeftThumbDistal) { return; } - if (bone == HumanBodyBones.LeftIndexProximal && CutBoneLeftIndexProximal) { return; } - if (bone == HumanBodyBones.LeftIndexIntermediate && CutBoneLeftIndexIntermediate) { return; } - if (bone == HumanBodyBones.LeftIndexDistal && CutBoneLeftIndexDistal) { return; } - if (bone == HumanBodyBones.LeftMiddleProximal && CutBoneLeftMiddleProximal) { return; } - if (bone == HumanBodyBones.LeftMiddleIntermediate && CutBoneLeftMiddleIntermediate) { return; } - if (bone == HumanBodyBones.LeftMiddleDistal && CutBoneLeftMiddleDistal) { return; } - if (bone == HumanBodyBones.LeftRingProximal && CutBoneLeftRingProximal) { return; } - if (bone == HumanBodyBones.LeftRingIntermediate && CutBoneLeftRingIntermediate) { return; } - if (bone == HumanBodyBones.LeftRingDistal && CutBoneLeftRingDistal) { return; } - if (bone == HumanBodyBones.LeftLittleProximal && CutBoneLeftLittleProximal) { return; } - if (bone == HumanBodyBones.LeftLittleIntermediate && CutBoneLeftLittleIntermediate) { return; } - if (bone == HumanBodyBones.LeftLittleDistal && CutBoneLeftLittleDistal) { return; } - if (bone == HumanBodyBones.RightThumbProximal && CutBoneRightThumbProximal) { return; } - if (bone == HumanBodyBones.RightThumbIntermediate && CutBoneRightThumbIntermediate) { return; } - if (bone == HumanBodyBones.RightThumbDistal && CutBoneRightThumbDistal) { return; } - if (bone == HumanBodyBones.RightIndexProximal && CutBoneRightIndexProximal) { return; } - if (bone == HumanBodyBones.RightIndexIntermediate && CutBoneRightIndexIntermediate) { return; } - if (bone == HumanBodyBones.RightIndexDistal && CutBoneRightIndexDistal) { return; } - if (bone == HumanBodyBones.RightMiddleProximal && CutBoneRightMiddleProximal) { return; } - if (bone == HumanBodyBones.RightMiddleIntermediate && CutBoneRightMiddleIntermediate) { return; } - if (bone == HumanBodyBones.RightMiddleDistal && CutBoneRightMiddleDistal) { return; } - if (bone == HumanBodyBones.RightRingProximal && CutBoneRightRingProximal) { return; } - if (bone == HumanBodyBones.RightRingIntermediate && CutBoneRightRingIntermediate) { return; } - if (bone == HumanBodyBones.RightRingDistal && CutBoneRightRingDistal) { return; } - if (bone == HumanBodyBones.RightLittleProximal && CutBoneRightLittleProximal) { return; } - if (bone == HumanBodyBones.RightLittleIntermediate && CutBoneRightLittleIntermediate) { return; } - if (bone == HumanBodyBones.RightLittleDistal && CutBoneRightLittleDistal) { return; } - if (bone == HumanBodyBones.UpperChest && CutBoneUpperChest) { return; } - } - - //指ボーン - if (bone == HumanBodyBones.LeftIndexDistal || - bone == HumanBodyBones.LeftIndexIntermediate || - bone == HumanBodyBones.LeftIndexProximal || - bone == HumanBodyBones.LeftLittleDistal || - bone == HumanBodyBones.LeftLittleIntermediate || - bone == HumanBodyBones.LeftLittleProximal || - bone == HumanBodyBones.LeftMiddleDistal || - bone == HumanBodyBones.LeftMiddleIntermediate || - bone == HumanBodyBones.LeftMiddleProximal || - bone == HumanBodyBones.LeftRingDistal || - bone == HumanBodyBones.LeftRingIntermediate || - bone == HumanBodyBones.LeftRingProximal || - bone == HumanBodyBones.LeftThumbDistal || - bone == HumanBodyBones.LeftThumbIntermediate || - bone == HumanBodyBones.LeftThumbProximal || - - bone == HumanBodyBones.RightIndexDistal || - bone == HumanBodyBones.RightIndexIntermediate || - bone == HumanBodyBones.RightIndexProximal || - bone == HumanBodyBones.RightLittleDistal || - bone == HumanBodyBones.RightLittleIntermediate || - bone == HumanBodyBones.RightLittleProximal || - bone == HumanBodyBones.RightMiddleDistal || - bone == HumanBodyBones.RightMiddleIntermediate || - bone == HumanBodyBones.RightMiddleProximal || - bone == HumanBodyBones.RightRingDistal || - bone == HumanBodyBones.RightRingIntermediate || - bone == HumanBodyBones.RightRingProximal || - bone == HumanBodyBones.RightThumbDistal || - bone == HumanBodyBones.RightThumbIntermediate || - bone == HumanBodyBones.RightThumbProximal) - { - //指ボーンカットオフが有効でなければ - if (!HandPoseSynchronizeCutoff) - { - //ボーン同期する。ただしフィルタはかけない - BoneSynchronizeSingle(t, ref bone, ref pos, ref rot, false, false); - } - } - //目ボーン - else if (bone == HumanBodyBones.LeftEye || - bone == HumanBodyBones.RightEye) - { - //目ボーンカットオフが有効でなければ - if (!EyeBoneSynchronizeCutoff) - { - //ボーン同期する。ただしフィルタはかけない - BoneSynchronizeSingle(t, ref bone, ref pos, ref rot, false, false); - } - } - else - { - //ボーン同期する。フィルタは設定依存 - BoneSynchronizeSingle(t, ref bone, ref pos, ref rot, BonePositionFilterEnable, BoneRotationFilterEnable); - } - } - } - } - - //1本のボーンの同期 - private void BoneSynchronizeSingle(Transform t, ref HumanBodyBones bone, ref Vector3 pos, ref Quaternion rot, bool posFilter, bool rotFilter) - { - BoneFilter = Mathf.Clamp(BoneFilter, 0f, 1f); - - //ボーン位置同期が有効か - if (BonePositionSynchronize) - { - //ボーン位置フィルタが有効か - if (posFilter) - { - bonePosFilter[(int)bone] = (bonePosFilter[(int)bone] * BoneFilter) + pos * (1.0f - BoneFilter); - t.localPosition = bonePosFilter[(int)bone]; - } - else - { - t.localPosition = pos; - } - } - - //ボーン回転フィルタが有効か - if (rotFilter) - { - boneRotFilter[(int)bone] = Quaternion.Slerp(boneRotFilter[(int)bone], rot, 1.0f - BoneFilter); - t.localRotation = boneRotFilter[(int)bone]; - } - else - { - t.localRotation = rot; - } - } - - //ボーンENUM情報をキャッシュして高速化 - private bool HumanBodyBonesTryParse(ref string boneName, out HumanBodyBones bone) - { - //ボーンキャッシュテーブルに存在するなら - if (HumanBodyBonesTable.ContainsKey(boneName)) - { - //キャッシュテーブルから返す - bone = HumanBodyBonesTable[boneName]; - //ただしLastBoneは発見しなかったことにする(無効値として扱う) - if (bone == HumanBodyBones.LastBone) - { - return false; - } - return true; - } - else - { - //キャッシュテーブルにない場合、検索する - var res = EnumTryParse(boneName, out bone); - if (!res) - { - //見つからなかった場合はLastBoneとして登録する(無効値として扱う)ことにより次回から検索しない - bone = HumanBodyBones.LastBone; - } - //キャシュテーブルに登録する - HumanBodyBonesTable.Add(boneName, bone); - return res; - } - } - - //互換性を持ったTryParse - private static bool EnumTryParse(string value, out T result) where T : struct - { -#if NET_4_6 - return Enum.TryParse(value, out result); -#else - try - { - result = (T)Enum.Parse(typeof(T), value, true); - return true; - } - catch - { - result = default(T); - return false; - } -#endif - } - - //アプリケーションを終了させる - public void ApplicationQuit() - { -#if UNITY_EDITOR - UnityEditor.EditorApplication.isPlaying = false; -#else - Application.Quit(); -#endif - } - } -} diff --git a/Assets/External/EVMC4U/ExternalReceiver.cs.meta b/Assets/External/EVMC4U/ExternalReceiver.cs.meta deleted file mode 100644 index 096c22971..000000000 --- a/Assets/External/EVMC4U/ExternalReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b2b1a1db52b2afb4e9cb87fac5cbf079 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/ExternalReceiver.prefab.meta b/Assets/External/EVMC4U/ExternalReceiver.prefab.meta index adb1f3c7e..1efcc4514 100644 --- a/Assets/External/EVMC4U/ExternalReceiver.prefab.meta +++ b/Assets/External/EVMC4U/ExternalReceiver.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 86b1e8192cb57cd47890882526664df1 +guid: dbead67fd223bea42a0be264a1c038f3 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/External/EVMC4U/InputReceiver.cs b/Assets/External/EVMC4U/InputReceiver.cs deleted file mode 100644 index 20348083b..000000000 --- a/Assets/External/EVMC4U/InputReceiver.cs +++ /dev/null @@ -1,268 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#pragma warning disable 0414,0219 -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.Profiling; -using VRM; - -namespace EVMC4U -{ - public class InputReceiver : MonoBehaviour, IExternalReceiver - { - [Header("InputReceiver v1.1")] - [SerializeField, Label("動作状況")] - private string StatusMessage = ""; //Inspector表示用 - [SerializeField, Label("最終入力")] - private string LastInput = ""; - -#if EVMC4U_JA - [Header("入力イベント")] -#else - [Header("Event Callback")] -#endif - public KeyInputEvent KeyInputAction = new KeyInputEvent(); //キーボード入力イベント - public ControllerInputEvent ControllerInputAction = new ControllerInputEvent(); //コントローラボタンイベント - public MidiNoteInputEvent MidiNoteInputAction = new MidiNoteInputEvent(); - public MidiCCValueInputEvent MidiCCValueInputAction = new MidiCCValueInputEvent(); - public MidiCCButtonInputEvent MidiCCButtonInputAction = new MidiCCButtonInputEvent(); - -#if EVMC4U_JA - [Header("MIDI CC モニタ(つまみ、ボタン)")] -#else - [Header("MIDI CC Monitor")] -#endif - public float[] CCValuesMonitor = new float[128]; - -#if EVMC4U_JA - [Header("デイジーチェーン")] -#else - [Header("Daisy Chain")] -#endif - public GameObject[] NextReceivers = new GameObject[1]; - - //--- - - //入力辞書(コールバックではなく定値で取得したい場合に使う) - public Dictionary InputDictionary = new Dictionary(); - - //--- - - private ExternalReceiverManager externalReceiverManager = null; - bool shutdown = false; - - //メッセージ処理一時変数struct(負荷対策) - ControllerInput con; - KeyInput key; - MidiNote note; - MidiCCValue ccvalue; - MidiCCButton ccbutton; - - void Start() - { - externalReceiverManager = new ExternalReceiverManager(NextReceivers); - StatusMessage = "Waiting for Master..."; - - //強制 - CCValuesMonitor = new float[128]; - } - - //デイジーチェーンを更新 - public void UpdateDaisyChain() - { - externalReceiverManager.GetIExternalReceiver(NextReceivers); - } - - public void MessageDaisyChain(ref uOSC.Message message, int callCount) - { - //Startされていない場合無視 - if (externalReceiverManager == null || enabled == false || gameObject.activeInHierarchy == false) - { - return; - } - - if (shutdown) - { - return; - } - - StatusMessage = "OK"; - - //異常を検出して動作停止 - try - { - ProcessMessage(ref message); - } - catch (Exception e) - { - StatusMessage = "Error: Exception"; - Debug.LogError(" --- Communication Error ---"); - Debug.LogError(e.ToString()); - shutdown = true; - return; - } - - if (!externalReceiverManager.SendNextReceivers(message, callCount)) - { - StatusMessage = "Infinite loop detected!"; - shutdown = true; - } - } - - private void ProcessMessage(ref uOSC.Message message) - { - //メッセージアドレスがない、あるいはメッセージがない不正な形式の場合は処理しない - if (message.address == null || message.values == null) - { - StatusMessage = "Bad message."; - return; - } - - //コントローラ操作情報 v2.1 - if (message.address == "/VMC/Ext/Con" - && (message.values[0] is int) - && (message.values[1] is string) - && (message.values[2] is int) - && (message.values[3] is int) - && (message.values[4] is int) - && (message.values[5] is float) - && (message.values[6] is float) - && (message.values[7] is float) - ) - { - con.active = (int)message.values[0]; - con.name = (string)message.values[1]; - con.IsLeft = (int)message.values[2]; - con.IsTouch = (int)message.values[3]; - con.IsAxis = (int)message.values[4]; - con.Axis.x = (float)message.values[5]; - con.Axis.y = (float)message.values[6]; - con.Axis.z = (float)message.values[7]; - - //イベントを呼び出す - if (ControllerInputAction != null) - { - ControllerInputAction.Invoke(con); - } - if (con.IsAxis == 0) { - if (con.IsLeft == 1) - { - LastInput = "Left-" + con.name + " = " + con.active; - InputDictionary["Left-" + con.name] = (con.active != 0); - } - else - { - LastInput = "Right-" + con.name + " = " + con.active; - InputDictionary["Right-" + con.name] = (con.active != 0); - } - } - } - //キーボード操作情報 v2.1 - else if (message.address == "/VMC/Ext/Key" - && (message.values[0] is int) - && (message.values[1] is string) - && (message.values[2] is int) - ) - { - key.active = (int)message.values[0]; - key.name = (string)message.values[1]; - key.keycode = (int)message.values[2]; - - //イベントを呼び出す - if (KeyInputAction != null) - { - KeyInputAction.Invoke(key); - } - - LastInput = "Key-" + key.name +" = "+key.active + " (" + key.keycode + ")"; - } - // v2.2 - else if (message.address == "/VMC/Ext/Midi/Note" - && (message.values[0] is int) - && (message.values[1] is int) - && (message.values[2] is int) - && (message.values[3] is float) - ) - { - note.active = (int)message.values[0]; - note.channel = (int)message.values[1]; - note.note = (int)message.values[2]; - note.velocity = (float)message.values[3]; - - //イベントを呼び出す - if (MidiNoteInputAction != null) - { - MidiNoteInputAction.Invoke(note); - } - - LastInput = "Note-" + note.note + " = "+note.active + "/" + note.channel + "/" + note.velocity; - InputDictionary["Note-" + note.note] = (note.active != 0); - } - // v2.2 - else if (message.address == "/VMC/Ext/Midi/CC/Val" - && (message.values[0] is int) - && (message.values[1] is float) - ) - { - ccvalue.knob = (int)message.values[0]; - ccvalue.value = (float)message.values[1]; - - //イベントを呼び出す - if (MidiCCValueInputAction != null) - { - MidiCCValueInputAction.Invoke(ccvalue); - } - - LastInput = "CC Val " + ccvalue.knob + " = " + ccvalue.value; - - if (ccvalue.knob >= 0 && ccvalue.knob < 128) { - CCValuesMonitor[ccvalue.knob] = ccvalue.value; - } - } - // v2.2 - else if (message.address == "/VMC/Ext/Midi/CC/Bit" - && (message.values[0] is int) - && (message.values[1] is int) - ) - { - ccbutton.knob = (int)message.values[0]; - ccbutton.active = (int)message.values[1]; - - //イベントを呼び出す - if (MidiCCButtonInputAction != null) - { - MidiCCButtonInputAction.Invoke(ccbutton); - } - LastInput = "CC-" + ccbutton.knob + " = " + ccbutton.active; - InputDictionary["CC-" + ccbutton.knob] = (ccbutton.active != 0); - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/InputReceiver.cs.meta b/Assets/External/EVMC4U/InputReceiver.cs.meta deleted file mode 100644 index 079166936..000000000 --- a/Assets/External/EVMC4U/InputReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b7b6344b39082f64e8111bc0fd99f9c2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/LICENSE b/Assets/External/EVMC4U/LICENSE deleted file mode 100644 index 4061123fa..000000000 --- a/Assets/External/EVMC4U/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019-2020 gpsnmeajp - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Assets/External/EVMC4U/LICENSE.meta b/Assets/External/EVMC4U/LICENSE.meta deleted file mode 100644 index e56dfac9a..000000000 --- a/Assets/External/EVMC4U/LICENSE.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d4d62af2deec5eb48896ec651fa9571b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs b/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs deleted file mode 100644 index dc2270f19..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - public class CCCameraControl : MonoBehaviour - { - public InputReceiver r; - public Camera c; - private void Update() - { - c.fieldOfView = r.CCValuesMonitor[16] * 90 + 1; - c.transform.position = new Vector3((r.CCValuesMonitor[0] - 0.5f) * 3f, (r.CCValuesMonitor[1] - 0.5f) * 3f, (r.CCValuesMonitor[2]-0.5f)*3f); - c.transform.rotation = Quaternion.Euler(r.CCValuesMonitor[3]*360f, r.CCValuesMonitor[4] * 360f, r.CCValuesMonitor[5] * 360f); - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs.meta b/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs.meta deleted file mode 100644 index c4d79e980..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CCCameraControl/CCCameraControl.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 38cb49d414319034c9a457279ea5133f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs b/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs deleted file mode 100644 index 16fd6b3e0..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs +++ /dev/null @@ -1,123 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using EVMC4U; - -public class CalibrationByController : MonoBehaviour -{ - public InputReceiver inputReceiver; - public CommunicationValidator communicationValidator; - public ExternalController externalController; - - [Header("Button Configuration")] - public string Key = "ScrollLock"; - public string Button = "ClickAbutton"; - - [Header("Time Configuration")] - public float Time = 3f; - - [Header("Button Monitor")] - public bool LeftButton = false; - public bool RightButton = false; - - readonly Rect rect1 = new Rect(0, 0, 300, 40); - - void Start() - { - inputReceiver.KeyInputAction.AddListener(OnKey); - inputReceiver.ControllerInputAction.AddListener(OnCon); - } - - void OnGUI() - { - if (communicationValidator.calibrationState == CalibrationState.Uncalibrated) - { - GUI.TextField(rect1, "★キャリブレーションを待っています\n準備ができたらボタンを押してください"); - } - if (communicationValidator.calibrationState == CalibrationState.WaitingForCalibrating) - { - GUI.TextField(rect1, "★姿勢を整えてください"); - } - if (communicationValidator.calibrationState == CalibrationState.Calibrating) - { - GUI.TextField(rect1, "!動かないでください!"); - } - } - - void OnKey(KeyInput key) - { - if (key.name == Key && key.active == 1) - { - CalibrationReady(); - } - } - void OnCon(ControllerInput con) - { - if (con.name == Button) - { - if (con.IsLeft == 1) - { - LeftButton = (con.active == 1); - } - else { - RightButton = (con.active == 1); - } - if (LeftButton && RightButton) { - //キャリブレーションできていないときのみ実行 - if (communicationValidator.calibrationState == CalibrationState.Uncalibrated) - { - CalibrationReady(); - } - - LeftButton = false; - RightButton = false; - } - } - } - - void CalibrationReady() - { - Debug.Log("[CalibrationByController] CalibrationReady"); - //多重キャリブレーション時の不良動作対処に、2回キャリブレーション要求する - externalController.CalibrationReady = true; - Invoke("CalibrationReady2", 0.5f); - } - void CalibrationReady2() { - Debug.Log("[CalibrationByController] CalibrationReady"); - - externalController.CalibrationReady = true; - Invoke("CalibrationExecute", Time); - } - void CalibrationExecute() { - Debug.Log("[CalibrationByController] CalibrationExecute"); - - //キャリブレーション実施 - externalController.CalibrationExecute = true; - } -} diff --git a/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs.meta b/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs.meta deleted file mode 100644 index adca077f3..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CalibrationByController/CalibrationByController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a57104fd6abed25418f0b912791d8f6d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs b/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs deleted file mode 100644 index b19dbf453..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs +++ /dev/null @@ -1,117 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -namespace EVMC4U -{ - public class CapsuleRigidbodyMover : MonoBehaviour - { - public Transform MovePos; - public Transform MoveRot; - public Transform chest; - - EDirection direction = EDirection.STOP; - bool click = false; - - enum EDirection { - STOP, - FORWARD, - BACK, - LEFT, - RIGHT - } - - // Start is called before the first frame update - void Start() - { - } - - // Update is called once per frame - void Update() - { - switch (direction) { - case EDirection.FORWARD: MovePos.position += chest.forward * 10f * Time.deltaTime; break; - case EDirection.BACK: MovePos.position += chest.forward * -10f * Time.deltaTime; break; - case EDirection.LEFT: MoveRot.Rotate(new Vector3(0, -100f * Time.deltaTime, 0)); break; - case EDirection.RIGHT: MoveRot.Rotate(new Vector3(0, 100f * Time.deltaTime, 0)); break; - default: break; - } - } - - public void KeyInputEvent(EVMC4U.KeyInput key) - { - if (key.active == 1) - { - switch (key.name) { - case "W": direction = EDirection.FORWARD; break; - case "S": direction = EDirection.BACK; break; - case "A": direction = EDirection.LEFT; break; - case "D": direction = EDirection.RIGHT; break; - } - }else{ - direction = 0; - } - } - - public void ControllerInputEvent(EVMC4U.ControllerInput con) - { - if (con.name == "PositionTrackpad") - { - if (con.IsAxis == 1) - { - var rot = Mathf.Atan2(con.Axis.x, con.Axis.y) * Mathf.Rad2Deg; - - if (-45 <= rot && rot < 45) - { - direction = EDirection.FORWARD; - } - else if (45 <= rot && rot < 135) - { - direction = EDirection.RIGHT; - } - else if (-135 <= rot && rot < -45) - { - direction = EDirection.LEFT; - } - else - { - direction = EDirection.BACK; - } - } - } - if(con.name == "ClickTrackpad") - { - click = con.active == 1; - } - if (!click) - { - direction = EDirection.STOP; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs.meta b/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs.meta deleted file mode 100644 index b70faa262..000000000 --- a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover/CapsuleRigidbodyMover.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8f1fc480ff691e345af16e7fa651417e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher.meta b/Assets/External/EVMC4U/SampleScripts/DeviceAttacher.meta deleted file mode 100644 index f5c587455..000000000 --- a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 86b6989340add9447bb256f0c003b57f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs b/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs deleted file mode 100644 index a8c12b823..000000000 --- a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs +++ /dev/null @@ -1,43 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using EVMC4U; - -public class DeviceAttacher: MonoBehaviour { - public DeviceReceiver deviceReceiver; - public string DeviceSerial = null; - - void Update () { - for (int i = 0; i < deviceReceiver.Serials.Length; i++) { - if (deviceReceiver.Serials[i] == DeviceSerial) { - deviceReceiver.Transforms[i] = transform; - } - } - } -} diff --git a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs.meta b/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs.meta deleted file mode 100644 index b796319c7..000000000 --- a/Assets/External/EVMC4U/SampleScripts/DeviceAttacher/DeviceAttacher.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6adc09d226c320b47931ccca7db11d22 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch.meta b/Assets/External/EVMC4U/SampleScripts/FreezeSwitch.meta deleted file mode 100644 index 60fdeed94..000000000 --- a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e3ab1687368e7234191bef23b011eda6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs b/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs deleted file mode 100644 index 28b5de11a..000000000 --- a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - public class FreezeSwitch : MonoBehaviour - { - public ExternalReceiver externalReceiver; - public InputReceiver inputReceiver; - - public string Key= "スペース"; - public string Button= "ClickMenu"; - void Start() - { - inputReceiver.KeyInputAction.AddListener(OnKey); - inputReceiver.ControllerInputAction.AddListener(OnCon); - } - void OnKey(KeyInput key) - { - if (key.name == Key) { - if (key.active == 1) { - externalReceiver.Freeze = !externalReceiver.Freeze; - } - } - } - void OnCon(ControllerInput con) - { - if (con.name == Button) - { - if (con.active == 1) - { - externalReceiver.Freeze = !externalReceiver.Freeze; - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs.meta b/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs.meta deleted file mode 100644 index c7d91f535..000000000 --- a/Assets/External/EVMC4U/SampleScripts/FreezeSwitch/FreezeSwitch.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 97fd16077045a25459ca9b9ad21be3e3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch.meta b/Assets/External/EVMC4U/SampleScripts/HandCatch.meta deleted file mode 100644 index 7f8f7ed23..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1ba7b15a3117ea446a06b3d34fa9b5e1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs deleted file mode 100644 index c58ce8cc2..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs +++ /dev/null @@ -1,412 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - [RequireComponent(typeof(ExternalReceiver))] - public class HandCatch : MonoBehaviour - { - //表示オンオフ - public bool ShowCollider = true; - bool ShowColliderOld = true; - - public float NonHoldFilter = 0f; - public float InHoldFilter = 0.90f; - - float offset = 0.06f; - float size = 0.15f; - - public string CollisionTag = ""; - - public float SpeedMultiplier = 1.0f; - - public string LeftKey = "Z"; - public string RightKey = "X"; - public string ControllerButton = "ClickTrigger"; - - public bool signaling = true; - - public bool StickyMode = false; - - bool stickyLeft = false; - bool stickyRight = false; - - ExternalReceiver exrcv; - InputReceiver inputrcv; - - Transform leftHand; - Transform rightHand; - - GameObject leftSphere; - GameObject rightSphere; - - Rigidbody leftRigidBody; - Rigidbody rightRigidBody; - - Vector3 leftLastPos; - Vector3 rightLastPos; - Vector3 leftLastSpeed; - Vector3 rightLastSpeed; - - HandCatch_Helper leftHelper; - HandCatch_Helper rightHelper; - - GameObject leftCatchedObject; - GameObject rightCatchedObject; - - bool leftCatchedObjectIsKinematic; - bool rightCatchedObjectIsKinematic; - - Transform leftCatchedObjectParent; - Transform rightCatchedObjectParent; - - void Start() - { - //ExternalReceiverにキー操作を登録 - exrcv = GetComponent(); - inputrcv = GetComponentInChildren(); - - inputrcv.ControllerInputAction.AddListener(ControllerInputEvent); - inputrcv.KeyInputAction.AddListener(KeyInputEvent); - - //ブレ防止用にフィルタを設定 - exrcv.BonePositionFilterEnable = true; - exrcv.BoneRotationFilterEnable = true; - exrcv.BoneFilter = NonHoldFilter; - - //手のボーンを取得 - var anim = exrcv.Model.GetComponent(); - leftHand = anim.GetBoneTransform(HumanBodyBones.LeftHand); - rightHand = anim.GetBoneTransform(HumanBodyBones.RightHand); - - //左手当たり判定スフィア生成 - leftSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); - leftSphere.transform.parent = leftHand; - leftSphere.transform.localPosition = new Vector3(-offset, 0f, 0f); - leftSphere.transform.localScale = new Vector3(size, size, size); - - //左手当たり判定スフィアコライダー設定 - var leftCollider = leftSphere.GetComponent(); - //コライダーは反応のみで衝突しない - leftCollider.isTrigger = true; - - //左手当たり判定物理演算追加 - leftRigidBody = leftSphere.AddComponent(); - //物理は反応のみで演算しない - leftRigidBody.isKinematic = true; - - //左手当たり判定ヘルパー追加 - leftHelper = leftSphere.AddComponent(); - - //右手当たり判定スフィア生成 - rightSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); - rightSphere.transform.parent = rightHand; - rightSphere.transform.localPosition = new Vector3(offset, 0f, 0f); - rightSphere.transform.localScale = new Vector3(size, size, size); - - //右手当たり判定スフィアコライダー設定 - var rightCollider = rightSphere.GetComponent(); - //コライダーは反応のみで衝突しない - rightCollider.isTrigger = true; - - //右手当たり判定物理演算追加 - rightRigidBody = rightSphere.AddComponent(); - //物理は反応のみで演算しない - rightRigidBody.isKinematic = true; - - //右手当たり判定ヘルパー追加 - rightHelper = rightSphere.AddComponent(); - } - - //物理演算のためFixedUpdate - void FixedUpdate() - { - //剥がれ防止で親を設定 - leftSphere.transform.parent = leftHand; - leftSphere.transform.localPosition = new Vector3(-offset, 0f, 0f); - leftSphere.transform.localScale = new Vector3(size, size, size); - rightSphere.transform.parent = rightHand; - rightSphere.transform.localPosition = new Vector3(offset, 0f, 0f); - rightSphere.transform.localScale = new Vector3(size, size, size); - - //表示非表示を反映 - if (ShowColliderOld != ShowCollider) { - leftSphere.GetComponent().enabled = ShowCollider; - rightSphere.GetComponent().enabled = ShowCollider; - - ShowColliderOld = ShowCollider; - } - - //投げるとき用にフレーム間速度を求める - leftLastSpeed = SpeedMultiplier * (leftHand.transform.position - leftLastPos)/Time.fixedDeltaTime; - leftLastPos = leftHand.transform.position; - rightLastSpeed = SpeedMultiplier * (rightHand.transform.position - rightLastPos)/Time.fixedDeltaTime; - rightLastPos = rightHand.transform.position; - } - - //左手掴む処理 - void CatchLeft(bool s) - { - if (s) - { - //つかみ処理 - if (leftHelper.Trigger && leftHelper.other != null) - { - //コリジョンタグになにか文字が入っていて、対象と一致しない場合は処理しない - if (CollisionTag != "" && CollisionTag != leftHelper.other.tag) { - return; - } - //左手ですでに掴んでいるものは掴まない - if (leftHelper.other.gameObject.transform.parent == leftSphere.transform) - { - return; - } - //右手ですでに掴んでいるものは掴まない - if (leftHelper.other.gameObject.transform.parent == rightSphere.transform) - { - return; - } - - //解除用に保持 - leftCatchedObject = leftHelper.other.gameObject; - - //親を保存 - leftCatchedObjectParent = leftCatchedObject.transform.parent; - - //手を親に上書き - leftCatchedObject.transform.parent = leftSphere.transform; - - //掴むために物理演算を切る - var rigid = leftCatchedObject.GetComponent(); - if (rigid != null) { - //IsKinematicを保存 - leftCatchedObjectIsKinematic = rigid.isKinematic; - //設定に関わらずtrueにする - rigid.isKinematic = true; - } - - //フィルタ強く - exrcv.BoneFilter = InHoldFilter; - - //オブジェクトにメッセージを送る - if (signaling) - { - leftCatchedObject.SendMessage("OnCatchedLeftHand"); - } - } - } - else - { - if (leftCatchedObject != null) - { - //解除して親に戻す - leftCatchedObject.transform.parent = leftCatchedObjectParent; - - //掴むために物理演算を切る - var rigid = leftCatchedObject.GetComponent(); - if (rigid != null) - { - //IsKinematicを保存していた設定にする - rigid.isKinematic = leftCatchedObjectIsKinematic; - - //投げるために速度を転送する - rigid.linearVelocity = leftLastSpeed; - } - - //フィルタ解除 - exrcv.BoneFilter = NonHoldFilter; - - //オブジェクトにメッセージを送る - if (signaling) - { - leftCatchedObject.SendMessage("OnReleasedLeftHand"); - } - } - } - } - - void CatchRight(bool s) - { - if (s) - { - if (rightHelper.Trigger && rightHelper.other != null) - { - //コリジョンタグになにか文字が入っていて、対象と一致しない場合は処理しない - if (CollisionTag != "" && CollisionTag != rightHelper.other.tag) - { - return; - } - //左手ですでに掴んでいるものは掴まない - if (rightHelper.other.gameObject.transform.parent == leftSphere.transform) - { - return; - } - //右手ですでに掴んでいるものは掴まない - if (rightHelper.other.gameObject.transform.parent == rightSphere.transform) - { - return; - } - - //解除用に保持 - rightCatchedObject = rightHelper.other.gameObject; - - //親を保存 - rightCatchedObjectParent = rightCatchedObject.transform.parent; - - //手を親に上書き - rightCatchedObject.transform.parent = rightSphere.transform; - - //掴むために物理演算を切る - var rigid = rightCatchedObject.GetComponent(); - if (rigid != null) - { - //IsKinematicを保存 - rightCatchedObjectIsKinematic = rigid.isKinematic; - //設定に関わらずtrueにする - rigid.isKinematic = true; - } - - //フィルタ強く - exrcv.BoneFilter = InHoldFilter; - - //オブジェクトにメッセージを送る - if (signaling) - { - rightCatchedObject.SendMessage("OnCatchedRightHand"); - } - } - } - else - { - if (rightCatchedObject != null) - { - //解除して親に戻す - rightCatchedObject.transform.parent = rightCatchedObjectParent; - - //掴むために物理演算を切る - var rigid = rightCatchedObject.GetComponent(); - if (rigid != null) - { - //IsKinematicを保存していた設定にする - rigid.isKinematic = rightCatchedObjectIsKinematic; - - Debug.Log(rightRigidBody.linearVelocity); - //投げるために速度を転送する - rigid.linearVelocity = rightLastSpeed; - } - - //フィルタ解除 - exrcv.BoneFilter = NonHoldFilter; - - //オブジェクトにメッセージを送る - if (signaling) - { - rightCatchedObject.SendMessage("OnReleasedRightHand"); - } - } - } - } - - public void KeyInputEvent(EVMC4U.KeyInput key) - { - if (!StickyMode) - { - //Zキーが押されたか - if (key.name == LeftKey) - { - //つかみ・離し - CatchLeft(key.active == 1); - } - //Xキー押されたか - if (key.name == RightKey) - { - //つかみ・離し - CatchRight(key.active == 1); - } - } - else { - if (key.active == 1) - { - //Zキーが押されたか - if (key.name == LeftKey) - { - //つかみ・離し - stickyLeft = !stickyLeft; - CatchLeft(stickyLeft); - } - //Xキー押されたか - if (key.name == RightKey) - { - //つかみ・離し - stickyRight = !stickyRight; - CatchRight(stickyRight); - } - } - } - } - - public void ControllerInputEvent(EVMC4U.ControllerInput con) - { - //トリガー引かれたか - if (con.name == ControllerButton) - { - if (!StickyMode) - { - if (con.IsLeft == 1) - { - //つかみ・離し - CatchLeft(con.active == 1); - } - else - { - //つかみ・離し - CatchRight(con.active == 1); - } - } - else { - if (con.active == 1) { - if (con.IsLeft == 1) - { - //つかみ・離し - stickyLeft = !stickyLeft; - CatchLeft(stickyLeft); - } - else - { - //つかみ・離し - stickyRight = !stickyRight; - CatchRight(stickyRight); - } - } - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs.meta b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs.meta deleted file mode 100644 index 1670c879f..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7d956bc80add4844891ac394eb195161 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs deleted file mode 100644 index c7330ca12..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs +++ /dev/null @@ -1,54 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - public class HandCatch_Helper : MonoBehaviour - { - public bool Trigger = false; - public Collider other; - - private void OnTriggerEnter(Collider other) - { - this.other = other; - Trigger = true; - - GetComponent().material.color = Color.cyan; - } - private void OnTriggerExit(Collider other) - { - this.other = other; - Trigger = false; - - GetComponent().material.color = Color.white; - } - - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs.meta b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs.meta deleted file mode 100644 index 4e894e514..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_Helper.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 32a6e766ebdc4c140b2e2324eae9915c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs deleted file mode 100644 index 1b3744758..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs +++ /dev/null @@ -1,110 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -//掴まれたとき: 手の位置に持つ -//離されたとき: 鞘の位置なら、収まるべき場所に戻る -// そうでないなら、親なしにしてとどまる -namespace EVMC4U -{ - public class HandCatch_WeaponHelper : MonoBehaviour - { - public Transform CaseParent; //鞘オブジェクト - public Transform LeftHoldPosition; //左手保持位置 - public Transform RightHoldPosition; //右手保持位置 - - //鞘に戻らない限界距離 - public float Threshold = 0.5f; - - //どれだけふわっと動くか - public float Filter = 0.8f; - - //初期位置(鞘に収まっている状態) - Vector3 CasePosition; - Quaternion CaseRotation; - - //初期位置(鞘に収まっている状態) - Vector3 TragetPosition; - Quaternion TargetRotation; - - void Start() - { - CasePosition = transform.localPosition; - CaseRotation = transform.localRotation; - - TragetPosition = CasePosition; - TargetRotation = CaseRotation; - } - - void Update() - { - if (transform.parent != null) { - transform.localPosition = Vector3.Lerp(TragetPosition, transform.localPosition, Filter); - transform.localRotation = Quaternion.Lerp(TargetRotation, transform.localRotation, Filter); - } - } - - void OnCatchedLeftHand() - { - Debug.Log("C:L"); - TragetPosition = LeftHoldPosition.localPosition; - TargetRotation = LeftHoldPosition.localRotation; - } - void OnCatchedRightHand() - { - Debug.Log("C:R"); - TragetPosition = RightHoldPosition.localPosition; - TargetRotation = RightHoldPosition.localRotation; - } - - void OnReleasedLeftHand() - { - Debug.Log("R:L"); - OnReleasedRightHand();//同じ処理 - } - - void OnReleasedRightHand() - { - Debug.Log("R:R"); - - //計算用に一時的に親にする - transform.parent = CaseParent; - float distance = Vector3.Distance(CasePosition, transform.localPosition); - if (distance < Threshold) - { - transform.parent = CaseParent; - TragetPosition = CasePosition; - TargetRotation = CaseRotation; - } - else { - transform.parent = null; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs.meta b/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs.meta deleted file mode 100644 index 0263fa669..000000000 --- a/Assets/External/EVMC4U/SampleScripts/HandCatch/HandCatch_WeaponHelper.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0b722cb0621aaad4f9585f5d17bf89e1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch.meta b/Assets/External/EVMC4U/SampleScripts/ObjectSwitch.meta deleted file mode 100644 index 89e06e98b..000000000 --- a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7ac5b962b075c1f4e913c49ad9c50680 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs b/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs deleted file mode 100644 index 44daac8a7..000000000 --- a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs +++ /dev/null @@ -1,57 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2020 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using EVMC4U; - -public class ObjectSwitch : MonoBehaviour -{ - public InputReceiver inputReceiver; - - public string Key = "スペース"; - public string Button = "ClickMenu"; - void Start() - { - inputReceiver.KeyInputAction.AddListener(OnKey); - inputReceiver.ControllerInputAction.AddListener(OnCon); - } - void OnKey(KeyInput key) - { - if (key.name == Key && key.active == 1) - { - gameObject.SetActive(!gameObject.activeSelf); - } - } - void OnCon(ControllerInput con) - { - if (con.name == Button && con.active == 1) - { - gameObject.SetActive(!gameObject.activeSelf); - } - } -} diff --git a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs.meta b/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs.meta deleted file mode 100644 index 77bcbec0f..000000000 --- a/Assets/External/EVMC4U/SampleScripts/ObjectSwitch/ObjectSwitch.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ca3e3053b95a4864cb49cc75a25c816f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/TeleportKit.meta b/Assets/External/EVMC4U/SampleScripts/TeleportKit.meta deleted file mode 100644 index 65be00ad3..000000000 --- a/Assets/External/EVMC4U/SampleScripts/TeleportKit.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0ae2642b6e10fda49985acfd80a2bcda -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs b/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs deleted file mode 100644 index a5d839992..000000000 --- a/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs +++ /dev/null @@ -1,73 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - public class TeleportManager : MonoBehaviour - { - public InputReceiver inputReceiver; - public GameObject ParentObject; - public Animator model; - - public string[] TriggerKey = new string[5]; - public Transform[] TeleportTarget = new Transform[5]; - - private Transform footpos; - - void Start() - { - inputReceiver.KeyInputAction.AddListener(OnKey); - - footpos = model.GetBoneTransform(HumanBodyBones.LeftFoot); - } - - void OnKey(KeyInput key) - { - //押されたときのみ - if (key.active != 1) { - return; - } - //該当するキーを探す - for (int i = 0; i < TriggerKey.Length; i++) { - if (TriggerKey[i] == key.name) { - Debug.Log("Key:" + key.name); - //発見したらターゲット有効性をチェックする - if (TeleportTarget.Length > i) { - if (TeleportTarget[i] != null) { - //モデルに反映 - ParentObject.transform.position -= (footpos.position - TeleportTarget[i].position); - ParentObject.transform.rotation = TeleportTarget[i].rotation; - } - } - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs.meta b/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs.meta deleted file mode 100644 index 6aa14efcd..000000000 --- a/Assets/External/EVMC4U/SampleScripts/TeleportKit/TeleportManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6ca42dd9317a6194d82d5ab6c382cd59 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/misc.meta b/Assets/External/EVMC4U/SampleScripts/misc.meta deleted file mode 100644 index 03d828a05..000000000 --- a/Assets/External/EVMC4U/SampleScripts/misc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9cc666ef35f0a954280a2dc6a3c01c04 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs b/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs deleted file mode 100644 index e033ecba6..000000000 --- a/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs +++ /dev/null @@ -1,86 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.IO; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class HiResolutionPhotoCamera : MonoBehaviour { - //撮影したい解像度 - public int width = 4096; - public int height = 2160; - - //撮影したいカメラ - public Camera cam; - - //撮影ボタン - public bool shot = false; - - void Update () { - //撮影ボタンが押されたら撮影する - if (shot) { - shot = false; - TakePhoto(); - } - } - - void TakePhoto() { - width = 8192; - height = (int)((float)8192 * (float)Screen.height/ (float)Screen.width); - - //撮影したい解像度のRenderテクスチャを作成 - var renderTexture = new RenderTexture(width, height, 24); - //アクティブなレンダーテクスチャを保存 - var save = RenderTexture.active; - - //カメラに描画対象を設定 - cam.targetTexture = renderTexture; - //ReadPixelsの取得元(アクティブなレンダーテクスチャ)を設定 - RenderTexture.active = renderTexture; - - //即座にレンダリングする - cam.Render(); - - //テクスチャを生成して読み取り - Texture2D texture = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.ARGB32, false); - texture.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0); - texture.Apply(); - - //テクスチャをpngファイルに保存 - byte[] data = texture.EncodeToPNG(); - File.WriteAllBytes("output" + DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss-ff")+ ".png", data); - - //破棄 - DestroyImmediate(texture); - - //カメラの描画対象を元に戻す - cam.targetTexture = null; - //アクティブなレンダーテクスチャを復元 - RenderTexture.active = save; - } -} diff --git a/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs.meta b/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs.meta deleted file mode 100644 index 2d2305a31..000000000 --- a/Assets/External/EVMC4U/SampleScripts/misc/HiResolutionPhotoCamera.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a163057f77fd4964d930cb2b19e510c5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Test.meta b/Assets/External/EVMC4U/Test.meta deleted file mode 100644 index 07b4912cc..000000000 --- a/Assets/External/EVMC4U/Test.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7e3d414de8589044f8af782fc6e85db6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Test/AddComponentTest.cs b/Assets/External/EVMC4U/Test/AddComponentTest.cs deleted file mode 100644 index dbd802320..000000000 --- a/Assets/External/EVMC4U/Test/AddComponentTest.cs +++ /dev/null @@ -1,51 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - - -namespace EVMC4U -{ - public class AddComponentTest : MonoBehaviour - { - public GameObject Model; - - // Use this for initialization - void Start() - { - var x = gameObject.AddComponent(); - x.Model = Model; - } - - // Update is called once per frame - void Update() - { - - } - } -} diff --git a/Assets/External/EVMC4U/Test/AddComponentTest.cs.meta b/Assets/External/EVMC4U/Test/AddComponentTest.cs.meta deleted file mode 100644 index e9b884de0..000000000 --- a/Assets/External/EVMC4U/Test/AddComponentTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ca033debfd5f5e749bf2054d2a0527dc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Test/DaisyChainTesting.cs b/Assets/External/EVMC4U/Test/DaisyChainTesting.cs deleted file mode 100644 index 3ce9e753c..000000000 --- a/Assets/External/EVMC4U/Test/DaisyChainTesting.cs +++ /dev/null @@ -1,55 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using uOSC; - -namespace EVMC4U -{ - public class DaisyChainTesting : MonoBehaviour, IExternalReceiver - { - //デイジーチェーンテスト - public void MessageDaisyChain(ref Message message, int callCount) - { - if (message.address == "/VMC/Ext/T") - { - Debug.Log(message.address + "[" + (float)message.values[0] + "]"); - } - - //メッセージ全部Logに出そうとか考えないこと。Unityが死ぬほど送られてきます。 - } - - public void UpdateDaisyChain() - { - throw new NotImplementedException(); - } - - } - -} diff --git a/Assets/External/EVMC4U/Test/DaisyChainTesting.cs.meta b/Assets/External/EVMC4U/Test/DaisyChainTesting.cs.meta deleted file mode 100644 index 8b026623f..000000000 --- a/Assets/External/EVMC4U/Test/DaisyChainTesting.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 115a682733d799a4c8da6c4e1da18253 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/Test/InputTesting.cs b/Assets/External/EVMC4U/Test/InputTesting.cs deleted file mode 100644 index 3b94bd9a3..000000000 --- a/Assets/External/EVMC4U/Test/InputTesting.cs +++ /dev/null @@ -1,103 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace EVMC4U -{ - public class InputTesting : MonoBehaviour - { - public InputReceiver receiver; - private void Start() - { - receiver.ControllerInputAction.AddListener(ControllerInputEvent); - receiver.KeyInputAction.AddListener(KeyInputEvent); - - receiver.MidiNoteInputAction.AddListener(MidiNoteEvent); - receiver.MidiCCValueInputAction.AddListener(MidiCCValEvent); - receiver.MidiCCButtonInputAction.AddListener(MidiCCButtonEvent); - } - - public void KeyInputEvent(EVMC4U.KeyInput key) - { - switch (key.active) - { - case 1: - Debug.Log("" + key.name + "(" + key.keycode + ") pressed."); - break; - case 0: - Debug.Log("" + key.name + "(" + key.keycode + ") released."); - break; - default: - Debug.Log("" + key.name + "(" + key.keycode + ") unknown."); - break; - } - } - - public void ControllerInputEvent(EVMC4U.ControllerInput con) - { - switch (con.active) - { - case 2: - Debug.Log("" + con.name + "(" + ((con.IsAxis == 1) ? "Axis" : "Non Axis") + "/" + ((con.IsLeft == 1) ? "Left" : "Right") + "/" + ((con.IsTouch == 1) ? "Touch" : "Non Touch") + " [" + con.Axis.x + "," + con.Axis.y + "," + con.Axis.z + "]" + ") changed."); - break; - case 1: - Debug.Log("" + con.name + "(" + ((con.IsAxis == 1) ? "Axis" : "Non Axis") + "/" + ((con.IsLeft == 1) ? "Left" : "Right") + "/" + ((con.IsTouch == 1) ? "Touch" : "Non Touch") + " [" + con.Axis.x + "," + con.Axis.y + "," + con.Axis.z + "]" + ") pressed."); - break; - case 0: - Debug.Log("" + con.name + "(" + ((con.IsAxis == 1) ? "Axis" : "Non Axis") + "/" + ((con.IsLeft == 1) ? "Left" : "Right") + "/" + ((con.IsTouch == 1) ? "Touch" : "Non Touch") + " [" + con.Axis.x + "," + con.Axis.y + "," + con.Axis.z + "]" + ") released."); - break; - default: - Debug.Log("" + con.name + "(" + ((con.IsAxis == 1) ? "Axis" : "Non Axis") + "/" + ((con.IsLeft == 1) ? "Left" : "Right") + "/" + ((con.IsTouch == 1) ? "Touch" : "Non Touch") + " [" + con.Axis.x + "," + con.Axis.y + "," + con.Axis.z + "]" + ") unknown."); - break; - } - } - - public void MidiNoteEvent(EVMC4U.MidiNote note) - { - if (note.active == 1) - { - Debug.Log("MIDI Note ON =" + note.note + " channel=" + note.channel + " velocity=" + note.velocity); - } - else - { - Debug.Log("MIDI note OFF =" + note.note + " channel=" + note.channel + " velocity=" + note.velocity); - } - } - - public void MidiCCValEvent(EVMC4U.MidiCCValue val) - { - Debug.Log("MIDI CC Value knob=" + val.knob + " value=" + val.value); - } - - public void MidiCCButtonEvent(EVMC4U.MidiCCButton bit) - { - Debug.Log("MIDI CC Button knob=" + bit.knob + " active=" + bit.active); - } - } -} \ No newline at end of file diff --git a/Assets/External/EVMC4U/Test/InputTesting.cs.meta b/Assets/External/EVMC4U/Test/InputTesting.cs.meta deleted file mode 100644 index 4978ad1e7..000000000 --- a/Assets/External/EVMC4U/Test/InputTesting.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 30c17a2abdf40c749a563c6beb9c4cb3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/class.meta b/Assets/External/EVMC4U/class.meta deleted file mode 100644 index b2e62171b..000000000 --- a/Assets/External/EVMC4U/class.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7618eb7d813fe0348ba985c6aee44247 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/class/EVMC4UeventClass.cs b/Assets/External/EVMC4U/class/EVMC4UeventClass.cs deleted file mode 100644 index 1dd7cc0cc..000000000 --- a/Assets/External/EVMC4U/class/EVMC4UeventClass.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; - -namespace EVMC4U { - //イベント定義 - [Serializable] - public class KeyInputEvent : UnityEvent { }; - [Serializable] - public class ControllerInputEvent : UnityEvent { }; - [Serializable] - public class MidiNoteInputEvent : UnityEvent { }; - [Serializable] - public class MidiCCValueInputEvent : UnityEvent { }; - [Serializable] - public class MidiCCButtonInputEvent : UnityEvent { }; -} diff --git a/Assets/External/EVMC4U/class/EVMC4UeventClass.cs.meta b/Assets/External/EVMC4U/class/EVMC4UeventClass.cs.meta deleted file mode 100644 index ac58fc0a5..000000000 --- a/Assets/External/EVMC4U/class/EVMC4UeventClass.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c8815bc3a23b2e64d867d5a797c3d66b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/class/EVMC4Ustructs.cs b/Assets/External/EVMC4U/class/EVMC4Ustructs.cs deleted file mode 100644 index 34146b0fc..000000000 --- a/Assets/External/EVMC4U/class/EVMC4Ustructs.cs +++ /dev/null @@ -1,128 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -namespace EVMC4U { - //キーボード入力情報 - public struct KeyInput - { - public int active; - public string name; - public int keycode; - } - - //コントローラ入力情報 - public struct ControllerInput - { - public int active; - public string name; - public int IsLeft; - public int IsTouch; - public int IsAxis; - public Vector3 Axis; - } - - //MIDI Note入力情報 - public struct MidiNote - { - public int active; - public int channel; - public int note; - public float velocity; - } - - //MIDI CC Value入力情報 - public struct MidiCCValue - { - public int knob; - public float value; - } - - //MIDI CC Button入力情報 - public struct MidiCCButton - { - public int knob; - public float active; - } - - public enum CalibrationState - { - Uncalibrated = 0, - WaitingForCalibrating = 1, - Calibrating = 2, - Calibrated = 3, - } - public enum CalibrationMode - { - Normal = 0, - MR_Hand = 1, - MR_Floor = 2, - T_Pose = 3, - } - public enum VirtualDevice - { - HMD = 0, - Controller = 1, - Tracker = 2, - } - public class LabelAttribute : PropertyAttribute - { - public readonly string name; - public LabelAttribute(string name) - { - this.name = name; - } - } - -#if UNITY_EDITOR - [CustomPropertyDrawer(typeof(LabelAttribute))] - public class LabelAttributeDrawer : PropertyDrawer - { - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { -#if EVMC4U_JA - var attr = attribute as LabelAttribute; - label.text = attr.name; -#endif - EditorGUI.PropertyField(position, property, label, true); - } - - public override float GetPropertyHeight(SerializedProperty property, GUIContent label) - { - return base.GetPropertyHeight(property, label); - } - } -#endif -} diff --git a/Assets/External/EVMC4U/class/EVMC4Ustructs.cs.meta b/Assets/External/EVMC4U/class/EVMC4Ustructs.cs.meta deleted file mode 100644 index b274ec802..000000000 --- a/Assets/External/EVMC4U/class/EVMC4Ustructs.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c408232ad0549a04885448ccc3c949c5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/class/ExternalReceiverManager.cs b/Assets/External/EVMC4U/class/ExternalReceiverManager.cs deleted file mode 100644 index c116409b1..000000000 --- a/Assets/External/EVMC4U/class/ExternalReceiverManager.cs +++ /dev/null @@ -1,88 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; - -namespace EVMC4U { - public class ExternalReceiverManager - { - List receivers = new List(); - - //コンストラクタ - public ExternalReceiverManager(GameObject[] gameObjects) { - GetIExternalReceiver(gameObjects); - } - - //ゲームオブジェクトからIExternalReceiverを探す - public void GetIExternalReceiver(GameObject[] gameObjects) - { - //リストをクリア - receivers.Clear(); - if (gameObjects == null) { - return; - } - - //GameObjectを調べる - foreach (var g in gameObjects) - { - //GameObjectが存在するなら - if (g != null) { - //IExternalReceiverを探す - var f = g.GetComponent(typeof(IExternalReceiver)) as IExternalReceiver; - if (f != null) { - //リストに突っ込む - receivers.Add(f); - } - } - } - } - - //IExternalReceiverのリストを使って配信する - public bool SendNextReceivers(uOSC.Message message, int callCount) - { - if (callCount > 100) - { - //無限ループ対策 - Debug.LogError("[ExternalReceiver] Too many call(maybe infinite loop)."); - return false; - } - - foreach (var r in receivers) { - //インターフェースがあるか - if (r != null) - { - //Chain数を+1して次へ - r.MessageDaisyChain(ref message, callCount + 1); - } - } - return true; - } - } -} diff --git a/Assets/External/EVMC4U/class/ExternalReceiverManager.cs.meta b/Assets/External/EVMC4U/class/ExternalReceiverManager.cs.meta deleted file mode 100644 index f2b73a07d..000000000 --- a/Assets/External/EVMC4U/class/ExternalReceiverManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5bff20909940d4b42906662b389b7cb1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EVMC4U/class/IExternalReceiver.cs b/Assets/External/EVMC4U/class/IExternalReceiver.cs deleted file mode 100644 index 15255be37..000000000 --- a/Assets/External/EVMC4U/class/IExternalReceiver.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* - * ExternalReceiver - * https://sabowl.sakura.ne.jp/gpsnmeajp/ - * - * MIT License - * - * Copyright (c) 2019 gpsnmeajp - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Events; - -namespace EVMC4U { - //デイジーチェーン受信の最低限のインターフェース - public interface IExternalReceiver - { - void MessageDaisyChain(ref uOSC.Message message, int callCount); - void UpdateDaisyChain(); - } -} diff --git a/Assets/External/EVMC4U/class/IExternalReceiver.cs.meta b/Assets/External/EVMC4U/class/IExternalReceiver.cs.meta deleted file mode 100644 index 8d290d306..000000000 --- a/Assets/External/EVMC4U/class/IExternalReceiver.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6f1804aa17fcc684f856124d233e9672 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/EasyMotionRecorder/Scripts/FaceAnimationRecorder.cs b/Assets/External/EasyMotionRecorder/Scripts/FaceAnimationRecorder.cs index 48f0d04d4..4be39ef73 100644 --- a/Assets/External/EasyMotionRecorder/Scripts/FaceAnimationRecorder.cs +++ b/Assets/External/EasyMotionRecorder/Scripts/FaceAnimationRecorder.cs @@ -447,7 +447,7 @@ namespace Entum { instanceID = id; } - public string GetInstanceID() + public new string GetInstanceID() { return instanceID; } diff --git a/Assets/External/EasyMotionRecorder/Scripts/HumanoidPoses.cs b/Assets/External/EasyMotionRecorder/Scripts/HumanoidPoses.cs index ea6738816..4c0a1be41 100644 --- a/Assets/External/EasyMotionRecorder/Scripts/HumanoidPoses.cs +++ b/Assets/External/EasyMotionRecorder/Scripts/HumanoidPoses.cs @@ -308,7 +308,7 @@ namespace Entum string currentInstanceID = InstanceID; if (string.IsNullOrEmpty(currentInstanceID)) { - var savePathManager = FindObjectOfType(); + var savePathManager = UnityEngine.Object.FindFirstObjectByType(); if (savePathManager != null) { currentInstanceID = savePathManager.InstanceID; @@ -679,7 +679,7 @@ namespace Entum string currentInstanceID = InstanceID; if (string.IsNullOrEmpty(currentInstanceID)) { - var savePathManager = FindObjectOfType(); + var savePathManager = UnityEngine.Object.FindFirstObjectByType(); if (savePathManager != null) { currentInstanceID = savePathManager.InstanceID; @@ -763,7 +763,7 @@ namespace Entum string currentInstanceID = InstanceID; if (string.IsNullOrEmpty(currentInstanceID)) { - var savePathManager = FindObjectOfType(); + var savePathManager = UnityEngine.Object.FindFirstObjectByType(); if (savePathManager != null) { currentInstanceID = savePathManager.InstanceID; diff --git a/Assets/External/EasyMotionRecorder/Scripts/MotionDataPlayer.cs b/Assets/External/EasyMotionRecorder/Scripts/MotionDataPlayer.cs index 4fb688796..3250aa9c5 100644 --- a/Assets/External/EasyMotionRecorder/Scripts/MotionDataPlayer.cs +++ b/Assets/External/EasyMotionRecorder/Scripts/MotionDataPlayer.cs @@ -211,7 +211,7 @@ namespace Entum useDontDestroyOnLoad = use; } - public string GetInstanceID() + public new string GetInstanceID() { return instanceID; } diff --git a/Assets/External/EasyMotionRecorder/Scripts/ObjectMotionRecorder.cs b/Assets/External/EasyMotionRecorder/Scripts/ObjectMotionRecorder.cs index 0b0f1fa8f..b346ee5bb 100644 --- a/Assets/External/EasyMotionRecorder/Scripts/ObjectMotionRecorder.cs +++ b/Assets/External/EasyMotionRecorder/Scripts/ObjectMotionRecorder.cs @@ -227,9 +227,10 @@ namespace Entum // Quaternion 연속성 보장 clip.EnsureQuaternionContinuity(); - // 파일명 생성 (오브젝트 이름 정리) - string objectName = SanitizeFileName(target.name); - string fileName = $"{SessionID}_{objectName}_Object.anim"; + // 파일명 생성 (오브젝트 이름 정리) + string objectName = SanitizeFileName(target.name); + string prefix = string.IsNullOrEmpty(objectNamePrefix) ? "" : (SanitizeFileName(objectNamePrefix) + "_"); + string fileName = $"{SessionID}_{prefix}{objectName}_Object.anim"; // SavePathManager 사용 string savePath = _savePathManager.GetObjectSavePath(); diff --git a/Assets/External/Fullscreen/Editor/After.cs.meta b/Assets/External/Fullscreen/Editor/After.cs.meta index 04b1b23a3..3a759d801 100644 --- a/Assets/External/Fullscreen/Editor/After.cs.meta +++ b/Assets/External/Fullscreen/Editor/After.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/After.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/After.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Cmd.cs.meta b/Assets/External/Fullscreen/Editor/Cmd.cs.meta index 0e7798a75..9d431cf41 100644 --- a/Assets/External/Fullscreen/Editor/Cmd.cs.meta +++ b/Assets/External/Fullscreen/Editor/Cmd.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Cmd.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Cmd.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/DisableSceneView.cs.meta b/Assets/External/Fullscreen/Editor/DisableSceneView.cs.meta index 153e42306..1f310f01a 100644 --- a/Assets/External/Fullscreen/Editor/DisableSceneView.cs.meta +++ b/Assets/External/Fullscreen/Editor/DisableSceneView.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/DisableSceneView.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/DisableSceneView.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Displays/DisplayInfo.windows.cs.meta b/Assets/External/Fullscreen/Editor/Displays/DisplayInfo.windows.cs.meta index 3fbf3c9b7..ce82f15c1 100644 --- a/Assets/External/Fullscreen/Editor/Displays/DisplayInfo.windows.cs.meta +++ b/Assets/External/Fullscreen/Editor/Displays/DisplayInfo.windows.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Displays/DisplayInfo.windows.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Displays/DisplayInfo.windows.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Disposables.cs.meta b/Assets/External/Fullscreen/Editor/Disposables.cs.meta index 6462b6914..ac38d9343 100644 --- a/Assets/External/Fullscreen/Editor/Disposables.cs.meta +++ b/Assets/External/Fullscreen/Editor/Disposables.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Disposables.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Disposables.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs b/Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs new file mode 100644 index 000000000..fc5932381 --- /dev/null +++ b/Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs @@ -0,0 +1,19 @@ +using UnityEditor; + +namespace FullscreenEditor { + [InitializeOnLoad] + public class EnableGameViewShortcuts { + + static EnableGameViewShortcuts() { + // Fixes an issue where users were getting soft locking because the game view shortcuts were disabled by default + // when the game view was in fullscreen mode, and thus the user could not exit fullscreen mode. + FullscreenCallbacks.afterFullscreenOpen += (fs) => { + // UnityEditor.ShortcutManagement.ShortcutIntegration.ignoreWhenPlayModeFocused = false; + var shortcutManager = ReflectionUtility.FindClass("UnityEditor.ShortcutManagement.ShortcutIntegration"); + + if (shortcutManager != null && shortcutManager.HasProperty("ignoreWhenPlayModeFocused")) + shortcutManager.SetPropertyValue("ignoreWhenPlayModeFocused", false); + }; + } + } +} diff --git a/Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs.meta b/Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs.meta similarity index 65% rename from Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs.meta rename to Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs.meta index dda62134d..8b4e6c5b2 100644 --- a/Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs.meta +++ b/Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 848050aee5eb0cd9f904d899474c60d1 +guid: 5fe971fd263a14ba5a600b473cad6cac MonoImporter: externalObjects: {} serializedVersion: 2 @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Linux/NativeFullscreenHook.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/EnableGameViewShortcuts.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FixGameViewMouseInput.cs.meta b/Assets/External/Fullscreen/Editor/FixGameViewMouseInput.cs.meta index c6c11677b..171e4b0a1 100644 --- a/Assets/External/Fullscreen/Editor/FixGameViewMouseInput.cs.meta +++ b/Assets/External/Fullscreen/Editor/FixGameViewMouseInput.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FixGameViewMouseInput.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FixGameViewMouseInput.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Fullscreen.cs.meta b/Assets/External/Fullscreen/Editor/Fullscreen.cs.meta index 988f4ffda..9bbb8a993 100644 --- a/Assets/External/Fullscreen/Editor/Fullscreen.cs.meta +++ b/Assets/External/Fullscreen/Editor/Fullscreen.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Fullscreen.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Fullscreen.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenCallbacks.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenCallbacks.cs.meta index 7da2d9d03..5ac02fb8b 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenCallbacks.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenCallbacks.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenCallbacks.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenCallbacks.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenContainer.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenContainer.cs.meta index cd9c7bb33..f13e4ba76 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenContainer.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenContainer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenContainer.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenContainer.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenContainerInternal.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenContainerInternal.cs.meta index d239318f0..cd854ab20 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenContainerInternal.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenContainerInternal.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenContainerInternal.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenContainerInternal.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenOnPlay.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenOnPlay.cs.meta index bb63aaeae..625309e70 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenOnPlay.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenOnPlay.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenOnPlay.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenOnPlay.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs b/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs index 106c66b45..d8b2b3a4f 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs +++ b/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs @@ -44,9 +44,9 @@ namespace FullscreenEditor { private const string FORUM_THREAD = "https://forum.unity.com/threads/released-fullscreen-editor.661519/"; /// Current version of the Fullscreen Editor plugin. - public static readonly Version pluginVersion = new Version(2, 2, 8); + public static readonly Version pluginVersion = new Version(2, 2, 9); /// Release date of this version. - public static readonly DateTime pluginDate = new DateTime(2023, 09, 07); + public static readonly DateTime pluginDate = new DateTime(2025, 05, 13); private static readonly GUIContent resetSettingsContent = new GUIContent("Use Defaults", "Reset all settings to default ones"); private static readonly GUIContent versionContent = new GUIContent(string.Format("Version: {0} ({1:d})", pluginVersion, pluginDate)); @@ -103,8 +103,8 @@ namespace FullscreenEditor { /// Defines which display renders on each screen when using Mosaic. public static readonly PrefItem MosaicMapping; - /// Do not attempt to use wmctrl's fullscreen on Linux environments. - public static readonly PrefItem DoNotUseWmctrl; + /// Use native X11 fullscreen on Linux environments. + public static readonly PrefItem NativeX11Fullscreen; /// Restore cursor lock and hide state after going in and out of fullscreen. public static readonly PrefItem RestoreCursorLockAndHideState; @@ -133,7 +133,7 @@ namespace FullscreenEditor { DisableSceneViewRendering = new PrefItem("DisableSceneViewRendering", true, "Disable Scene View Rendering", "Increase Fullscreen Editor performance by not rendering SceneViews while there are open fullscreen views."); UseGlobalToolbarHiding = new PrefItem("UseGlobalToolbarHiding", FullscreenUtility.IsMacOS, "Use global toolbar hiding", "Changes toolbars of all windows at once. This option fixes the gray bar bug on MacOS."); MosaicMapping = new PrefItem("MosaicMapping", new[] { 0, 1, 2, 3, 4, 5, 6, 7 }, "Mosaic Screen Mapping", "Defines which display renders on each screen when using Mosaic."); - DoNotUseWmctrl = new PrefItem("DoNotUseWmctrl", false, "Do not use wmctrl", "Avoid using 'wmctrl' helper when opening fullscreen windows"); + NativeX11Fullscreen = new PrefItem("NativeX11Fullscreen", true, "Native X11 Fullscreen", "Use native X11 server fullscreen on Linux environments.\nThis option is recommended for better performance and compatibility."); RestoreCursorLockAndHideState = new PrefItem("RestoreCursorLockAndHideState", true, "Restore Cursor Lock and Hide State", "Restore cursor lock and hide state after going in and out of fullscreen."); onLoadDefaults += () => // Array won't revert automaticaly because it is changed as reference @@ -227,18 +227,6 @@ namespace FullscreenEditor { UseGlobalToolbarHiding.DoGUI(); RestoreCursorLockAndHideState.DoGUI(); - if (FullscreenUtility.IsLinux) { - using (new EditorGUI.DisabledGroupScope(!FullscreenEditor.Linux.wmctrl.IsInstalled)) { - DoNotUseWmctrl.DoGUI(); - } - if (!FullscreenEditor.Linux.wmctrl.IsInstalled) { - EditorGUILayout.HelpBox("'wmctrl' not found. Try installing it with 'sudo apt-get install wmctrl'.", MessageType.Warning); - } else { - EditorGUILayout.HelpBox("Try enabling the option above if you're experiencing any kind of toolbars or offsets " + - "while in fullscreen mode.\nDisabling 'wmctrl' can fix issues on some Linux environments when the window manager " + - "does not handle fullscreen windows properly (I'm looking at you Ubuntu).", MessageType.Info); - } - } // Mosaic if (FullscreenRects.ScreenCount > 1) { diff --git a/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs.meta index b2adbde7c..9f05dd5df 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenPreferences.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenPreferences.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenPreferences.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenRects.cs b/Assets/External/Fullscreen/Editor/FullscreenRects.cs index ec21ebcc3..7e7da49d9 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenRects.cs +++ b/Assets/External/Fullscreen/Editor/FullscreenRects.cs @@ -116,7 +116,14 @@ namespace FullscreenEditor { // the currently focused window is located, not the main display resolution. // This caused the bug #53 on windows. // The same behaviour was not tested on Linux as macOS - return new Rect(0f, 0f, Screen.currentResolution.width, Screen.currentResolution.height); + var screenRect = new Rect(0f, 0f, Screen.currentResolution.width, Screen.currentResolution.height); + + if (FullscreenUtility.IsMacOS) { + // Uses EditorGUIUtility.pixelsPerPoint internally to fix scaling issues on retina displays. + return EditorGUIUtility.PixelsToPoints(screenRect); + } + + return screenRect; } /// Returns the rect of a given display index. @@ -144,17 +151,20 @@ namespace FullscreenEditor { /// On Windows it adds a 4px border and does not account for scaling (can cause bugs when using scales different than 100%). /// On macOS this returns a fullscreen rect when the main window is maximized and mouseScreen is set to true. /// Should we get the rect on the screen where the mouse pointer is? - public static Rect GetWorkAreaRect(bool mouseScreen) { - return Types.ContainerWindow.InvokeMethod("FitRectToScreen", new Rect(Vector2.zero, Vector2.one * 10000f), true, mouseScreen); - } - - /// Returns a rect covering all the screen, except for the taskbar/dock. - /// On Windows it adds a 4px border and does not account for scaling (can cause bugs when using scales different than 100%). - /// On macOS this returns a fullscreen rect when the main window is maximized and mouseScreen is set to true. /// The ContainerWindow that will be used as reference for calulating border error. - /// Should we get the rect on the screen where the mouse pointer is? - public static Rect GetWorkAreaRect(Object container, bool mouseScreen) { - return container.InvokeMethod("FitWindowRectToScreen", new Rect(Vector2.zero, Vector2.one * 10000f), true, mouseScreen); + public static Rect GetWorkAreaRect(bool mouseScreen, Object container = null) { + var fitRectToMouseScreen = Types.ContainerWindow.FindMethod("FitRectToMouseScreen", new [] {typeof(Rect), typeof(bool), Types.ContainerWindow}, false); + var fitRectScreen = Types.ContainerWindow.FindMethod("FitRectToScreen", new [] {typeof(Rect), typeof(Vector2), typeof(bool), Types.ContainerWindow}, false); + if (fitRectToMouseScreen != null) // Unity 6.1 and later + if (mouseScreen) + return (Rect)fitRectToMouseScreen.Invoke(null, new object[] { new Rect(Vector2.zero, Vector2.one * 100000f), true, container }); + else + return (Rect)fitRectScreen.Invoke(null, new object[] { new Rect(Vector2.zero, Vector2.one * 100000f), Vector2.zero, true, container }); + else + if (container != null) + return container.InvokeMethod("FitWindowRectToScreen", new Rect(Vector2.zero, Vector2.one * 100000f), true, mouseScreen); + else + return Types.ContainerWindow.InvokeMethod("FitRectToScreen", new Rect(Vector2.zero, Vector2.one * 100000f), Vector2.zero, true, mouseScreen); } /// Returns the bounds rect of the screen that contains the given point. (Windows only) diff --git a/Assets/External/Fullscreen/Editor/FullscreenRects.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenRects.cs.meta index 8cf6af148..3be3668f1 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenRects.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenRects.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenRects.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenRects.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenUtility.cs b/Assets/External/Fullscreen/Editor/FullscreenUtility.cs index cbb69c813..4e3257e6b 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenUtility.cs +++ b/Assets/External/Fullscreen/Editor/FullscreenUtility.cs @@ -24,8 +24,8 @@ namespace FullscreenEditor { AuxWindow = 5, /// Like PopupMenu, but without keyboard focus. Tooltip = 6, - // Show as fullscreen window - Fullscreen = 8 + /// Modal Utility window + ModalUtility = 7, } /// Helper class for suppressing unity logs when calling a method that may show unwanted logs. diff --git a/Assets/External/Fullscreen/Editor/FullscreenUtility.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenUtility.cs.meta index 2498f3faa..cfef76cdb 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenUtility.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenUtility.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenUtility.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenUtility.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenView.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenView.cs.meta index fca89652c..4526ccb1d 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenView.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenView.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenView.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenView.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/FullscreenWindow.cs.meta b/Assets/External/Fullscreen/Editor/FullscreenWindow.cs.meta index 988273105..aa66e568f 100644 --- a/Assets/External/Fullscreen/Editor/FullscreenWindow.cs.meta +++ b/Assets/External/Fullscreen/Editor/FullscreenWindow.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/FullscreenWindow.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/FullscreenWindow.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs.meta b/Assets/External/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs.meta index 807ecad22..1d3ffc414 100644 --- a/Assets/External/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs.meta +++ b/Assets/External/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/GameViewLowResolutionAspectRatios.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/GameViewVSync.cs.meta b/Assets/External/Fullscreen/Editor/GameViewVSync.cs.meta index ed4d78aea..67fe8a3e4 100644 --- a/Assets/External/Fullscreen/Editor/GameViewVSync.cs.meta +++ b/Assets/External/Fullscreen/Editor/GameViewVSync.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/GameViewVSync.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/GameViewVSync.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/GlobalToolbarHiding.cs.meta b/Assets/External/Fullscreen/Editor/GlobalToolbarHiding.cs.meta index a6da11972..0ec5ae0bf 100644 --- a/Assets/External/Fullscreen/Editor/GlobalToolbarHiding.cs.meta +++ b/Assets/External/Fullscreen/Editor/GlobalToolbarHiding.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/GlobalToolbarHiding.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/GlobalToolbarHiding.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Integration.cs b/Assets/External/Fullscreen/Editor/Integration.cs index 8e45f74c1..ad481313d 100644 --- a/Assets/External/Fullscreen/Editor/Integration.cs +++ b/Assets/External/Fullscreen/Editor/Integration.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using UnityEditor; +using UnityEditor.Build; using UnityEditorInternal; using UnityEngine; @@ -10,7 +11,11 @@ namespace FullscreenEditor { private static string[] GetAllDefines() { var currentBuildTarget = EditorUserBuildSettings.selectedBuildTargetGroup; +#if UNITY_2021_2_OR_NEWER + var scriptDefines = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(currentBuildTarget)); +#else var scriptDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentBuildTarget); +#endif var split = scriptDefines.Split(new [] { ';', ' ' }, StringSplitOptions.RemoveEmptyEntries); return split; @@ -18,7 +23,11 @@ namespace FullscreenEditor { private static void SetAllDefines(string[] value) { var currentBuildTarget = EditorUserBuildSettings.selectedBuildTargetGroup; +#if UNITY_2021_2_OR_NEWER + var currentScriptDefines = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(currentBuildTarget)); +#else var currentScriptDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentBuildTarget); +#endif var scriptDefines = value.Length > 0 ? value.Aggregate((a, b) => a + ";" + b) : string.Empty; @@ -26,7 +35,11 @@ namespace FullscreenEditor { if (currentScriptDefines == scriptDefines) return; // Nothing has changed +#if UNITY_2021_2_OR_NEWER + PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(currentBuildTarget), scriptDefines); +#else PlayerSettings.SetScriptingDefineSymbolsForGroup(currentBuildTarget, scriptDefines); +#endif RequestScriptReload(); } @@ -68,7 +81,7 @@ namespace FullscreenEditor { .ToArray() ); - Logger.Debug("Compiler directive {0} {1} defined", directive, enabled? "": "not"); + Logger.Debug("Compiler directive {0} {1} defined", directive, enabled ? "" : "not"); } /// Get wheter the given directive is enabled or not. diff --git a/Assets/External/Fullscreen/Editor/Integration.cs.meta b/Assets/External/Fullscreen/Editor/Integration.cs.meta index aede7db44..e68a76383 100644 --- a/Assets/External/Fullscreen/Editor/Integration.cs.meta +++ b/Assets/External/Fullscreen/Editor/Integration.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Integration.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Integration.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/InternalTypes.cs b/Assets/External/Fullscreen/Editor/InternalTypes.cs index f194d9c79..5f59b0d4b 100644 --- a/Assets/External/Fullscreen/Editor/InternalTypes.cs +++ b/Assets/External/Fullscreen/Editor/InternalTypes.cs @@ -31,9 +31,6 @@ namespace FullscreenEditor { /// UnityEditor.WindowLayout public static readonly Type WindowLayout = ReflectionUtility.FindClass("UnityEditor.WindowLayout"); - /// UnityEngine.EnumDataUtility - public static readonly Type EnumDataUtility = ReflectionUtility.FindClass("UnityEngine.EnumDataUtility"); - /// UnityEditor.PlayModeView.EnterPlayModeBehavior // Enum type public static readonly Type EnterPlayModeBehavior = PlayModeView?.GetNestedType("EnterPlayModeBehavior"); diff --git a/Assets/External/Fullscreen/Editor/InternalTypes.cs.meta b/Assets/External/Fullscreen/Editor/InternalTypes.cs.meta index 132a6def3..a6a5ecff8 100644 --- a/Assets/External/Fullscreen/Editor/InternalTypes.cs.meta +++ b/Assets/External/Fullscreen/Editor/InternalTypes.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/InternalTypes.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/InternalTypes.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/KeepFullscreenBelow.cs.meta b/Assets/External/Fullscreen/Editor/KeepFullscreenBelow.cs.meta index 6a2f17814..be65e0db5 100644 --- a/Assets/External/Fullscreen/Editor/KeepFullscreenBelow.cs.meta +++ b/Assets/External/Fullscreen/Editor/KeepFullscreenBelow.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/KeepFullscreenBelow.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/KeepFullscreenBelow.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Linux.meta b/Assets/External/Fullscreen/Editor/Linux.meta deleted file mode 100644 index 3e4c33a7f..000000000 --- a/Assets/External/Fullscreen/Editor/Linux.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f159b5c7b27f37c1cac894c9b84d8069 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs b/Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs deleted file mode 100644 index 137d59143..000000000 --- a/Assets/External/Fullscreen/Editor/Linux/NativeFullscreenHook.cs +++ /dev/null @@ -1,22 +0,0 @@ -using UnityEditor; - -namespace FullscreenEditor.Linux { - internal static class NativeFullscreenHooks { - - [InitializeOnLoadMethod] - private static void Init() { - if (!FullscreenUtility.IsLinux) - return; - - FullscreenCallbacks.afterFullscreenOpen += (fs) => { - if (wmctrl.IsInstalled && !FullscreenPreferences.DoNotUseWmctrl.Value) - wmctrl.SetNativeFullscreen(true, fs.m_dst.Container); - }; - FullscreenCallbacks.beforeFullscreenClose += (fs) => { - if (wmctrl.IsInstalled && !FullscreenPreferences.DoNotUseWmctrl.Value) - wmctrl.SetNativeFullscreen(false, fs.m_dst.Container); - }; - } - - } -} diff --git a/Assets/External/Fullscreen/Editor/Linux/wmctrl.cs b/Assets/External/Fullscreen/Editor/Linux/wmctrl.cs deleted file mode 100644 index 0aceffbea..000000000 --- a/Assets/External/Fullscreen/Editor/Linux/wmctrl.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; - -namespace FullscreenEditor.Linux { - /// wmctrl is a tool to interact with an X Window manager available on Linux platforms. - public static class wmctrl { - - static wmctrl() { - try { - var stdout = string.Empty; - var stderr = string.Empty; - var exitCode = Cmd.Run("which wmctrl", false, out stdout, out stderr); - - IsInstalled = exitCode == 0; - } catch (Exception e) { - Logger.Debug("Could not run command 'which wmctrl': {0}", e); - IsInstalled = false; - } - } - - public static readonly bool IsInstalled; - - private static string Run(string format, params object[] args) { - if (!FullscreenUtility.IsLinux) - throw new PlatformNotSupportedException("wmctrl is only available on Linux based platforms"); - - if (FullscreenPreferences.DoNotUseWmctrl.Value) { - Logger.Debug("wmctrl being invoked while DoNotUseWmctrl is enabled"); - } - - var result = Cmd.Run("wmctrl " + format, args); - Logger.Debug("wmctrl exited with stdio: {0}", result); - return result; - } - - /// Enable or disable native fullscreen for a given window. - /// Should the window be fullscreen or not. - /// The window to changed. If null the active window will be fullscreened. - public static void SetNativeFullscreen(bool fullscreen, EditorWindow window) { - if (window) - window.Focus(); - - Run("-r ':ACTIVE:' -b {0},fullscreen", fullscreen ? "add" : "remove"); - } - - /// Enable or disable native fullscreen for a given view. - /// Should the view be fullscreen or not. - /// The view to changed. If null the active view will be fullscreened. - public static void SetNativeFullscreen(bool fullscreen, ScriptableObject view) { - if (view) - FullscreenUtility.FocusView(view); - - Run("-r ':ACTIVE:' -b {0},fullscreen", fullscreen ? "add" : "remove"); - } - - /// Toggles native fullscreen for a given window. - /// The window to be toggled fullscreen. - public static void ToggleNativeFullscreen(EditorWindow window) { - if (window) - window.Focus(); - - Run("-r ':ACTIVE:' -b toggle,fullscreen"); - } - - /// Toggles native fullscreen for a given view. - /// The view to be toggled fullscreen. - public static void ToggleNativeFullscreen(ScriptableObject view) { - if (view) - FullscreenUtility.FocusView(view); - - Run("-r ':ACTIVE:' -b toggle,fullscreen"); - } - } -} diff --git a/Assets/External/Fullscreen/Editor/Logger.cs.meta b/Assets/External/Fullscreen/Editor/Logger.cs.meta index 68c17a934..e9f7bd2fe 100644 --- a/Assets/External/Fullscreen/Editor/Logger.cs.meta +++ b/Assets/External/Fullscreen/Editor/Logger.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Logger.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Logger.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/MenuItems.cs b/Assets/External/Fullscreen/Editor/MenuItems.cs index f96268f6b..a7ac2cf80 100644 --- a/Assets/External/Fullscreen/Editor/MenuItems.cs +++ b/Assets/External/Fullscreen/Editor/MenuItems.cs @@ -1,7 +1,6 @@ using System; using System.Collections; using System.Linq; -using FullscreenEditor.Linux; using FullscreenEditor.Windows; using UnityEditor; using UnityEngine; @@ -58,19 +57,12 @@ namespace FullscreenEditor { private static void MVMenuItem() { var mainView = FullscreenUtility.GetMainView(); - if (FullscreenUtility.IsLinux) { - if (wmctrl.IsInstalled) - wmctrl.ToggleNativeFullscreen(mainView); - else - Logger.Warning("wmctrl not installed, cannot fullscreen main view. Install it using 'sudo apt-get install wmctrl'"); - return; - } - if (!mainView) { Logger.Error("No Main View found, this should not happen"); return; } + Fullscreen.ToggleFullscreen(mainView); } diff --git a/Assets/External/Fullscreen/Editor/MenuItems.cs.meta b/Assets/External/Fullscreen/Editor/MenuItems.cs.meta index 996b828eb..cae54959f 100644 --- a/Assets/External/Fullscreen/Editor/MenuItems.cs.meta +++ b/Assets/External/Fullscreen/Editor/MenuItems.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/MenuItems.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/MenuItems.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Patcher.cs.meta b/Assets/External/Fullscreen/Editor/Patcher.cs.meta index a11409d0b..dfc39d423 100644 --- a/Assets/External/Fullscreen/Editor/Patcher.cs.meta +++ b/Assets/External/Fullscreen/Editor/Patcher.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Patcher.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Patcher.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/PlaceholderWindow.cs.meta b/Assets/External/Fullscreen/Editor/PlaceholderWindow.cs.meta index b6101ed94..1f07b2e26 100644 --- a/Assets/External/Fullscreen/Editor/PlaceholderWindow.cs.meta +++ b/Assets/External/Fullscreen/Editor/PlaceholderWindow.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/PlaceholderWindow.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/PlaceholderWindow.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/PrefItem.cs.meta b/Assets/External/Fullscreen/Editor/PrefItem.cs.meta index cc6f117fd..a4941821c 100644 --- a/Assets/External/Fullscreen/Editor/PrefItem.cs.meta +++ b/Assets/External/Fullscreen/Editor/PrefItem.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/PrefItem.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/PrefItem.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/ReflectionUtility.cs.meta b/Assets/External/Fullscreen/Editor/ReflectionUtility.cs.meta index dfd2b2b7a..ac6360fe9 100644 --- a/Assets/External/Fullscreen/Editor/ReflectionUtility.cs.meta +++ b/Assets/External/Fullscreen/Editor/ReflectionUtility.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/ReflectionUtility.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/ReflectionUtility.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/RestoreCursorState.cs.meta b/Assets/External/Fullscreen/Editor/RestoreCursorState.cs.meta index 1d1597139..7fd905b06 100644 --- a/Assets/External/Fullscreen/Editor/RestoreCursorState.cs.meta +++ b/Assets/External/Fullscreen/Editor/RestoreCursorState.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/RestoreCursorState.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/RestoreCursorState.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Shortcut.cs.meta b/Assets/External/Fullscreen/Editor/Shortcut.cs.meta index 36c7f8266..f892eb904 100644 --- a/Assets/External/Fullscreen/Editor/Shortcut.cs.meta +++ b/Assets/External/Fullscreen/Editor/Shortcut.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Shortcut.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Shortcut.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/ViewPyramid.cs.meta b/Assets/External/Fullscreen/Editor/ViewPyramid.cs.meta index db6796efa..344baa599 100644 --- a/Assets/External/Fullscreen/Editor/ViewPyramid.cs.meta +++ b/Assets/External/Fullscreen/Editor/ViewPyramid.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/ViewPyramid.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/ViewPyramid.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Windows/GDI32.cs.meta b/Assets/External/Fullscreen/Editor/Windows/GDI32.cs.meta index 067a7bad8..133e8d419 100644 --- a/Assets/External/Fullscreen/Editor/Windows/GDI32.cs.meta +++ b/Assets/External/Fullscreen/Editor/Windows/GDI32.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Windows/GDI32.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Windows/GDI32.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Windows/ShCore.cs.meta b/Assets/External/Fullscreen/Editor/Windows/ShCore.cs.meta index c38dd3c19..b74dc7d65 100644 --- a/Assets/External/Fullscreen/Editor/Windows/ShCore.cs.meta +++ b/Assets/External/Fullscreen/Editor/Windows/ShCore.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Windows/ShCore.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Windows/ShCore.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Windows/Structs.cs.meta b/Assets/External/Fullscreen/Editor/Windows/Structs.cs.meta index c54889676..429f307d7 100644 --- a/Assets/External/Fullscreen/Editor/Windows/Structs.cs.meta +++ b/Assets/External/Fullscreen/Editor/Windows/Structs.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Windows/Structs.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Windows/Structs.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Editor/Windows/User32.cs.meta b/Assets/External/Fullscreen/Editor/Windows/User32.cs.meta index 0561dc10c..ccafe6bd2 100644 --- a/Assets/External/Fullscreen/Editor/Windows/User32.cs.meta +++ b/Assets/External/Fullscreen/Editor/Windows/User32.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Windows/User32.cs - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Editor/Windows/User32.cs + uploadId: 756554 diff --git a/Assets/External/Fullscreen/FullscreenEditor.asmdef.meta b/Assets/External/Fullscreen/FullscreenEditor.asmdef.meta index 6cda0e41f..11cddfb31 100644 --- a/Assets/External/Fullscreen/FullscreenEditor.asmdef.meta +++ b/Assets/External/Fullscreen/FullscreenEditor.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/FullscreenEditor.asmdef - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/FullscreenEditor.asmdef + uploadId: 756554 diff --git a/Assets/External/Fullscreen/Readme.pdf.meta b/Assets/External/Fullscreen/Readme.pdf.meta index 35909414e..2a527a4aa 100644 --- a/Assets/External/Fullscreen/Readme.pdf.meta +++ b/Assets/External/Fullscreen/Readme.pdf.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 69534 packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Readme.pdf - uploadId: 612576 + packageVersion: 2.2.9 + assetPath: Assets/External/Fullscreen/Readme.pdf + uploadId: 756554 diff --git a/Assets/External/MMD4Mecanim/Editor/MMD4MecanimImporter.cs b/Assets/External/MMD4Mecanim/Editor/MMD4MecanimImporter.cs index e243baa68..0b7b46494 100644 --- a/Assets/External/MMD4Mecanim/Editor/MMD4MecanimImporter.cs +++ b/Assets/External/MMD4Mecanim/Editor/MMD4MecanimImporter.cs @@ -1,11 +1,19 @@ using UnityEditor; +using UnityEngine; [InitializeOnLoad] public class MMD4MecanimVersionChecker { static MMD4MecanimVersionChecker() { - MMD4MecanimEditorCommon.RestoreLibraries(); + try + { + MMD4MecanimEditorCommon.RestoreLibraries(); + } + catch (System.Exception e) + { + Debug.LogWarning("MMD4Mecanim RestoreLibraries skipped due to deprecated build target: " + e.Message); + } } } diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Floor.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Floor.mat.meta index e6c78ccf0..40c21f685 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Floor.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Floor.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Floor.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Back.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Back.mat.meta index 3eca78b1f..d9fa43696 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Back.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Back.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Back.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Front.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Front.mat.meta index b06b8c8ee..9e93cfdd4 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Front.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Front.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_Test_Front.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat index ee0c456ff..7a497aace 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat @@ -105,6 +105,19 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &2699653945746881578 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 --- !u!114 &5537520944958903688 MonoBehaviour: m_ObjectHideFlags: 11 @@ -118,16 +131,3 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 0 ---- !u!114 &6744798985865141980 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat.meta index 8a53ceee0..e6adb3873 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Materials/MC2_White.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/Materials/Arrow.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/Materials/Arrow.mat.meta index 8673df22b..39a95d954 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/Materials/Arrow.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/Materials/Arrow.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/Materials/Arrow.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/arrow_b.fbx.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/arrow_b.fbx.meta index 375c71e4c..5f6d88410 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/arrow_b.fbx.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/arrow_b.fbx.meta @@ -99,6 +99,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Model/arrow_b.fbx - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Cube.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Cube.prefab.meta index f07ac579f..fb15e6f88 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Cube.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Cube.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Cube.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/CubeRoup.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/CubeRoup.prefab.meta index f3f30c31f..e44743b77 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/CubeRoup.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/CubeRoup.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/CubeRoup.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Env.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Env.prefab.meta index 3250d2473..b3e9321df 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Env.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Env.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Env.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Plane.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Plane.prefab.meta index 9eb703b99..23de4ac8a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Plane.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Plane.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Plane.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeBuildDemo.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeBuildDemo.prefab.meta index 650b15263..4c15bbfd0 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeBuildDemo.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeBuildDemo.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeBuildDemo.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeDressUpDemo.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeDressUpDemo.prefab.meta index 13f1b0d16..520f7a1cc 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeDressUpDemo.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeDressUpDemo.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/RuntimeDressUpDemo.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/SimpleImputManager.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/SimpleImputManager.prefab.meta index 02e3b3fdb..9d8318aea 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/SimpleImputManager.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/SimpleImputManager.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/SimpleImputManager.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Stage.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Stage.prefab.meta index b45163685..643ef4ea4 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Stage.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Stage.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/Stage.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_KAGURA.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_KAGURA.prefab.meta index 08827b356..d1ac067d1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_KAGURA.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_KAGURA.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_KAGURA.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeBuild.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeBuild.prefab.meta index de754a7c6..90257a684 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeBuild.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeBuild.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeBuild.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeDressUp.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeDressUp.prefab.meta index 861edc0c4..42ea4aad9 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeDressUp.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeDressUp.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_RuntimeDressUp.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_Wind.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_Wind.prefab.meta index d30185ea8..83c14e14b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_Wind.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_Wind.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/UI_Wind.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindDemo.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindDemo.prefab.meta index d91442ed1..22ab98794 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindDemo.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindDemo.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindDemo.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindParticle.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindParticle.prefab.meta index eeaa38c29..40c9404bc 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindParticle.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindParticle.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Prefabs/WindParticle.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Resources/MC2_BoneCloth_Ribbon_Demo.json.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Resources/MC2_BoneCloth_Ribbon_Demo.json.meta index c065a153b..7fadb4b0a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Resources/MC2_BoneCloth_Ribbon_Demo.json.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Resources/MC2_BoneCloth_Ribbon_Demo.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Resources/MC2_BoneCloth_Ribbon_Demo.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs index 48e2d3266..17daf4f88 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs @@ -26,13 +26,13 @@ namespace MagicaCloth2 private float time = 0; - private void FixedUpdate() + protected void FixedUpdate() { if (updateMode == UpdateMode.FixedUpdate) UpdatePosition(Time.fixedDeltaTime); } - void Update() + protected void Update() { if (updateMode == UpdateMode.Update) UpdatePosition(Time.deltaTime); diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs.meta index 97968fcdb..99ee9adc3 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/AutoRotate.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs index 512d46ff3..8db357532 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs @@ -79,7 +79,7 @@ namespace MagicaCloth2 private float cameraYawVelocity; private float offsetYaw; - void Start() + protected void Start() { if (cameraTransform == null) { @@ -95,7 +95,7 @@ namespace MagicaCloth2 setCameraYaw = cameraYaw; } - void OnEnable() + protected void OnEnable() { // 入力イベント登録 SimpleInputManager.OnTouchMove += OnTouchMove; @@ -103,7 +103,7 @@ namespace MagicaCloth2 SimpleInputManager.OnTouchPinch += OnTouchPinch; } - void OnDisable() + protected void OnDisable() { // 入力イベント解除 SimpleInputManager.OnTouchMove -= OnTouchMove; @@ -111,7 +111,7 @@ namespace MagicaCloth2 SimpleInputManager.OnTouchPinch -= OnTouchPinch; } - void LateUpdate() + protected void LateUpdate() { // カメラ更新 updateCamera(); @@ -179,8 +179,8 @@ namespace MagicaCloth2 } else if (moveMode == MoveMode.Free) { - Vector3 offset = transform.InverseTransformDirection(cameraTransform.up) * -speed.y * moveSpeed; - offset += transform.InverseTransformDirection(cameraTransform.right) * -speed.x * moveSpeed; + Vector3 offset = moveSpeed * -speed.y * transform.InverseTransformDirection(cameraTransform.up); + offset += moveSpeed * -speed.x * transform.InverseTransformDirection(cameraTransform.right); cameraTargetOffset += offset; } diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs.meta index 99a01d8da..3f148c252 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CameraOrbit.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CreateSingleton.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CreateSingleton.cs.meta index 4b4ff6631..45584dc74 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CreateSingleton.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CreateSingleton.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/CreateSingleton.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/MagicaCloth2UPMImporterShaderGraph.asmdef.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/MagicaCloth2UPMImporterShaderGraph.asmdef.meta index fe02f6349..3f363e110 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/MagicaCloth2UPMImporterShaderGraph.asmdef.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/MagicaCloth2UPMImporterShaderGraph.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/MagicaCloth2UPMImporterShaderGraph.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/UnityPackageImporter.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/UnityPackageImporter.cs.meta index 6d49f7657..587755d48 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/UnityPackageImporter.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/UnityPackageImporter.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/Editor/ShaderGraph/UnityPackageImporter.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs index 52c1fe2f4..08e0c9622 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs @@ -14,7 +14,7 @@ namespace MagicaCloth2 private Dictionary gameObjectDict = new Dictionary(); - private void Awake() + protected void Awake() { // create dictionary. foreach (var obj in gameObjectList) diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs.meta index ba981ef0f..1ceffb923 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/GameObjectContainer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/MagicaCloth2Example.asmdef.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/MagicaCloth2Example.asmdef.meta index cea1bdbaf..ff4e9cab6 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/MagicaCloth2Example.asmdef.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/MagicaCloth2Example.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/MagicaCloth2Example.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs index 8044076e5..3889240ca 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs @@ -16,12 +16,9 @@ namespace MagicaCloth2 private bool slow; - void Start() - { - } - - void Update() + protected void Start() { + slow = false; } private void AnimatorAction(System.Action act) diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs.meta index 2027cc8d3..943c0af38 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/ModelController.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs index 418d758cc..5837b1497 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs @@ -24,14 +24,10 @@ namespace MagicaCloth2 GameObject character; GameObjectContainer gameObjectContainer; - void Start() + protected void Start() { - - } - - void Update() - { - + character = null; + gameObjectContainer = null; } public void OnCreateButton() @@ -195,8 +191,7 @@ namespace MagicaCloth2 var sobj = gameObjectContainer.GetGameObject(skirtName); if (sobj == null) return; - Renderer skirtRenderer = sobj.GetComponent(); - if (skirtRenderer == null) + if (!sobj.TryGetComponent(out var skirtRenderer)) return; // add Magica Cloth diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs.meta index 37b54f538..8b2ddd400 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeBuildDemo.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs index 019423fff..d11978ff9 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs @@ -46,19 +46,11 @@ namespace MagicaCloth2 EquipInfo bodyEquipInfo = new EquipInfo(); //========================================================================================= - private void Awake() + protected void Start() { Init(); } - void Start() - { - } - - void Update() - { - } - //========================================================================================= public void OnHairEquipButton() { @@ -159,7 +151,7 @@ namespace MagicaCloth2 sren.bones = newBones; // root bone - if (targetAvatarBoneMap.ContainsKey(sren.rootBone?.name)) + if (targetAvatarBoneMap.ContainsKey(sren.rootBone != null ? sren.rootBone.name : null)) { sren.rootBone = targetAvatarBoneMap[sren.rootBone.name]; } @@ -181,11 +173,9 @@ namespace MagicaCloth2 Transform newParent = targetAvatarBoneMap[parent.name]; // After changing the parent, you need to write back the local posture and align it. - var localPosition = collider.transform.localPosition; - var localRotation = collider.transform.localRotation; + collider.transform.GetLocalPositionAndRotation(out var localPosition, out var localRotation); collider.transform.SetParent(newParent); - collider.transform.localPosition = localPosition; - collider.transform.localRotation = localRotation; + collider.transform.SetLocalPositionAndRotation(localPosition, localRotation); } } diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs.meta index 3b8111d31..35b8ebb8e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/RuntimeDressUpDemo.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInput.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInput.cs.meta index 45af97166..56f7a49df 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInput.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInput.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInput.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs index bf5a66c26..80aff6c02 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs @@ -126,7 +126,7 @@ namespace MagicaCloth2 mobilePlatform = Application.isMobilePlatform; } - void Update() + protected void Update() { // 入力タイプ別更新処理 if (mobilePlatform) diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs.meta index 27ceaaed0..a29f50e0e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SimpleInputManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs index 9af76a423..a1d9026cd 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs @@ -19,7 +19,7 @@ namespace MagicaCloth2 private string formatString; - void Start() + protected void Start() { formatString = "{0} ({1:" + format + "})"; diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs.meta index 50f57feba..215e1271f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/SliderText.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs index 5f654022d..adac9cf1f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs @@ -9,17 +9,11 @@ namespace MagicaCloth2 { public int frameRate = 60; - void Start() - { #if !UNITY_EDITOR - Application.targetFrameRate = frameRate; -#endif - } - - // Update is called once per frame - void Update() + protected void Start() { - + Application.targetFrameRate = frameRate; } +#endif } } diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs.meta index f8b8c6992..71319a081 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/TargetFPS.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs index 63e411a3a..f422c3831 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs @@ -24,11 +24,6 @@ namespace MagicaCloth2 private float main = 0.0f; private float turbulence = 0.0f; - void Start() - { - - } - public void OnDirectionY(float value) { angleY = value; diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs.meta index 8bfef270d..dfa2a76ac 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Scripts/WindDemo.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Back.shadergraph.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Back.shadergraph.meta index 344ba09ef..8fc08830f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Back.shadergraph.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Back.shadergraph.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Back.shadergraph - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Front.shadergraph.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Front.shadergraph.meta index 15a92363a..914948382 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Front.shadergraph.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Front.shadergraph.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Shaders/MC2_Common_Lit_Front.shadergraph - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Textures/SD_UnityChan_Skirt_PaintMap.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Textures/SD_UnityChan_Skirt_PaintMap.png.meta index 008b57bde..791ec0e7d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Textures/SD_UnityChan_Skirt_PaintMap.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Textures/SD_UnityChan_Skirt_PaintMap.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/Common/Textures/SD_UnityChan_Skirt_PaintMap.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeBuild_CoreRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeBuild_CoreRP.unity.meta index 18e2feb8d..1ccb72567 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeBuild_CoreRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeBuild_CoreRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeBuild_CoreRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeDressUp_CoreRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeDressUp_CoreRP.unity.meta index 5f4d8e54a..f185d30ce 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeDressUp_CoreRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeDressUp_CoreRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/RuntimeDressUp_CoreRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/UnityChanKAGURA_CoreRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/UnityChanKAGURA_CoreRP.unity.meta index 47ff07078..297c6f489 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/UnityChanKAGURA_CoreRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/UnityChanKAGURA_CoreRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/UnityChanKAGURA_CoreRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/Wind_CoreRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/Wind_CoreRP.unity.meta index 584dc04f7..cc2ddcc43 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/Wind_CoreRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/Wind_CoreRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/CoreRP/Wind_CoreRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/MC2_SkyandFogSettingsProfile.asset.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/MC2_SkyandFogSettingsProfile.asset.meta index 0009e1cc0..cc440e768 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/MC2_SkyandFogSettingsProfile.asset.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/MC2_SkyandFogSettingsProfile.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/MC2_SkyandFogSettingsProfile.asset - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeBuild_HDRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeBuild_HDRP.unity.meta index 559bca0af..df235f7e1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeBuild_HDRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeBuild_HDRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeBuild_HDRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeDressUp_HDRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeDressUp_HDRP.unity.meta index 4cd66521e..edd96fcfe 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeDressUp_HDRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeDressUp_HDRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/RuntimeDressUp_HDRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/UnityChanKAGURA_HDRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/UnityChanKAGURA_HDRP.unity.meta index d9390fcf7..3c24fc329 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/UnityChanKAGURA_HDRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/UnityChanKAGURA_HDRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/UnityChanKAGURA_HDRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/Wind_HDRP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/Wind_HDRP.unity.meta index b0a5099bf..0df9737e1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/Wind_HDRP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/Wind_HDRP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/HDRP/Wind_HDRP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeBuild_URP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeBuild_URP.unity.meta index 9ec4fc44f..082e4d477 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeBuild_URP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeBuild_URP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeBuild_URP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeDressUp_URP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeDressUp_URP.unity.meta index d0acf47c1..e21254834 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeDressUp_URP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeDressUp_URP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/RuntimeDressUp_URP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/UnityChanKAGURA_URP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/UnityChanKAGURA_URP.unity.meta index 155208179..540cb387e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/UnityChanKAGURA_URP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/UnityChanKAGURA_URP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/UnityChanKAGURA_URP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/Wind_URP.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/Wind_URP.unity.meta index f298694a5..77a6098ca 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/Wind_URP.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/Wind_URP.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes/URP/Wind_URP.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeBuild_HighDefinition3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeBuild_HighDefinition3D.unity.meta index ff5903571..f5ed52dfa 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeBuild_HighDefinition3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeBuild_HighDefinition3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeBuild_HighDefinition3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeDressUp_HighDefinition3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeDressUp_HighDefinition3D.unity.meta index e0f9bca42..c50f68190 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeDressUp_HighDefinition3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeDressUp_HighDefinition3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/RuntimeDressUp_HighDefinition3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/UnityChanKAGURA_HighDefinition3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/UnityChanKAGURA_HighDefinition3D.unity.meta index 083121898..21021ef17 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/UnityChanKAGURA_HighDefinition3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/UnityChanKAGURA_HighDefinition3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/UnityChanKAGURA_HighDefinition3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/Wind_HighDefinition3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/Wind_HighDefinition3D.unity.meta index 0d3360fe5..3089e982a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/Wind_HighDefinition3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/Wind_HighDefinition3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/HighDefinition3D/Wind_HighDefinition3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeBuild_Universal3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeBuild_Universal3D.unity.meta index 75bcbb9a0..ef8110d6d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeBuild_Universal3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeBuild_Universal3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeBuild_Universal3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeDressUp_Universal3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeDressUp_Universal3D.unity.meta index 0a6c8542e..779276c4a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeDressUp_Universal3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeDressUp_Universal3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/RuntimeDressUp_Universal3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/UnityChanKAGURA_Universal3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/UnityChanKAGURA_Universal3D.unity.meta index b892e8553..31b8406f6 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/UnityChanKAGURA_Universal3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/UnityChanKAGURA_Universal3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/UnityChanKAGURA_Universal3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/Wind_Universal3D.unity.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/Wind_Universal3D.unity.meta index 405c8dc2a..c95fc6e6e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/Wind_Universal3D.unity.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/Wind_Universal3D.unity.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/DemoScenes_Unity_6.1_or_Higher/Universal3D/Wind_Universal3D.unity - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Logo/Dark_Silhouette.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Logo/Dark_Silhouette.png.meta index a9e640896..4c077cf1f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Logo/Dark_Silhouette.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Logo/Dark_Silhouette.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Logo/Dark_Silhouette.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat index e802c7194..c2e810595 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat @@ -13,6 +13,19 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 0 +--- !u!114 &-4251175226697898292 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -118,16 +131,3 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 ---- !u!114 &778700026787734511 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat.meta index 374da6ebd..9bdc5bc56 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_def_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat index d8e6079fd..a6311f009 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat @@ -105,19 +105,6 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 ---- !u!114 &4262880184734359574 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 --- !u!114 &5988364977265673585 MonoBehaviour: m_ObjectHideFlags: 11 @@ -131,3 +118,16 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 0 +--- !u!114 &7559755983739857143 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat.meta index 48e00d42b..3267c0f1a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_nol_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat index 00aa7d7b4..9d2bd3085 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6992800222046571320 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 --- !u!114 &-4086932747498456647 MonoBehaviour: m_ObjectHideFlags: 11 @@ -118,16 +131,3 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 ---- !u!114 &1692160061194489242 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat.meta index 8015b067d..cce8d28a5 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/SB_skin_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat index cf63e9fb5..6afd3c799 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat @@ -118,7 +118,7 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 ---- !u!114 &2866869086915644192 +--- !u!114 &3273442235214372084 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} @@ -129,5 +129,5 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat.meta index 24f6d5f21..fe258189d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/def_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat index bfbfdd92d..866156776 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat @@ -13,7 +13,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 0 ---- !u!114 &-312110383124091210 +--- !u!114 &-3270250594528747916 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} @@ -24,7 +24,7 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion version: 10 --- !u!21 &2100000 Material: diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat.meta index 8cad74605..32eabde67 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/hair_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat index 843f787cb..97e548300 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat @@ -118,7 +118,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 0 ---- !u!114 &8210762562226854632 +--- !u!114 &8021306981039077860 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} @@ -129,5 +129,5 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion version: 10 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat.meta index 0f0c66117..24e14490c 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/mouth_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat index 1937af49a..41a48f009 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat @@ -105,7 +105,7 @@ Material: - _Tiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 ---- !u!114 &1883679721060590236 +--- !u!114 &1431545733693671563 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} @@ -116,7 +116,7 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion version: 10 --- !u!114 &6265247899772061283 MonoBehaviour: diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat.meta index 9d078a317..ca6f99a7e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/nol_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat index 162e21840..74719109b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7168832786038143948 +--- !u!114 &-5932330794481592630 MonoBehaviour: m_ObjectHideFlags: 11 m_CorrespondingSourceObject: {fileID: 0} @@ -11,7 +11,7 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion version: 10 --- !u!21 &2100000 Material: diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat.meta index 151488798..b769c7ffd 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Materials/skin_mat.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/SD_UnityChan.controller.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/SD_UnityChan.controller.meta index 7b18d809d..175bfe651 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/SD_UnityChan.controller.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/SD_UnityChan.controller.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/SD_UnityChan.controller - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_sum.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_sum.png.meta index f9ed6109e..688b34c0b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_sum.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_sum.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_sum.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_win.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_win.png.meta index b9f51e6aa..1e4630f0e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_win.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_win.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/body_win.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/misaki_head.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/misaki_head.png.meta index 6d7836114..921f2a1b4 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/misaki_head.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/misaki_head.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/misaki_head.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/utc_all2.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/utc_all2.png.meta index fc88cc45e..5e3357b7d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/utc_all2.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/utc_all2.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/utc_all2.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/yuko_head.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/yuko_head.png.meta index fae0a2a98..a178ecbb1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/yuko_head.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/yuko_head.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Textures/yuko_head.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Body).prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Body).prefab.meta index 5edf25b87..c25236eda 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Body).prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Body).prefab.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Body).prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Hair).prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Hair).prefab.meta index 81c1dbd29..952b756a3 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Hair).prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Hair).prefab.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Hair).prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Skeleton).prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Skeleton).prefab.meta index e73b56ac7..ce1962e04 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Skeleton).prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Skeleton).prefab.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid (Skeleton).prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid Variant.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid Variant.prefab.meta index 0a9fddf74..12082e76e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid Variant.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid Variant.prefab.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid Variant.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid.fbx.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid.fbx.meta index 6959d13c1..da2640037 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid.fbx.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid.fbx.meta @@ -1101,6 +1101,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/SD_Kohaku_chanz/Utc_sum_humanoid.fbx - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/01Unity-Chan License Terms and Condition_EN_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/01Unity-Chan License Terms and Condition_EN_UCL2.0.pdf.meta index de7829ce9..92e6d667b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/01Unity-Chan License Terms and Condition_EN_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/01Unity-Chan License Terms and Condition_EN_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/01Unity-Chan License Terms and Condition_EN_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/02Unity-Chan License Terms and Condition_Summary_EN_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/02Unity-Chan License Terms and Condition_Summary_EN_UCL2.0.pdf.meta index 1e02e671f..227c538d2 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/02Unity-Chan License Terms and Condition_Summary_EN_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/02Unity-Chan License Terms and Condition_Summary_EN_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/02Unity-Chan License Terms and Condition_Summary_EN_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/03Indication of License_EN_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/03Indication of License_EN_UCL2.0.pdf.meta index cc08eda04..7fa7be4fe 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/03Indication of License_EN_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/03Indication of License_EN_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/English/03Indication of License_EN_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/01Unity-Chan License Terms and Condition_JP_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/01Unity-Chan License Terms and Condition_JP_UCL2.0.pdf.meta index cc01d9662..df1eea79c 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/01Unity-Chan License Terms and Condition_JP_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/01Unity-Chan License Terms and Condition_JP_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/01Unity-Chan License Terms and Condition_JP_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/02Unity-Chan License Terms and Condition_Summary_JP_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/02Unity-Chan License Terms and Condition_Summary_JP_UCL2.0.pdf.meta index 8969c88cd..5a7cbaa6d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/02Unity-Chan License Terms and Condition_Summary_JP_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/02Unity-Chan License Terms and Condition_Summary_JP_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/02Unity-Chan License Terms and Condition_Summary_JP_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/03Indication of License_JP_UCL2.0.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/03Indication of License_JP_UCL2.0.pdf.meta index 71a627885..26048f34e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/03Indication of License_JP_UCL2.0.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/03Indication of License_JP_UCL2.0.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/Japanese/03Indication of License_JP_UCL2.0.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.ai.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.ai.meta index 9575c929b..2640bcc4a 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.ai.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.ai.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.ai - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.psd.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.psd.meta index f8fdc761c..cf8363903 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.psd.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.psd.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_LOGO_rules02.psd - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline.pdf.meta index b97ec6147..e64cac7f8 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline_en.pdf.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline_en.pdf.meta index ba7736695..b58006e82 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline_en.pdf.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline_en.pdf.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/LUUL_logo-guideline_en.pdf - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Dark_Silhouette.jpg.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Dark_Silhouette.jpg.meta index bfb6de0db..947e21cdc 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Dark_Silhouette.jpg.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Dark_Silhouette.jpg.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Dark_Silhouette.jpg - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Light_Silhouette.jpg.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Light_Silhouette.jpg.meta index 84d85602c..4dc8ec4fd 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Light_Silhouette.jpg.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Light_Silhouette.jpg.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/jpg/Light_Silhouette.jpg - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Dark_Silhouette.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Dark_Silhouette.png.meta index d7d7d0e58..8d54bf5e7 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Dark_Silhouette.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Dark_Silhouette.png.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Dark_Silhouette.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Frame.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Frame.png.meta index 35d52fe9e..79b3abafb 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Frame.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Frame.png.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Frame.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Silhouette.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Silhouette.png.meta index 0abf566ce..c0640e5d5 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Silhouette.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Silhouette.png.meta @@ -137,7 +137,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/png/Light_Silhouette.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Dark_Silhouette.svg.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Dark_Silhouette.svg.meta index 8295f26a3..5c628c98d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Dark_Silhouette.svg.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Dark_Silhouette.svg.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Dark_Silhouette.svg - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Frame.svg.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Frame.svg.meta index 1b0f8139b..943160d9b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Frame.svg.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Frame.svg.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Frame.svg - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Silhouette.svg.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Silhouette.svg.meta index eca480f11..506c144c9 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Silhouette.svg.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Silhouette.svg.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UCL2.0/License Logo/Others/svg/Light_Silhouette.svg - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Unity-Chan License.txt.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Unity-Chan License.txt.meta index 2adc6f268..aeb6fab2b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Unity-Chan License.txt.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Unity-Chan License.txt.meta @@ -9,7 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/Unity-Chan License.txt - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/RUN00_F.anim.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/RUN00_F.anim.meta index 0576d8ce3..39bfda7bf 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/RUN00_F.anim.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/RUN00_F.anim.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/RUN00_F.anim - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/UC01_001_UniteInTheSky -WA-.fbx.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/UC01_001_UniteInTheSky -WA-.fbx.meta index bccaa8987..544188436 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/UC01_001_UniteInTheSky -WA-.fbx.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/UC01_001_UniteInTheSky -WA-.fbx.meta @@ -1143,7 +1143,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/UC01_001_UniteInTheSky -WA-.fbx - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT02.anim.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT02.anim.meta index 3f27c2f5f..a636a34f2 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT02.anim.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT02.anim.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT02.anim - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT04.anim.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT04.anim.meta index 4a9407dc2..2130bb1ab 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT04.anim.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT04.anim.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WAIT04.anim - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WALK00_F.anim.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WALK00_F.anim.meta index c3100148b..032c5575f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WALK00_F.anim.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WALK00_F.anim.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WALK00_F.anim - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WIN00.anim.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WIN00.anim.meta index 059cccb9a..1158dfaf9 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WIN00.anim.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WIN00.anim.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Animation/WIN00.anim - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Albedo.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Albedo.mat.meta index efa01cdf9..371a789af 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Albedo.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Albedo.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Albedo.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body Back.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body Back.mat.meta index 70324ca1d..ebe31acfc 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body Back.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body Back.mat.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body Back.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body.mat.meta index 4a5808290..472d7ceaa 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Body.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes.mat.meta index 6ffab132b..b1d7ba35d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes_HL.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes_HL.mat.meta index 5895365a2..4fa08ade1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes_HL.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes_HL.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Eyes_HL.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Face.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Face.mat.meta index 011cc00b9..3657ac696 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Face.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Face.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Face.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Hair.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Hair.mat.meta index b1f3daa40..0b65748a8 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Hair.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Hair.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Hair.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/HairPony.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/HairPony.mat.meta index 90ecbfc2a..e8a6e725d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/HairPony.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/HairPony.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/HairPony.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Headgear.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Headgear.mat.meta index 61e89a10f..cb2ab5ff9 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Headgear.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Headgear.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Headgear.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve Back.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve Back.mat.meta index 9f6702a53..355c23632 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve Back.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve Back.mat.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve Back.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve.mat.meta index 6012aeab5..e7831e14f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/LongSleeve.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Skin.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Skin.mat.meta index f262fdde7..009d1ce9f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Skin.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Skin.mat.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/Skin.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Base.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Base.png.meta index e55ecabba..720392311 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Base.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Base.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Base.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Emi.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Emi.png.meta index 9f183a742..4c908264d 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Emi.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Emi.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Emi.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_SGM.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_SGM.png.meta index 30a5d9786..3b1474cb8 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_SGM.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_SGM.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_SGM.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd1.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd1.png.meta index c9ab28006..26c698569 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd1.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd1.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd1.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd2.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd2.png.meta index 9e8f71d67..c63ba8a5c 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd2.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd2.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Shd2.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Spc.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Spc.png.meta index 3ec2a1c58..8ade56495 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Spc.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Spc.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Body_Spc.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Base.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Base.png.meta index 28721547b..fcac22a88 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Base.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Base.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Base.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Emi.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Emi.png.meta index 4cfe59383..fb1930be3 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Emi.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Emi.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Emi.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_LSM.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_LSM.png.meta index 2cbaaa979..5882f31c8 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_LSM.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_LSM.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_LSM.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Rim.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Rim.png.meta index cedb62217..395a11098 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Rim.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Rim.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Rim.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_SGM.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_SGM.png.meta index c70d027e8..a2427262e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_SGM.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_SGM.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_SGM.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd1.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd1.png.meta index 1820e5743..dd1035be2 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd1.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd1.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd1.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd2.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd2.png.meta index 934ff6338..78938c9eb 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd2.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd2.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Face_Shd2.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Hair_SGM.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Hair_SGM.png.meta index cbb1534a8..9031f790c 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Hair_SGM.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Hair_SGM.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Hair_SGM.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Headfgear_Base.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Headfgear_Base.png.meta index fe494a9b8..3bc3591b3 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Headfgear_Base.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Headfgear_Base.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Headfgear_Base.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Base.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Base.png.meta index 85ff04d6b..47543614e 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Base.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Base.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Base.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Emi.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Emi.png.meta index 4318be81c..9f2e654ca 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Emi.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Emi.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Emi.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Nrm.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Nrm.png.meta index 7e9e342db..7a1a0c134 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Nrm.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Nrm.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Nrm.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Rim.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Rim.png.meta index 2960eee05..859683ab7 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Rim.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Rim.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Rim.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SGM.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SGM.png.meta index 196427d12..a8bfd99f1 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SGM.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SGM.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SGM.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Spc.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Spc.png.meta index d86396bd7..7cdd55646 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Spc.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Spc.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_Spc.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SpcCol.png.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SpcCol.png.meta index 86198681c..18a255483 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SpcCol.png.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SpcCol.png.meta @@ -142,6 +142,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/TEX/PNG/Skin_SpcCol.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/face3_main.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/face3_main.mat.meta index 488247286..9e218cf65 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/face3_main.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/face3_main.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/face3_main.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/headExt.mat.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/headExt.mat.meta index c94071f3d..38bf11f1c 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/headExt.mat.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/headExt.mat.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/Materials/headExt.mat - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UniteInTheSky.controller.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UniteInTheSky.controller.meta index 38be1232d..d6ef0976b 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UniteInTheSky.controller.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UniteInTheSky.controller.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UniteInTheSky.controller - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA.fbx.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA.fbx.meta index 175da030a..592f2ba5f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA.fbx.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA.fbx.meta @@ -2261,6 +2261,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA.fbx - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA_MC2.prefab.meta b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA_MC2.prefab.meta index 0eb1ab183..2c44dd43f 100644 --- a/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA_MC2.prefab.meta +++ b/Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA_MC2.prefab.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Example (Can be deleted)/UnityChan/UnityChanKAGURA/UnityCHanKAGURA_MC2.prefab - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/MagicaCloth2.asmdef.meta b/Assets/External/MagicaCloth2/MagicaCloth2.asmdef.meta index 27377342d..44da1a129 100644 --- a/Assets/External/MagicaCloth2/MagicaCloth2.asmdef.meta +++ b/Assets/External/MagicaCloth2/MagicaCloth2.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/MagicaCloth2.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Readme.txt b/Assets/External/MagicaCloth2/Readme.txt index 42df3a000..3bafab995 100644 --- a/Assets/External/MagicaCloth2/Readme.txt +++ b/Assets/External/MagicaCloth2/Readme.txt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7cfa881acaba23f4019ac24095084eb82aeae666a0fb6f22fceac3c7290b8abe +oid sha256:640c9a75e3b59b37c6d618877aa91c463f2524ec015956fc5c6d798dccbf25a4 size 1720 diff --git a/Assets/External/MagicaCloth2/Readme.txt.meta b/Assets/External/MagicaCloth2/Readme.txt.meta index cbdd53916..7569f02e6 100644 --- a/Assets/External/MagicaCloth2/Readme.txt.meta +++ b/Assets/External/MagicaCloth2/Readme.txt.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Readme.txt - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Readme_jpn.txt b/Assets/External/MagicaCloth2/Readme_jpn.txt index 4608a86e9..168a1c2a7 100644 --- a/Assets/External/MagicaCloth2/Readme_jpn.txt +++ b/Assets/External/MagicaCloth2/Readme_jpn.txt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4a2b7a41f0fc3b15af0a344a9765c69eb1780f2c6406d3ba1e50bc3a1bdcaaa +oid sha256:a5f158ad370aa74fc4cbca2b93225d385c972ea6991adac2091645add496133d size 2110 diff --git a/Assets/External/MagicaCloth2/Readme_jpn.txt.meta b/Assets/External/MagicaCloth2/Readme_jpn.txt.meta index 735fb7154..457caea4a 100644 --- a/Assets/External/MagicaCloth2/Readme_jpn.txt.meta +++ b/Assets/External/MagicaCloth2/Readme_jpn.txt.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Readme_jpn.txt - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Icon/icon-cloth.png.meta b/Assets/External/MagicaCloth2/Res/Icon/icon-cloth.png.meta index 93c678e0d..341f2259f 100644 --- a/Assets/External/MagicaCloth2/Res/Icon/icon-cloth.png.meta +++ b/Assets/External/MagicaCloth2/Res/Icon/icon-cloth.png.meta @@ -126,6 +126,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Icon/icon-cloth.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Icon/icon-collider.png.meta b/Assets/External/MagicaCloth2/Res/Icon/icon-collider.png.meta index 6532b4a71..c1bc9bf92 100644 --- a/Assets/External/MagicaCloth2/Res/Icon/icon-collider.png.meta +++ b/Assets/External/MagicaCloth2/Res/Icon/icon-collider.png.meta @@ -138,6 +138,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Icon/icon-collider.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Icon/icon-settings.png.meta b/Assets/External/MagicaCloth2/Res/Icon/icon-settings.png.meta index 60d893a2a..5bb38f525 100644 --- a/Assets/External/MagicaCloth2/Res/Icon/icon-settings.png.meta +++ b/Assets/External/MagicaCloth2/Res/Icon/icon-settings.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Icon/icon-settings.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Icon/icon-wind.png.meta b/Assets/External/MagicaCloth2/Res/Icon/icon-wind.png.meta index 7a8bb290f..ca62dc3b0 100644 --- a/Assets/External/MagicaCloth2/Res/Icon/icon-wind.png.meta +++ b/Assets/External/MagicaCloth2/Res/Icon/icon-wind.png.meta @@ -137,6 +137,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Icon/icon-wind.png - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Accessory.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Accessory.json.meta index 55a7a181e..5e67f8c15 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Accessory.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Accessory.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Accessory.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Cape.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Cape.json.meta index d0f11c03e..d42d19996 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Cape.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Cape.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Cape.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_FrontHair.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_FrontHair.json.meta index ff6d54240..3b8865227 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_FrontHair.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_FrontHair.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_FrontHair.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_HardSpring.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_HardSpring.json.meta index 852a34f3f..46ab5cf3c 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_HardSpring.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_HardSpring.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_HardSpring.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_LongHair.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_LongHair.json.meta index 1ec8ac23a..46fe62399 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_LongHair.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_LongHair.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_LongHair.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_MiddleSpring.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_MiddleSpring.json.meta index 432d56c5b..3158fd344 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_MiddleSpring.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_MiddleSpring.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_MiddleSpring.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_ShortHair.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_ShortHair.json.meta index e3dd10d3b..249a4d186 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_ShortHair.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_ShortHair.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_ShortHair.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Skirt.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Skirt.json.meta index e20958258..478887596 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Skirt.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Skirt.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Skirt.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSkirt.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSkirt.json.meta index 87c02083f..bbe93d7d1 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSkirt.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSkirt.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSkirt.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSpring.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSpring.json.meta index 8a13529c0..e716773d1 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSpring.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSpring.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_SoftSpring.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Tail.json.meta b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Tail.json.meta index f043e2780..6457a2353 100644 --- a/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Tail.json.meta +++ b/Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Tail.json.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Res/Preset/MC2_Preset_Tail.json - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CheckSliderSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CheckSliderSerializeData.cs.meta index b34b1598c..ac234461c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CheckSliderSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CheckSliderSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/CheckSliderSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothBehaviour.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothBehaviour.cs.meta index ce3d50446..c8e0d759a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothBehaviour.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothBehaviour.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothBehaviour.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothForceMode.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothForceMode.cs.meta index 73f902d60..29873a96d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothForceMode.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothForceMode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothForceMode.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothInitSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothInitSerializeData.cs.meta index 218507a64..7d8f63687 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothInitSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothInitSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothInitSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothMeshWriteMode.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothMeshWriteMode.cs.meta index bcdb8c16b..abadb792c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothMeshWriteMode.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothMeshWriteMode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothMeshWriteMode.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothNormalAxis.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothNormalAxis.cs.meta index a83f4acdf..25bb75df5 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothNormalAxis.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothNormalAxis.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothNormalAxis.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothParameters.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothParameters.cs.meta index c42e77432..6471fa5d9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothParameters.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothParameters.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothParameters.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs index df7e205f6..106aee893 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs @@ -452,8 +452,8 @@ namespace MagicaCloth2 } // ビルド完了イベント - if (buildComplate) - cloth?.OnBuildComplete?.Invoke(cloth, ret); + if (buildComplate && cloth != null) + cloth.OnBuildComplete?.Invoke(cloth, ret); return ret; } diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs.meta index 5ea84a663..79891d44a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcess.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs index c0e04e64f..20cc15227 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs @@ -362,7 +362,7 @@ namespace MagicaCloth2 interlockingAnimatorRenderers.Clear(); // PreBuildデータ解除 - MagicaManager.PreBuild?.UnregisterPreBuildData(cloth?.GetSerializeData2()?.preBuildData.GetSharePreBuildData()); + MagicaManager.PreBuild?.UnregisterPreBuildData(cloth != null ? cloth.GetSerializeData2()?.preBuildData.GetSharePreBuildData() : null); // 作業バッファ破棄 SyncTopCloth = null; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs.meta index 846c46ef9..645a23004 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessGeneration.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessGeneration.cs.meta index a74da22e0..bd95dc47c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessGeneration.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessGeneration.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothProcessGeneration.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData.cs.meta index cac805cee..aafdcd2f0 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData2.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData2.cs.meta index 256f9c3db..45f3b3093 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData2.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData2.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeData2.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs index 42c3a5e6f..289622191 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs @@ -122,7 +122,7 @@ namespace MagicaCloth2 int hash = 0; hash += (int)clothType; foreach (var ren in sourceRenderers) - hash += ren?.GetInstanceID() ?? NullHash; + hash += ren != null ? ren.GetInstanceID() : NullHash; foreach (var t in rootBones) { var stack = new Stack(30); diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs.meta index e658b794a..c82858aa9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothSerializeDataFunction.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothUpdateMode.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothUpdateMode.cs.meta index 970829f6e..802e7a4c3 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothUpdateMode.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothUpdateMode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/ClothUpdateMode.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderComponent.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderComponent.cs.meta index a2407ce53..d1c1ceb95 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderComponent.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderComponent.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderComponent.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderSymmetryMode.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderSymmetryMode.cs.meta index 39ece3143..7f4068868 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderSymmetryMode.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderSymmetryMode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/ColliderSymmetryMode.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaCapsuleCollider.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaCapsuleCollider.cs.meta index 0eaabaec5..21b58e555 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaCapsuleCollider.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaCapsuleCollider.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaCapsuleCollider.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaPlaneCollider.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaPlaneCollider.cs.meta index f598ae0f4..c3a2e6644 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaPlaneCollider.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaPlaneCollider.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaPlaneCollider.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaSphereCollider.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaSphereCollider.cs.meta index 1fd076b5a..ec950d883 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaSphereCollider.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaSphereCollider.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Collider/MagicaSphereCollider.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/AngleConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/AngleConstraint.cs.meta index 96fabe858..428ffa167 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/AngleConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/AngleConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/AngleConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs index 8ed7e83d9..2afc02a27 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs @@ -590,7 +590,9 @@ namespace MagicaCloth2 var attrE0 = attributes[vE.x]; var attrE1 = attributes[vE.y]; // 両方とも固定なら不要 - if (attrE0.IsMove() == false && attrE1.IsMove() == false) + bool isMove0 = attrE0.IsMove(); + bool isMove1 = attrE1.IsMove(); + if (isMove0 == false && isMove1 == false) continue; int pstart = tdata.particleChunk.startIndex; int2 pE = edge + pstart; @@ -704,17 +706,20 @@ namespace MagicaCloth2 //Develop.Assert(cfr > 0.0f); var friction = 1.0f - math.saturate(mindist / cfr); - // 大きい場合のみ上書き - InterlockUtility.Max(pE.x, friction, floatPt); - InterlockUtility.Max(pE.y, friction, floatPt); - // 摩擦用接触法線平均化 //Develop.Assert(math.length(collisionNormal) > 0.0f); collisionNormal = math.normalize(collisionNormal); - // 接触法線集計(すべて加算する) - InterlockUtility.AddFloat3(pE.x, collisionNormal, vecBPt); - InterlockUtility.AddFloat3(pE.y, collisionNormal, vecBPt); + if (isMove0) + { + InterlockUtility.Max(pE.x, friction, floatPt); + InterlockUtility.AddFloat3(pE.x, collisionNormal, vecBPt); + } + if (isMove1) + { + InterlockUtility.Max(pE.y, friction, floatPt); + InterlockUtility.AddFloat3(pE.y, collisionNormal, vecBPt); + } } } } diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs.meta index 7c3aa3d9c..5372d97f9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/ColliderCollisionConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs index 5ffbd7034..ffba23acc 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs @@ -499,7 +499,7 @@ namespace MagicaCloth2 // 伸縮 float3 n = math.normalize(v); - float3 corr = finalStiffness * n * (distance - restLength) / (invMass + t_invMass); + float3 corr = (distance - restLength) * finalStiffness * n / (invMass + t_invMass); float3 corr0 = invMass * corr; //float3 corr1 = -t_invMass * corr; // 相手側(使用しない) diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs.meta index 2fec340ca..5354ccfdf 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/DistanceConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/InertiaConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/InertiaConstraint.cs.meta index b014fcfbd..ac84ad93c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/InertiaConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/InertiaConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/InertiaConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/MotionConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/MotionConstraint.cs.meta index af72c547d..cac17e5ee 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/MotionConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/MotionConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/MotionConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs index 8388a90e1..3058a6472 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs @@ -1247,7 +1247,7 @@ namespace MagicaCloth2 // 相互コリジョン ref var stdata = ref *(teamPt + tdata.syncTeamId); int syncFlag = TeamManager.Flag_Sync_EdgeEdge + (contactKind * 3); - if (tdata.flag.IsSet(syncFlag)) + if (tdata.flag.IsSet(syncFlag) && stdata.IsProcess && stdata.ParticleCount > 0) { //Debug.Log($"Sync detection contact. myTeam:{teamId}, myKind:{myKind}, tarTeam:{teamId}, tarKind:{tarKind}"); @@ -1972,47 +1972,50 @@ namespace MagicaCloth2 if (tdata.syncTeamId > 0) { ref var stdata = ref *(teamPt + tdata.syncTeamId); - if (tdata.flag.IsSet(TeamManager.Flag_Sync_EdgeTriangleIntersect)) + if (stdata.IsProcess && stdata.ParticleCount > 0) { - DetectionIntersect( - workerCount, - workerIndex, - frameIndex, - // edge - teamId, - ref tdata, - KindEdge, - // triangle - tdata.syncTeamId, - ref stdata, - KindTriangle, - // self collision - ref primitiveArrayB, - ref uniformGridStartCountBuffer, - // intersect - ref intersectQueue - ); - } - if (tdata.flag.IsSet(TeamManager.Flag_Sync_TriangleEdgeIntersect)) - { - DetectionIntersect( - workerCount, - workerIndex, - frameIndex, - // triangle - teamId, - ref tdata, - KindTriangle, - // edge - tdata.syncTeamId, - ref stdata, - KindEdge, - // self collision - ref primitiveArrayB, - ref uniformGridStartCountBuffer, - // intersect - ref intersectQueue - ); + if (tdata.flag.IsSet(TeamManager.Flag_Sync_EdgeTriangleIntersect)) + { + DetectionIntersect( + workerCount, + workerIndex, + frameIndex, + // edge + teamId, + ref tdata, + KindEdge, + // triangle + tdata.syncTeamId, + ref stdata, + KindTriangle, + // self collision + ref primitiveArrayB, + ref uniformGridStartCountBuffer, + // intersect + ref intersectQueue + ); + } + if (tdata.flag.IsSet(TeamManager.Flag_Sync_TriangleEdgeIntersect)) + { + DetectionIntersect( + workerCount, + workerIndex, + frameIndex, + // triangle + teamId, + ref tdata, + KindTriangle, + // edge + tdata.syncTeamId, + ref stdata, + KindEdge, + // self collision + ref primitiveArrayB, + ref uniformGridStartCountBuffer, + // intersect + ref intersectQueue + ); + } } } //Debug.Log($"Detection intersect. team:{teamId}, Count:{writeCount}"); diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs.meta index 97fc4b525..83a598770 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SelfCollisionConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SpringConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SpringConstraint.cs.meta index 0c9a1ac1a..f033ea383 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SpringConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SpringConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/SpringConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TetherConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TetherConstraint.cs.meta index 72152c367..2200e7809 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TetherConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TetherConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TetherConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TriangleBendingConstraint.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TriangleBendingConstraint.cs.meta index 192ef7ea8..180c490ae 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TriangleBendingConstraint.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TriangleBendingConstraint.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Constraints/TriangleBendingConstraint.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CullingSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CullingSettings.cs.meta index 02459dd61..b5a54b247 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CullingSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CullingSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/CullingSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CurveSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CurveSerializeData.cs.meta index 4c29e957d..0b5b66481 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CurveSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CurveSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/CurveSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CustomSkinningSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CustomSkinningSettings.cs.meta index 76a99c949..72916d280 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CustomSkinningSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/CustomSkinningSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/CustomSkinningSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/GizmoSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/GizmoSerializeData.cs.meta index a2e95439e..920972d16 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/GizmoSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/GizmoSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/GizmoSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs index 0d3d0f023..e5ceef752 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs @@ -80,7 +80,7 @@ namespace MagicaCloth2 } //========================================================================================= - private void Reset() + protected void Reset() { #if UNITY_EDITOR // Automatically generate pre-build ID @@ -88,12 +88,12 @@ namespace MagicaCloth2 #endif } - private void OnValidate() + protected void OnValidate() { Process.DataUpdate(); } - private void Awake() + protected void Awake() { if (MagicaManager.initializationLocation == MagicaManager.InitializationLocation.Awake) { @@ -102,17 +102,17 @@ namespace MagicaCloth2 } } - private void OnEnable() + protected void OnEnable() { Process.StartUse(); } - private void OnDisable() + protected void OnDisable() { Process.EndUse(); } - void Start() + protected void Start() { if (MagicaManager.initializationLocation == MagicaManager.InitializationLocation.Start) { @@ -123,7 +123,7 @@ namespace MagicaCloth2 Process.AutoBuild(); } - private void OnDestroy() + protected void OnDestroy() { Process.Dispose(); } diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs.meta index c0c1e0d39..8fb416eba 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaCloth.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs index a633ba32f..ca5fe6b5e 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs @@ -319,7 +319,8 @@ namespace MagicaCloth2 /// null if not found public Mesh GetOriginalMesh(Renderer ren) { - return GetRenderData(ren)?.originalMesh ?? null; + var rdata = GetRenderData(ren); + return rdata != null ? rdata.originalMesh : null; } /// @@ -330,7 +331,8 @@ namespace MagicaCloth2 /// null if not found public Mesh GetCustomMesh(Renderer ren) { - return GetRenderData(ren)?.customMesh ?? null; + var rdata = GetRenderData(ren); + return rdata != null ? rdata.customMesh : null; } /// diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs.meta index 14cb78901..e845bb2eb 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAPI.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAnimationProperty.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAnimationProperty.cs.meta index 2990ea55e..29b718ecf 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAnimationProperty.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAnimationProperty.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/MagicaClothAnimationProperty.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/NormalAlignmentSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/NormalAlignmentSettings.cs.meta index 1e3b25895..fe84ff0b7 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/NormalAlignmentSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/NormalAlignmentSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/NormalAlignmentSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/SelectionData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/SelectionData.cs.meta index 85b63b3e0..4ef6a8c20 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/SelectionData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/SelectionData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/SelectionData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs index fd046db01..9ac5a70b2 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs @@ -111,26 +111,22 @@ namespace MagicaCloth2 //========================================================================================= - public void Awake() + protected void Awake() { WindId = MagicaManager.Wind.AddWind(this); } - public void Start() - { - } - - public void OnEnable() + protected void OnEnable() { MagicaManager.Wind.SetEnable(WindId, true); } - public void OnDisable() + protected void OnDisable() { MagicaManager.Wind?.SetEnable(WindId, false); } - public void OnDestroy() + protected void OnDestroy() { MagicaManager.Wind?.RemoveWind(WindId); WindId = -1; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs.meta index af8a80d6a..e32f4a241 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/MagicaWindZone.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindParams.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindParams.cs.meta index 2e5bea7c6..211a1872b 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindParams.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindParams.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindParams.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindSettings.cs.meta index 3223aa510..32b6a36df 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Cloth/Wind/WindSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Define/ResultDefine.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Define/ResultDefine.cs.meta index 0ecbba0b6..4cd6bc2fd 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Define/ResultDefine.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Define/ResultDefine.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Define/ResultDefine.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Define/SystemDefine.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Define/SystemDefine.cs.meta index c066e7dd2..46a7b494b 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Define/SystemDefine.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Define/SystemDefine.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Define/SystemDefine.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Interface/ICount.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Interface/ICount.cs.meta index a83f39e26..304403166 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Interface/ICount.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Interface/ICount.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Interface/ICount.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Interface/IDataValidate.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Interface/IDataValidate.cs.meta index 5de1145f3..f1b48ac92 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Interface/IDataValidate.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Interface/IDataValidate.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Interface/IDataValidate.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Interface/ITransform.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Interface/ITransform.cs.meta index 3933622e2..6560a45cc 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Interface/ITransform.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Interface/ITransform.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Interface/ITransform.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Interface/IValid.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Interface/IValid.cs.meta index a6fc7785f..c2857e04e 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Interface/IValid.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Interface/IValid.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Interface/IValid.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/ClothManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/ClothManager.cs.meta index 61ce8db9a..d570a82f0 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/ClothManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/ClothManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/ClothManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/PreBuildManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/PreBuildManager.cs.meta index 44f74b06b..77a67ac77 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/PreBuildManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/PreBuildManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Cloth/PreBuildManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/IManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/IManager.cs.meta index e6ee31d07..0a8f66fc1 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/IManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/IManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/IManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManager.cs.meta index 3a72fe734..c146f6ddb 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManagerAPI.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManagerAPI.cs.meta index 196e722bc..2a1459631 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManagerAPI.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManagerAPI.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaManagerAPI.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs index 872f5b40f..4dd560555 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs @@ -115,25 +115,25 @@ namespace MagicaCloth2 public int splitProxyMeshVertexCount = Define.System.SplitProxyMeshVertexCount; //========================================================================================= - public void Awake() + protected void Awake() { if (refreshMode == RefreshMode.OnAwake) Refresh(); } - public void Start() + protected void Start() { if (refreshMode == RefreshMode.OnStart) Refresh(); } - public void Update() + protected void Update() { if (refreshMode == RefreshMode.EveryFrame) Refresh(); } - private void OnValidate() + protected void OnValidate() { if (Application.isPlaying) Refresh(); diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs.meta index 096912376..f637cbbe2 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/MagicaSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs index 31f0de2ec..d69332767 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs @@ -181,8 +181,8 @@ namespace MagicaCloth2 MagicaManager.Render.SetBitsRenderDataWorkFlag(renderDataWorkIndex, RenderManager.RenderDataFlag_UseCustomMesh, true); // Event - if (process != null) - process.cloth?.OnRendererMeshChange?.Invoke(process.cloth, renderer, true); + if (process != null && process.cloth) + process.cloth.OnRendererMeshChange?.Invoke(process.cloth, renderer, true); } void ResetCustomMeshWorkData() @@ -246,8 +246,8 @@ namespace MagicaCloth2 rm.SetBitsRenderDataWorkFlag(renderDataWorkIndex, RenderManager.RenderDataFlag_UseCustomMesh, false); // Event - if (process != null) - process.cloth?.OnRendererMeshChange?.Invoke(process.cloth, renderer, false); + if (process != null && process.cloth) + process.cloth.OnRendererMeshChange?.Invoke(process.cloth, renderer, false); } /// diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs.meta index 14eff1e68..33126ec1c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderManager.cs.meta index b40fe674e..d414b7fad 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs index 0a7821a19..2d6477362 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs @@ -280,8 +280,7 @@ namespace MagicaCloth2 } else { - var filter = ren.GetComponent(); - if (filter == null) + if (!ren.TryGetComponent(out var filter)) { result.SetError(Define.Result.RenderSetup_InvalidSource); return; @@ -678,8 +677,7 @@ namespace MagicaCloth2 if (transform.isValid == false) return; - var pos = transform.position; - var rot = transform.rotation; + transform.GetPositionAndRotation(out var pos, out var rot); float4x4 LtoW = transform.localToWorldMatrix; positions[index] = pos; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs.meta index 206cef255..a90326cc5 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupDataSerialization.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupDataSerialization.cs.meta index e8fa4084f..97091950c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupDataSerialization.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupDataSerialization.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupDataSerialization.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs index b725ea11f..518364115 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs @@ -71,8 +71,7 @@ namespace MagicaCloth2 if (hasSkinnedMesh) return false; - var filter = ren.GetComponent(); - if (filter == null) + if (!ren.TryGetComponent(out var filter)) return false; var smesh = filter.sharedMesh; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs.meta index 162302cb4..f8fb76bfe 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Render/RenderSetupSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/ColliderManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/ColliderManager.cs.meta index a07791187..0d009178f 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/ColliderManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/ColliderManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/ColliderManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManager.cs.meta index 433b5c399..fae80a73d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs index ed19e8f43..3908dca90 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs @@ -1282,7 +1282,7 @@ namespace MagicaCloth2 if (math.abs(ylen) > y) { - v -= dir * (math.abs(ylen) - y) * math.sign(ylen); + v -= (math.abs(ylen) - y) * math.sign(ylen) * dir; } } } @@ -1509,7 +1509,7 @@ namespace MagicaCloth2 // ■摩擦 float friction = frictionArray[pindex]; float3 cn = collisionNormalArray[pindex]; - bool isCollision = math.lengthsq(cn) > Define.System.Epsilon; // 接触の有無 + bool isCollision = math.lengthsq(cn) > Define.System.Epsilon && friction > Define.System.Epsilon; // 接触の有無 float staticFrictionParam = param.colliderCollisionConstraint.staticFriction * tdata.scaleRatio; float dynamicFrictionParam = param.colliderCollisionConstraint.dynamicFriction; #endif @@ -1517,7 +1517,7 @@ namespace MagicaCloth2 #if true // ■静止摩擦 float staticFriction = staticFrictionArray[pindex]; - if (isCollision && friction > 0.0f && staticFrictionParam > 0.0f) + if (isCollision && staticFrictionParam > 0.0f) { // 接線方向の移動速度から計算する var v = nextPos - oldPos; @@ -1559,7 +1559,7 @@ namespace MagicaCloth2 #if true // ■動摩擦 // 衝突面との角度が大きいほど減衰が強くなる(MC1) - if (friction > Define.System.Epsilon && isCollision && dynamicFrictionParam > 0.0f && sqVel >= Define.System.Epsilon) + if (isCollision && dynamicFrictionParam > 0.0f && sqVel >= Define.System.Epsilon) { //float dot = math.dot(cn, math.normalize(velocity)); float dot = math.dot(cn, normalVelocity); diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs.meta index ea86d1c58..885a2baf5 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerNormal.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerSplit.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerSplit.cs.meta index 5c075aaa0..3322141a3 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerSplit.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerSplit.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/SimulationManagerSplit.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/TimeManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/TimeManager.cs.meta index 14da27932..3b4f71c79 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/TimeManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/TimeManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/TimeManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/WindManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/WindManager.cs.meta index fca333eef..4284c28ea 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/WindManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/WindManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Simulation/WindManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs index 58fa5f111..8a39e2108 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs @@ -2211,7 +2211,7 @@ namespace MagicaCloth2 // ・慣性の小刻みな変化によるクロスの振動の緩和 float3 smoothDeltaVector = 0; #if true - if (param.inertiaConstraint.movementInertiaSmoothing >= 1e-06f) + if (param.inertiaConstraint.movementInertiaSmoothing >= 1e-06f && !(tdata.IsKeepReset || tdata.IsReset)) { // 慣性速度をスムージングする // 測定はシミュレーションが実行される場合のみ行う(そうしないと振動が発生する) diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs.meta index d15aa013b..d74f5b306 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamWindData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamWindData.cs.meta index 14a189563..1fb4c6d12 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamWindData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamWindData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/Team/TeamWindData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs index 882419e49..2db22b552 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs @@ -187,7 +187,7 @@ namespace MagicaCloth2 { // Transformからデータを取得(メインスレッドのみ) idArray[index] = t.GetInstanceID(); - parentIdArray[index] = t.parent?.GetInstanceID() ?? 0; + parentIdArray[index] = t.parent ? t.parent.GetInstanceID() : 0; initLocalPositionArray[index] = t.localPosition; initLocalRotationArray[index] = t.localRotation; positionArray[index] = t.position; @@ -222,7 +222,7 @@ namespace MagicaCloth2 { // Transformからデータを取得(メインスレッドのみ) idArray.Add(t.GetInstanceID()); - parentIdArray.Add(t.parent?.GetInstanceID() ?? 0); + parentIdArray.Add(t.parent ? t.parent.GetInstanceID() : 0); initLocalPositionArray.Add(t.localPosition); initLocalRotationArray.Add(t.localRotation); positionArray.Add(t.position); @@ -535,7 +535,7 @@ namespace MagicaCloth2 { // Transformからデータを取得(メインスレッドのみ) idArray[index] = t.GetInstanceID(); - parentIdArray[index] = t.parent?.GetInstanceID() ?? 0; + parentIdArray[index] = t.parent ? t.parent.GetInstanceID() : 0; initLocalPositionArray[index] = t.localPosition; initLocalRotationArray[index] = t.localRotation; positionArray[index] = t.position; @@ -647,8 +647,7 @@ namespace MagicaCloth2 //byte flag = flagList[index]; //if ((flag & Flag_Write) != 0) { - transform.localPosition = localPositionArray[index]; - transform.localRotation = localRotationArray[index]; + transform.SetLocalPositionAndRotation(localPositionArray[index], localRotationArray[index]); } } } @@ -724,8 +723,7 @@ namespace MagicaCloth2 //byte flag = flagList[index]; //if ((flag & Flag_Read) != 0) { - var pos = transform.position; - var rot = transform.rotation; + transform.GetPositionAndRotation(out var pos, out var rot); float4x4 LtoW = transform.localToWorldMatrix; positionArray[index] = pos; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs.meta index 3c0bf5a76..859125697 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformDataSerialization.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformDataSerialization.cs.meta index 4f30eb9d0..e023d1608 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformDataSerialization.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformDataSerialization.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformDataSerialization.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs index a28aeb47f..d04164a3c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs @@ -633,8 +633,7 @@ namespace MagicaCloth2 if ((tdata.IsCameraCullingInvisible && tdata.IsCameraCullingKeep) || tdata.IsDistanceCullingInvisible) return; - transform.localPosition = localPositionArray[index]; - transform.localRotation = localRotationArray[index]; + transform.SetLocalPositionAndRotation(localPositionArray[index], localRotationArray[index]); // 物理更新チームの存在 if (tdata.IsFixedUpdate) @@ -711,8 +710,7 @@ namespace MagicaCloth2 if ((tdata.IsCameraCullingInvisible && tdata.IsCameraCullingKeep) || tdata.IsDistanceCullingInvisible) return; - transform.localPosition = baseLocalPositionArray[index]; - transform.localRotation = baseLocalRotationArray[index]; + transform.SetLocalPositionAndRotation(baseLocalPositionArray[index], baseLocalRotationArray[index]); //Debug.Log($"RestoreTransform [{index}] lpos:{baseLocalPositionArray[index]}, lrot:{baseLocalRotationArray[index].value}"); } @@ -806,8 +804,7 @@ namespace MagicaCloth2 if (tdata.IsCullingInvisible) return; - var pos = transform.position; - var rot = transform.rotation; + transform.GetPositionAndRotation(out var pos, out var rot); float4x4 LtoW = transform.localToWorldMatrix; positionArray[index] = pos; @@ -929,8 +926,7 @@ namespace MagicaCloth2 else if (flag.IsSet(Flag_LocalPosRotWrite)) { // ローカル座標・回転を書き込む - transform.localPosition = localPositions[index]; - transform.localRotation = localRotations[index]; + transform.SetLocalPositionAndRotation(localPositions[index], localRotations[index]); //Debug.Log($"WriteTransform [{index}] (local!) lpos:{localPositions[index]}, lrot:{localRotations[index]}"); } @@ -1069,7 +1065,10 @@ namespace MagicaCloth2 sb.Append(flag.IsSet(Flag_Read) ? "r" : ""); sb.Append(flag.IsSet(Flag_WorldRotWrite) ? "W" : ""); sb.Append(flag.IsSet(Flag_LocalPosRotWrite) ? "w" : ""); - sb.AppendLine($") {t?.name ?? "(null)"}"); + if (t) + sb.AppendLine($") {t.name}"); + else + sb.AppendLine($") (null)"); } } @@ -1091,7 +1090,10 @@ namespace MagicaCloth2 sb.Append(flag.IsSet(Flag_Read) ? "r" : ""); sb.Append(flag.IsSet(Flag_WorldRotWrite) ? "W" : ""); sb.Append(flag.IsSet(Flag_LocalPosRotWrite) ? "w" : ""); - sb.AppendLine($") {t?.name ?? "(null)"}"); + if (t) + sb.AppendLine($") {t.name}"); + else + sb.AppendLine($") (null)"); } } } diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs.meta index 3961e2603..c1d1160ed 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecord.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecord.cs.meta index da0cb9c3d..a0b9c21ad 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecord.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecord.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecord.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecordSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecordSerializeData.cs.meta index 51f0c1c2c..9695b2c1d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecordSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecordSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/TransformManager/TransformRecordSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Manager/VirtualMesh/VirtualMeshManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Manager/VirtualMesh/VirtualMeshManager.cs.meta index 2138e314f..8cb6e5fb0 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Manager/VirtualMesh/VirtualMeshManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Manager/VirtualMesh/VirtualMeshManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Manager/VirtualMesh/VirtualMeshManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildScriptableObject.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildScriptableObject.cs.meta index 086982be5..0cbed0ab4 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildScriptableObject.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildScriptableObject.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildScriptableObject.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildSerializeData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildSerializeData.cs.meta index 3ca0db559..4ef27ec16 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildSerializeData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildSerializeData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/PreBuild/PreBuildSerializeData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/SharePreBuildData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/SharePreBuildData.cs.meta index cd541ad04..a46868853 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/SharePreBuildData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/SharePreBuildData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/PreBuild/SharePreBuildData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/UniquePreBuildData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/UniquePreBuildData.cs.meta index 83f0af1ab..0417bf6d3 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/UniquePreBuildData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/PreBuild/UniquePreBuildData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/PreBuild/UniquePreBuildData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionSettings.cs.meta index 357c0aa2a..e934e31da 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionWorkData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionWorkData.cs.meta index 45ffd984f..08359130d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionWorkData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionWorkData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/ReductionWorkData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SameDistanceReduction.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SameDistanceReduction.cs.meta index ffea9b4fd..f149d2360 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SameDistanceReduction.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SameDistanceReduction.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/SameDistanceReduction.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ShapeDistanceReduction.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ShapeDistanceReduction.cs.meta index 5c52e2cea..675923bc4 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ShapeDistanceReduction.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/ShapeDistanceReduction.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/ShapeDistanceReduction.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SimpleDistanceReduction.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SimpleDistanceReduction.cs.meta index 732b96e7c..018a3c1e6 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SimpleDistanceReduction.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/SimpleDistanceReduction.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/SimpleDistanceReduction.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/StepReductionBase.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/StepReductionBase.cs.meta index c65100de5..7afe58d22 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Reduction/StepReductionBase.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Reduction/StepReductionBase.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Reduction/StepReductionBase.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Settings/ClothDebugSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Settings/ClothDebugSettings.cs.meta index ca7b3e3e3..03fea72fb 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Settings/ClothDebugSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Settings/ClothDebugSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Settings/ClothDebugSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Settings/VirtualMeshDebugSettings.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Settings/VirtualMeshDebugSettings.cs.meta index b70dfb803..0af7af792 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Settings/VirtualMeshDebugSettings.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Settings/VirtualMeshDebugSettings.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Settings/VirtualMeshDebugSettings.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/DataUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/DataUtility.cs.meta index f709a0b13..74f943603 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/DataUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/DataUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/DataUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/MultiDataBuilder.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/MultiDataBuilder.cs.meta index dc089fe48..b567a966d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/MultiDataBuilder.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/MultiDataBuilder.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Data/MultiDataBuilder.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Grid/GridMap.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Grid/GridMap.cs.meta index 5e97bfdd5..422e30d41 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Grid/GridMap.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Grid/GridMap.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Grid/GridMap.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/InterlockUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/InterlockUtility.cs.meta index 535d5ce36..91f36e40e 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/InterlockUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/InterlockUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/InterlockUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/JobUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/JobUtility.cs.meta index 324b57e99..18b7744e3 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/JobUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/JobUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Jobs/JobUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/AABB.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/AABB.cs.meta index e222eeea3..668ca0b83 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/AABB.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/AABB.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/AABB.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/IntAABB.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/IntAABB.cs.meta index 2b2351f41..91ec09eef 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/IntAABB.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/IntAABB.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/IntAABB.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathExtensions.cs.meta index e154e16ae..19ab8265f 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs index 1a7a7d1a8..9557e6013 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs @@ -1249,6 +1249,13 @@ namespace MagicaCloth2 return dir; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static float3 TransformNormal(in float3 dir, in float4x4 m, float3 errDir) + { + // 姿勢変換後に単位化する + return math.normalizesafe(TransformVector(dir, m), errDir); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static quaternion TransformRotation(in quaternion rot, in float4x4 m, in float3 normalTangentFlip) { diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs.meta index 094e2f403..14cc7f4cd 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MathUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MinimumData.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MinimumData.cs.meta index b1e3eb65d..1692385b2 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MinimumData.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MinimumData.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Math/MinimumData.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs index 8de5fe171..d99e041c9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs @@ -25,8 +25,7 @@ namespace MagicaCloth2 else { // mesh filter - var filter = ren.GetComponent(); - if (filter == null) + if (!ren.TryGetComponent(out var filter)) { Debug.LogError("Not found MeshFilter!"); return null; @@ -55,8 +54,7 @@ namespace MagicaCloth2 else { // mesh filter - var filter = ren.GetComponent(); - if (filter == null) + if (!ren.TryGetComponent(out var filter)) { Debug.LogError("Not found MeshFilter!"); return false; diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs.meta index b7b851e0a..0cdda8d7e 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Mesh/MeshUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/Develop.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/Develop.cs.meta index d5d711195..48043ea9d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/Develop.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/Develop.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/Develop.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/StaticStringBuilder.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/StaticStringBuilder.cs.meta index 463294d4d..41c48dc5b 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/StaticStringBuilder.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/StaticStringBuilder.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Misc/StaticStringBuilder.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/DataChunk.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/DataChunk.cs.meta index 0c600d558..aea276f63 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/DataChunk.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/DataChunk.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/DataChunk.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag16.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag16.cs.meta index 45c3beefd..03fa1c43a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag16.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag16.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag16.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag8.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag8.cs.meta index 8f43f0d16..14b5c6354 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag8.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag8.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExBitFlag8.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList1.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList1.cs.meta index 28fda3dc6..8e277e47d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList1.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList1.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList1.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList4.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList4.cs.meta index fb0cac01e..360591462 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList4.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList4.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExCostSortedList4.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExNativeArray.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExNativeArray.cs.meta index d8420ba31..462ace228 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExNativeArray.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExNativeArray.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExNativeArray.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExProcessingList.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExProcessingList.cs.meta index ec021d620..82198a8ea 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExProcessingList.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExProcessingList.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExProcessingList.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExSimpleNativeArray.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExSimpleNativeArray.cs.meta index dbaee99bd..134e113a5 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExSimpleNativeArray.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExSimpleNativeArray.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExSimpleNativeArray.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExTransformAccessArray.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExTransformAccessArray.cs.meta index efa3d89aa..7ff0c6710 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExTransformAccessArray.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExTransformAccessArray.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/ExTransformAccessArray.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList128BytesExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList128BytesExtensions.cs.meta index c26e7ee1a..03b6285c2 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList128BytesExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList128BytesExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList128BytesExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList32BytesExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList32BytesExtensions.cs.meta index 6697acc94..1df895b2e 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList32BytesExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList32BytesExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList32BytesExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList4096BytesExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList4096BytesExtensions.cs.meta index 328a2b24f..df937b086 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList4096BytesExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList4096BytesExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList4096BytesExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList512BytesExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList512BytesExtensions.cs.meta index cd057d453..418265cf9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList512BytesExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList512BytesExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList512BytesExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList64BytesExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList64BytesExtensions.cs.meta index 47a38d900..9c71fb8aa 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList64BytesExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList64BytesExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/FixedList64BytesExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeArrayExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeArrayExtensions.cs.meta index 8e56dee8d..48d10c903 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeArrayExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeArrayExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeArrayExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeMultiHashMapExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeMultiHashMapExtensions.cs.meta index 32c275c60..091e5e9c0 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeMultiHashMapExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeMultiHashMapExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeMultiHashMapExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeParallelHashMapExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeParallelHashMapExtensions.cs.meta index b96b1ac3e..a699345eb 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeParallelHashMapExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeParallelHashMapExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeParallelHashMapExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeReferenceExtensions.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeReferenceExtensions.cs.meta index 84f391499..0ad7960f9 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeReferenceExtensions.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeReferenceExtensions.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/NativeCollection/NativeReferenceExtensions.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/Exception.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/Exception.cs.meta index 3dce33c7a..d246faa23 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/Exception.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/Exception.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/Exception.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/ResultCode.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/ResultCode.cs.meta index 345aaf9ab..b10e3e809 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/ResultCode.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/ResultCode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/ResultCode/ResultCode.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/TimeSpan.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/TimeSpan.cs.meta index 8200faa94..0c3eeaf28 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/TimeSpan.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/TimeSpan.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/TimeSpan.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/UnityTimeSpan.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/UnityTimeSpan.cs.meta index 2e8c3456f..b5021a823 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/UnityTimeSpan.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/UnityTimeSpan.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/Utility/Time/UnityTimeSpan.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs index ad6bc2310..9dce1e097 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs @@ -357,8 +357,10 @@ namespace MagicaCloth2 // 再びローカル空間に変換する localPositions[vindex] = MathUtility.TransformPoint(wpos, toM); - localNormals[vindex] = MathUtility.TransformDirection(wnor, toM); - localTangents[vindex] = MathUtility.TransformDirection(wtan, toM); + //localNormals[vindex] = MathUtility.TransformDirection(wnor, toM); + //localTangents[vindex] = MathUtility.TransformDirection(wtan, toM); + localNormals[vindex] = MathUtility.TransformNormal(wnor, toM, math.up()); + localTangents[vindex] = MathUtility.TransformNormal(wtan, toM, math.right()); } } diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs.meta index c900d9f5c..597aa0788 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshInputOutput.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshMapping.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshMapping.cs.meta index aba21227f..2dc368c99 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshMapping.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshMapping.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshMapping.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshOptimization.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshOptimization.cs.meta index 16e02d1f7..4aa7b7b59 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshOptimization.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshOptimization.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshOptimization.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshProxy.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshProxy.cs.meta index 03992f3bf..df8c33733 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshProxy.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshProxy.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshProxy.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshReduction.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshReduction.cs.meta index 25978a25e..d694aab4d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshReduction.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshReduction.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshReduction.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshSerialization.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshSerialization.cs.meta index 4825f2ed5..e4fa5ca8b 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshSerialization.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshSerialization.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshSerialization.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshWork.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshWork.cs.meta index 8d64535d9..d9584cdd2 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshWork.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshWork.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/Function/VirtualMeshWork.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VertexAttribute.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VertexAttribute.cs.meta index 070243159..171499790 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VertexAttribute.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VertexAttribute.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VertexAttribute.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMesh.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMesh.cs.meta index 97d7b527a..94650d4c1 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMesh.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMesh.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMesh.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshBoneWeight.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshBoneWeight.cs.meta index 9615cd5e7..161e23e09 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshBoneWeight.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshBoneWeight.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshBoneWeight.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshContainer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshContainer.cs.meta index 141956b1e..2f05ff868 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshContainer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshContainer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshContainer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshPrimitive.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshPrimitive.cs.meta index d4b3ec29f..edfa1f708 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshPrimitive.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshPrimitive.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshPrimitive.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshRaycastHit.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshRaycastHit.cs.meta index 6fe813730..1787b40a1 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshRaycastHit.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshRaycastHit.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshRaycastHit.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshTransform.cs.meta b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshTransform.cs.meta index 87faff533..c35e89676 100644 --- a/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshTransform.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshTransform.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Core/VirtualMesh/VirtualMeshTransform.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs index 96df86b69..698034cd5 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs @@ -17,7 +17,7 @@ namespace MagicaCloth2 /// /// /// - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) + protected static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { #if false foreach (string str in importedAssets) diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs.meta index 58dff95fd..14454bd6a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothAssetPostprocessor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs index b3d24d13e..d45f33eb1 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs @@ -179,7 +179,11 @@ namespace MagicaCloth2 #if true // Unity2023のみ何故かGizmoTypeの挙動が異なり、実際には選択されてなくても親が選択中だとSelectedフラグが立ってしまう。 // そのため、Selectedフラグに関してはここで手動で判定することにする。 +#if UNITY_6000_3_OR_NEWER + if (Selection.Contains(component.gameObject.GetEntityId())) +#else if (Selection.Contains(component.gameObject.GetInstanceID())) +#endif gizmoType |= GizmoType.Selected; else gizmoType &= ~GizmoType.Selected; @@ -956,8 +960,7 @@ namespace MagicaCloth2 drawList.Clear(); bool isPainting = ClothPainter.IsPainting(); bool isPlaying = EditorApplication.isPlaying; - var camPos = sceneView.camera.transform.position; - Quaternion camRot = sceneView.camera.transform.rotation; + sceneView.camera.transform.GetPositionAndRotation(out var camPos, out Quaternion camRot); lock (editClothDict) { diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs.meta index 780ea505c..61100e804 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorManager.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs index f3ea90b4b..5ba13da52 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs @@ -64,7 +64,7 @@ namespace MagicaCloth2 return; // シーンカメラ - var scam = SceneView.currentDrawingSceneView?.camera; + var scam = SceneView.currentDrawingSceneView != null ? SceneView.currentDrawingSceneView.camera : null; if (scam == null) return; var crot = scam.transform.rotation; @@ -466,7 +466,7 @@ namespace MagicaCloth2 return; // シーンカメラ - var scam = SceneView.currentDrawingSceneView?.camera; + var scam = SceneView.currentDrawingSceneView != null ? SceneView.currentDrawingSceneView.camera : null; if (scam == null) return; var crot = scam.transform.rotation; diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs.meta index 72b76faf1..40fb8a24a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothEditorUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothInspectorUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothInspectorUtility.cs.meta index 6efa362df..d4a970e58 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothInspectorUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothInspectorUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothInspectorUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs index 1ba597580..84015af10 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs @@ -687,7 +687,8 @@ namespace MagicaCloth2 { // セレクションデータデータをシリアライズ化する selectionData.userEdit = true; // ユーザー編集フラグを立てる - clothEditor?.ApplyClothPainter(selectionData); + if (clothEditor != null) + clothEditor.ApplyClothPainter(selectionData); // Undo/Redoの状態を切り替えるためセレクションデータのクローンを作成して切り替える selectionData = selectionData.Clone(); @@ -873,7 +874,8 @@ namespace MagicaCloth2 if (initSelectionData.Compare(selectionData) == false) { Develop.DebugLog($"Change selection data!"); - clothEditor?.UpdateEditMesh(); + if (clothEditor != null) + clothEditor.UpdateEditMesh(); } ExitPaint(); diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs.meta index a10d3b445..ae2abaa90 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPainter.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPresetUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPresetUtility.cs.meta index 60e3cb6e8..e8b9456c1 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPresetUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPresetUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/ClothPresetUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaCapsuleColliderEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaCapsuleColliderEditor.cs.meta index 68abcc436..b230471cc 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaCapsuleColliderEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaCapsuleColliderEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaCapsuleColliderEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs index 5f4c71679..d0ba8d3be 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs @@ -13,44 +13,20 @@ namespace MagicaCloth2 [CanEditMultipleObjects] public class MagicaClothEditor : MagicaEditorBase { - //========================================================================================= - private void Awake() - { - // 選択のたびに呼ばれるのでMonoの動作とは異なる - //Debug.Log("MagicaClothEditor.Awake"); - } - private void OnEnable() + protected void OnEnable() { //Debug.Log("MagicaClothEditor.OnEnable"); ClothEditorManager.OnEditMeshBuildComplete += OnEditMeshBuildComplete; } - private void OnDisable() + protected void OnDisable() { //Debug.Log("MagicaClothEditor.OnDisable"); ClothEditorManager.OnEditMeshBuildComplete -= OnEditMeshBuildComplete; ClothPainter.ExitPaint(); } - private void OnDestroy() - { - // 選択が外れるたびに呼ばれるのでMonoの動作とは異なる - //Debug.Log("MagicaClothEditor.OnDestroy"); - //Debug.Log(target != null); - } - - private void OnValidate() - { - // どうもMonoのValidateは違う - //Debug.Log("MagicaClothEditor.OnValidate"); - } - - private void Reset() - { - //Debug.Log("MagicaClothEditor.Reset"); - } - //========================================================================================= int oldAcitve = -1; @@ -124,7 +100,11 @@ namespace MagicaCloth2 // ただしコンポーネントがProjectビューで選択されている場合は再構築しない // Hierarchyおよびプレハブモードはこれに該当しない +#if UNITY_6000_3_OR_NEWER + bool inProject = AssetDatabase.Contains(cloth.gameObject.GetEntityId()); +#else bool inProject = AssetDatabase.Contains(cloth.gameObject.GetInstanceID()); +#endif if (inProject == false) { //Develop.Log($"[{cloth.name}] rebuild. active:{nowActive}, inProject:{inProject}"); diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs.meta index 5974e4bf6..c8a665381 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaClothEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaEditorBase.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaEditorBase.cs.meta index ebdb5e29f..eb68d8520 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaEditorBase.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaEditorBase.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaEditorBase.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaPlaneColliderEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaPlaneColliderEditor.cs.meta index e030ff09b..e4ca60013 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaPlaneColliderEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaPlaneColliderEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaPlaneColliderEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSettingsEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSettingsEditor.cs.meta index d7e212bd3..9346cc7ed 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSettingsEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSettingsEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSettingsEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSphereColliderEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSphereColliderEditor.cs.meta index d5ecdecf1..3a7ecce12 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSphereColliderEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSphereColliderEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaSphereColliderEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaWindZoneEditor.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaWindZoneEditor.cs.meta index 84bb6bbb1..9254eb78a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaWindZoneEditor.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaWindZoneEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/MagicaWindZoneEditor.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/VirtualMeshEditorUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/VirtualMeshEditorUtility.cs.meta index fe5de2262..3f1f33468 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/VirtualMeshEditorUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Cloth/VirtualMeshEditorUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Cloth/VirtualMeshEditorUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs index 8de254ad0..c2189be0c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs @@ -14,7 +14,7 @@ namespace MagicaCloth2 [SerializeField] private Texture2D image = null; - public const string MagicaClothVersion = "2.16.1"; + public const string MagicaClothVersion = "2.16.4"; public static AboutMenu AboutWindow { get; set; } private const float windowWidth = 300; @@ -36,24 +36,7 @@ namespace MagicaCloth2 AboutWindow.ShowUtility(); } - //========================================================================================= - private void Awake() - { - } - - private void OnEnable() - { - } - - private void OnDisable() - { - } - - private void OnDestroy() - { - } - - private void OnGUI() + protected void OnGUI() { EditorGUILayout.Space(); EditorGUILayout.Space(); @@ -105,7 +88,7 @@ namespace MagicaCloth2 } } - private void OnInspectorUpdate() + protected void OnInspectorUpdate() { Repaint(); } diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs.meta index 91a85c5e4..6417f76ad 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/AboutMenu.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CheckSliderSerializeDataDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CheckSliderSerializeDataDrawer.cs.meta index 23772dce3..3c6147da8 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CheckSliderSerializeDataDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CheckSliderSerializeDataDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CheckSliderSerializeDataDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CurveSerializeDataDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CurveSerializeDataDrawer.cs.meta index acf0f4baf..f863e5e1a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CurveSerializeDataDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CurveSerializeDataDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/CurveSerializeDataDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs index cc567eda5..27c42915d 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs @@ -22,7 +22,11 @@ namespace MagicaCloth2 static void DrawIcon(int instanceId, Rect rect) { rect.width = iconSize; +#if UNITY_6000_3_OR_NEWER + GameObject obj = UnityEditor.EditorUtility.EntityIdToObject(instanceId) as GameObject; +#else GameObject obj = UnityEditor.EditorUtility.InstanceIDToObject(instanceId) as GameObject; +#endif if (obj == null) return; rect.x += EditorStyles.label.CalcSize(obj.name).x; diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs.meta index 9bb9d7daa..3fdeb7864 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/DrawIconInHierarchy.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs index 5f76f08e2..10fa83d26 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs @@ -80,8 +80,7 @@ namespace MagicaCloth2 { obj.transform.parent = parent.transform; } - obj.transform.localPosition = Vector3.zero; - obj.transform.localRotation = Quaternion.identity; + obj.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity); if (autoScale && parent) { diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs.meta index 4c63803f0..87bbfb8d4 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/MenuItemScript.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/SharePreBuildDataDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/SharePreBuildDataDrawer.cs.meta index 691a7d153..c931ea1eb 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/SharePreBuildDataDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/SharePreBuildDataDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/EditorExtension/SharePreBuildDataDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs index b31700177..4acc4bb53 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs @@ -292,7 +292,7 @@ namespace MagicaCloth2 else if (collider is MagicaPlaneCollider) { DrawWireCube(Vector3.zero, Quaternion.identity, new Vector3(1.0f, 0.0f, 1.0f) * 1.0f, true); - DrawLine(Vector3.zero, Vector3.up * 0.25f * direction, true); + DrawLine(Vector3.zero, 0.25f * direction * Vector3.up, true); } else if (collider is MagicaCapsuleCollider) { diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs.meta index aa6c33319..9d2722b5c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/GizmoUtility.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaCapsuleColliderGizmoDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaCapsuleColliderGizmoDrawer.cs.meta index de6465bc5..854ff8c8f 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaCapsuleColliderGizmoDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaCapsuleColliderGizmoDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaCapsuleColliderGizmoDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaClothGizmoDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaClothGizmoDrawer.cs.meta index 046ba4ded..94d5a2c85 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaClothGizmoDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaClothGizmoDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaClothGizmoDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaPlaneColliderGizmoDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaPlaneColliderGizmoDrawer.cs.meta index 7f0c07b11..594979737 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaPlaneColliderGizmoDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaPlaneColliderGizmoDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaPlaneColliderGizmoDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaSphereColliderGizmoDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaSphereColliderGizmoDrawer.cs.meta index 7bf496b24..ea325ed31 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaSphereColliderGizmoDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaSphereColliderGizmoDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaSphereColliderGizmoDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaWindZoneGizmoDrawer.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaWindZoneGizmoDrawer.cs.meta index 411b3373c..342fb3466 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaWindZoneGizmoDrawer.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaWindZoneGizmoDrawer.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/Gizmos/MagicaWindZoneGizmoDrawer.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/MagicaCloth2.Editor.asmdef.meta b/Assets/External/MagicaCloth2/Scripts/Editor/MagicaCloth2.Editor.asmdef.meta index f06e346cb..33886844a 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/MagicaCloth2.Editor.asmdef.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/MagicaCloth2.Editor.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/MagicaCloth2.Editor.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/PreBuild/PreBuildDataCreation.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/PreBuild/PreBuildDataCreation.cs.meta index a03a8dbb8..8d26eb802 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/PreBuild/PreBuildDataCreation.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/PreBuild/PreBuildDataCreation.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/PreBuild/PreBuildDataCreation.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/MagicaCloth2UPMImporterBurst.asmdef.meta b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/MagicaCloth2UPMImporterBurst.asmdef.meta index 903126e07..95139dd91 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/MagicaCloth2UPMImporterBurst.asmdef.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/MagicaCloth2UPMImporterBurst.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/MagicaCloth2UPMImporterBurst.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/UnityPackageImporter.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/UnityPackageImporter.cs.meta index 165e71250..c468e2d63 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/UnityPackageImporter.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/UnityPackageImporter.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Burst/UnityPackageImporter.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/MagicaCloth2UPMImporterCollections.asmdef.meta b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/MagicaCloth2UPMImporterCollections.asmdef.meta index acc24da9b..984ff3188 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/MagicaCloth2UPMImporterCollections.asmdef.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/MagicaCloth2UPMImporterCollections.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/MagicaCloth2UPMImporterCollections.asmdef - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/UnityPackageImporter.cs.meta b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/UnityPackageImporter.cs.meta index 8d7ebc3bf..275e2105c 100644 --- a/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/UnityPackageImporter.cs.meta +++ b/Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/UnityPackageImporter.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 242307 packageName: Magica Cloth 2 - packageVersion: 2.16.1 + packageVersion: 2.16.4 assetPath: Assets/External/MagicaCloth2/Scripts/Editor/UnityPackageImporter/Collections/UnityPackageImporter.cs - uploadId: 756593 + uploadId: 800766 diff --git a/Assets/External/NiloToonURP/CHANGELOG.md b/Assets/External/NiloToonURP/CHANGELOG.md index b107586e6..7afefc78a 100644 --- a/Assets/External/NiloToonURP/CHANGELOG.md +++ b/Assets/External/NiloToonURP/CHANGELOG.md @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:286cfd88e54df31389da5e8db79850e78dd6d651316d9b4498aa63ca09c946b0 -size 249529 +oid sha256:ae4b29d2144b2a71beb9d4e8661c8d89030de22218581f5d99bcc5f52b8cb21e +size 250979 diff --git a/Assets/External/NiloToonURP/Editor/Attribute/RevertiblePropertyDrawer.cs b/Assets/External/NiloToonURP/Editor/Attribute/RevertiblePropertyDrawer.cs index 06515526c..4d093a729 100644 --- a/Assets/External/NiloToonURP/Editor/Attribute/RevertiblePropertyDrawer.cs +++ b/Assets/External/NiloToonURP/Editor/Attribute/RevertiblePropertyDrawer.cs @@ -207,40 +207,134 @@ public class RevertiblePropertyDrawer : PropertyDrawer // Get the target object type Type targetType = property.serializedObject.targetObject.GetType(); - // Create a temporary instance to get default values - object tempInstance = Activator.CreateInstance(targetType); + // Check if it's a MonoBehaviour or Component - if so, create temp GameObject + if (typeof(MonoBehaviour).IsAssignableFrom(targetType) || + typeof(Component).IsAssignableFrom(targetType)) + { + GameObject tempGO = new GameObject("TempForDefaults"); + tempGO.hideFlags = HideFlags.HideAndDontSave; + + try + { + Component tempComponent = SafeAddComponentWithRequirements(tempGO,targetType); + + // Navigate through the property path to get the field + string[] path = property.propertyPath.Split('.'); + object currentObject = tempComponent; + FieldInfo field = null; + + for (int i = 0; i < path.Length; i++) + { + // Handle array elements + if (path[i].Contains("[")) + { + return GetDefaultValueForType(property.propertyType); + } + + field = currentObject.GetType().GetField(path[i], + BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + + if (field != null && i < path.Length - 1) + { + currentObject = field.GetValue(currentObject); + if (currentObject == null) + { + return GetDefaultValueForType(property.propertyType); + } + } + } + + if (field != null) + { + return field.GetValue(currentObject); + } + } + finally + { + UnityEngine.Object.DestroyImmediate(tempGO); + } + + return GetDefaultValueForType(property.propertyType); + } + + // Check if it's a ScriptableObject (including ScriptableRendererFeature) + if (typeof(ScriptableObject).IsAssignableFrom(targetType)) + { + ScriptableObject tempInstance = ScriptableObject.CreateInstance(targetType); + + try + { + // Navigate through the property path to get the field + string[] path = property.propertyPath.Split('.'); + object currentObject = tempInstance; + FieldInfo field = null; + + for (int i = 0; i < path.Length; i++) + { + // Handle array elements + if (path[i].Contains("[")) + { + return GetDefaultValueForType(property.propertyType); + } + + field = currentObject.GetType().GetField(path[i], + BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + + if (field != null && i < path.Length - 1) + { + currentObject = field.GetValue(currentObject); + if (currentObject == null) + { + return GetDefaultValueForType(property.propertyType); + } + } + } + + if (field != null) + { + return field.GetValue(currentObject); + } + } + finally + { + UnityEngine.Object.DestroyImmediate(tempInstance); + } + + return GetDefaultValueForType(property.propertyType); + } + + // For other types, use Activator.CreateInstance + object tempInstance2 = Activator.CreateInstance(targetType); // Navigate through the property path to get the field - string[] path = property.propertyPath.Split('.'); - object currentObject = tempInstance; - FieldInfo field = null; + string[] path2 = property.propertyPath.Split('.'); + object currentObject2 = tempInstance2; + FieldInfo field2 = null; - for (int i = 0; i < path.Length; i++) + for (int i = 0; i < path2.Length; i++) { // Handle array elements - if (path[i].Contains("[")) + if (path2[i].Contains("[")) { - // For simplicity, return null for array elements - // You could extend this to handle arrays properly return GetDefaultValueForType(property.propertyType); } - field = currentObject.GetType().GetField(path[i], + field2 = currentObject2.GetType().GetField(path2[i], BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - if (field != null && i < path.Length - 1) + if (field2 != null && i < path2.Length - 1) { - currentObject = field.GetValue(currentObject); - if (currentObject == null) + currentObject2 = field2.GetValue(currentObject2); + if (currentObject2 == null) { return GetDefaultValueForType(property.propertyType); } } } - if (field != null) + if (field2 != null) { - return field.GetValue(currentObject); + return field2.GetValue(currentObject2); } return GetDefaultValueForType(property.propertyType); @@ -297,7 +391,16 @@ public class RevertiblePropertyDrawer : PropertyDrawer case SerializedPropertyType.ObjectReference: return property.objectReferenceValue == (UnityEngine.Object)defaultValue; case SerializedPropertyType.Enum: - return property.enumValueIndex == (int)defaultValue; + // Handle enum properly - convert enum value to name then compare + if (defaultValue is Enum enumValue) + { + string defaultEnumName = enumValue.ToString(); + string currentEnumName = property.enumNames.Length > property.enumValueIndex && property.enumValueIndex >= 0 + ? property.enumNames[property.enumValueIndex] + : ""; + return defaultEnumName == currentEnumName; + } + return false; default: return false; } @@ -340,12 +443,68 @@ public class RevertiblePropertyDrawer : PropertyDrawer property.objectReferenceValue = (UnityEngine.Object)defaultValue; break; case SerializedPropertyType.Enum: - property.enumValueIndex = (int)defaultValue; + // Handle enum properly - find the index by name + if (defaultValue is Enum enumValue) + { + string enumName = enumValue.ToString(); + int index = Array.IndexOf(property.enumNames, enumName); + if (index >= 0) + { + property.enumValueIndex = index; + } + else + { + // If exact name not found, try to use the integer value if it's valid + int intValue = Convert.ToInt32(defaultValue); + if (intValue >= 0 && intValue < property.enumNames.Length) + { + property.enumValueIndex = intValue; + } + else + { + // Fall back to first enum value + property.enumValueIndex = 0; + } + } + } break; } property.serializedObject.ApplyModifiedProperties(); EditorUtility.SetDirty(property.serializedObject.targetObject); } + + private Component SafeAddComponentWithRequirements(GameObject go, Type targetType) + { + // Add any required dependencies first + var requireAttrs = (RequireComponent[])targetType.GetCustomAttributes(typeof(RequireComponent), true); + foreach (var attr in requireAttrs) + { + if (attr.m_Type0 != null) SafeAddComponentWithRequirements(go, attr.m_Type0); + if (attr.m_Type1 != null) SafeAddComponentWithRequirements(go, attr.m_Type1); + if (attr.m_Type2 != null) SafeAddComponentWithRequirements(go, attr.m_Type2); + } + + // Skip if already added + Component existing = go.GetComponent(targetType); + if (existing != null) + return existing; + + // Handle abstract or problematic base types (like Renderer) + if (targetType == typeof(Renderer)) + { + return go.AddComponent(); // safe default + } + + // Skip unsupported abstract classes and interfaces + if (targetType.IsAbstract || targetType.IsInterface) + { + Debug.LogWarning($"[Revertible] Skipped adding abstract/interface component type '{targetType}'."); + return null; + } + + // Finally, add the actual component + return go.AddComponent(targetType); + } } #endif \ No newline at end of file diff --git a/Assets/External/NiloToonURP/NiloToonURP user document.pdf b/Assets/External/NiloToonURP/NiloToonURP user document.pdf index 4546f5c45..42008b3f2 100644 --- a/Assets/External/NiloToonURP/NiloToonURP user document.pdf +++ b/Assets/External/NiloToonURP/NiloToonURP user document.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f77fcca8bd30fb23faa274477c69e467d6836a6f916e1aa2232e457fe32c9678 -size 48336264 +oid sha256:64857f92c07e124e1de219950438bfbeb0157f5b8ce65548a0b0381a6ee324e6 +size 48509332 diff --git a/Assets/External/NiloToonURP/Runtime/NiloToonPerCharacterRenderController.cs b/Assets/External/NiloToonURP/Runtime/NiloToonPerCharacterRenderController.cs index 1b332c587..249fdde63 100644 --- a/Assets/External/NiloToonURP/Runtime/NiloToonPerCharacterRenderController.cs +++ b/Assets/External/NiloToonURP/Runtime/NiloToonPerCharacterRenderController.cs @@ -16,9 +16,9 @@ namespace NiloToon.NiloToonURP [ExecuteAlways] public class NiloToonPerCharacterRenderController : MonoBehaviour { - static readonly string PlayerPrefsKey_NiloToonNeedPreserveEditorPlayModeMaterialChange = "NiloToonPreserveEditorPlayModeMaterialChange"; - #if UNITY_EDITOR + static readonly string PlayerPrefsKey_NiloToonNeedPreserveEditorPlayModeMaterialChange = "NiloToonPreserveEditorPlayModeMaterialChange"; + // cache to avoid calling PlayerPrefs.GetInt per frame,in order to speed up editor private static bool? _cachedPreserveEditorPlayMode; diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAnimePostProcessPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAnimePostProcessPass.cs index 6b08b20aa..65ff94063 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAnimePostProcessPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAnimePostProcessPass.cs @@ -54,6 +54,9 @@ namespace NiloToon.NiloToonURP m_ProfilingSampler = new ProfilingSampler("NiloToonAnimePostProcessPass"); } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { SetRenderPassEvent(); @@ -73,6 +76,9 @@ namespace NiloToon.NiloToonURP } } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { Render(context, ref renderingData); diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAverageShadowTestRTPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAverageShadowTestRTPass.cs index e648596c3..68fafa9f6 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAverageShadowTestRTPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonAverageShadowTestRTPass.cs @@ -8,6 +8,13 @@ using UnityEngine.Rendering.Universal; using UnityEngine.Rendering.RenderGraphModule; #endif +#if UNITY_2021 || UNITY_2022 +// On old Unity versions, alias our code's GraphicsFormatUsage to FormatUsage +using GraphicsFormatUsage = UnityEngine.Experimental.Rendering.FormatUsage; +#else +using GraphicsFormatUsage = UnityEngine.Experimental.Rendering.GraphicsFormatUsage; +#endif + namespace NiloToon.NiloToonURP { public class NiloToonAverageShadowTestRTPass : ScriptableRenderPass @@ -64,6 +71,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { // [possible optimization note] @@ -110,15 +120,15 @@ namespace NiloToon.NiloToonURP // Some Samsung phones didn't support GraphicsFormat.R16_UNorm, so we need to do a full fallback chain // Devices that can't support R16_UNorm = Galaxy S8, S7, and S21 - if(SystemInfo.IsFormatSupported(GraphicsFormat.R16_UNorm,FormatUsage.Render)) + if(SystemInfo.IsFormatSupported(GraphicsFormat.R16_UNorm,GraphicsFormatUsage.Render)) { renderTextureDescriptor.graphicsFormat = GraphicsFormat.R16_UNorm; } - else if (SystemInfo.IsFormatSupported(GraphicsFormat.R8_UNorm, FormatUsage.Render)) + else if (SystemInfo.IsFormatSupported(GraphicsFormat.R8_UNorm, GraphicsFormatUsage.Render)) { renderTextureDescriptor.graphicsFormat = GraphicsFormat.R8_UNorm; } - else if (SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8A8_UNorm, FormatUsage.Render)) + else if (SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8A8_UNorm, GraphicsFormatUsage.Render)) { renderTextureDescriptor.graphicsFormat = GraphicsFormat.R8G8B8A8_UNorm; } @@ -128,6 +138,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { if (!shouldRenderRT(renderingData.cameraData.camera)) return; @@ -156,8 +169,7 @@ namespace NiloToon.NiloToonURP // remove this when the problem is solved #if UNITY_WEBGL return false; -#endif - +#else if (camera.cameraType == CameraType.Preview) return false; @@ -166,6 +178,7 @@ namespace NiloToon.NiloToonURP // in NiloToon 0.11.1, we changed the merge method from simple override to a "&&" merge, so renderer feature can force disable all average shadow even if volume has overridden and enabled it. bool enableAverageShadow = shadowControlVolumeEffect.enableCharAverageShadow.value && settings.enableAverageShadow; return enableAverageShadow; +#endif } private void renderPerCharacterAverageShadowAtlaRT(ScriptableRenderContext context, RenderingData renderingData) { diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonCharSelfShadowMapRTPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonCharSelfShadowMapRTPass.cs index a1da79689..a94df0aab 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonCharSelfShadowMapRTPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonCharSelfShadowMapRTPass.cs @@ -82,8 +82,8 @@ namespace NiloToon.NiloToonURP [Tooltip( "Blurriness of soft shadow, the higher the blurrier and slower in GPU\n\n" + "Default: Low")] + [Revertible] [OverrideDisplayName(" Quality")] - //[Revertible] // Won't work for enum public SoftShadowQuality softShadowQuality = SoftShadowQuality.Medium; [Tooltip( "Enable to resharpen the result of soft shadow to produce a more cel-shade look\n\n" + @@ -197,6 +197,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { var volumeEffect = VolumeManager.instance.stack.GetComponent(); @@ -229,6 +232,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { renderCharacterSelfShadowmapRT(context, renderingData); diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonDrawSkyboxPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonDrawSkyboxPass.cs index 9978c038b..e3b1e1583 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonDrawSkyboxPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonDrawSkyboxPass.cs @@ -1,3 +1,4 @@ +using System; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; @@ -21,7 +22,9 @@ namespace NiloToon.NiloToonURP renderPassEvent = evt; } - /// + #if UNITY_6000_0_OR_NEWER + [Obsolete] + #endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { CameraData cameraData = renderingData.cameraData; diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonExtraThickToonOutlinePass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonExtraThickToonOutlinePass.cs index 689349a23..1737c15f6 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonExtraThickToonOutlinePass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonExtraThickToonOutlinePass.cs @@ -1,3 +1,4 @@ +using System; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; @@ -15,6 +16,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { // do nothing @@ -24,6 +28,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { // Never draw in Preview diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonMotionBlurPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonMotionBlurPass.cs index 59f0925ad..664871b9a 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonMotionBlurPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonMotionBlurPass.cs @@ -10,6 +10,8 @@ // https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Shaders/Private/MotionBlur // https://john-chapman-graphics.blogspot.com/2013/01/per-object-motion-blur.html // https://youtu.be/b0S6WMAfi0o?si=8KSxKDHz9Z95VbVt (A Reconstruction Filter for Plausible Motion Blur (I3D 12)) + +using System; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; @@ -100,6 +102,9 @@ namespace NiloToon.NiloToonURP ConfigureInput(input); } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { if(!ShouldRender(renderingData.cameraData.camera)) return; @@ -342,6 +347,9 @@ namespace NiloToon.NiloToonURP ///////////////////////////////////////////////////////////////////// // NON-RG EXECUTE METHOD - Uses shared algorithm ///////////////////////////////////////////////////////////////////// +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { if(!ShouldRender(renderingData.cameraData.camera)) return; diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonPrepassBufferRTPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonPrepassBufferRTPass.cs index 33f7eb95a..42e8359e5 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonPrepassBufferRTPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonPrepassBufferRTPass.cs @@ -56,6 +56,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { // When doing prepass rendering, the RT's depth format(depth bit/depthStencilFormat/MSAA) need to be exactly matching formats from _CameraDepthTexture, else when rejecting blocked character pixels(using _CameraDepthTexture) will fail @@ -117,6 +120,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { // since this pass is only enqueued when conditions are met in NiloToonAllInOneRendererFeature's AddRenderPasses method. diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonRendererRedrawerPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonRendererRedrawerPass.cs index 3f5b3a5e9..3fd29f22e 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonRendererRedrawerPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonRendererRedrawerPass.cs @@ -15,6 +15,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { // do nothing @@ -24,6 +27,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { /* diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonScreenSpaceOutlinePass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonScreenSpaceOutlinePass.cs index 3713fb9a4..7fc86b2b1 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonScreenSpaceOutlinePass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonScreenSpaceOutlinePass.cs @@ -69,6 +69,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { ConfigureInput(renderingData.cameraData.cameraType); @@ -135,6 +138,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { renderScreenSpaceOutline(context, renderingData); diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonSetToonParamPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonSetToonParamPass.cs index f891a4b5c..3cd974b6d 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonSetToonParamPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonSetToonParamPass.cs @@ -294,6 +294,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { ConfigureInputs(renderingData.cameraData.renderer); @@ -369,11 +372,14 @@ namespace NiloToon.NiloToonURP return isDeferredRendering; } - + // Here you can implement the rendering logic. // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { setParam(context, renderingData); @@ -917,11 +923,11 @@ namespace NiloToon.NiloToonURP { // Must match: NiloToon character shader's MAX_CHARACTER_COUNT bool isMobile = GraphicsSettings.HasShaderDefine(BuiltinShaderDefine.SHADER_API_MOBILE); - if (isMobile && (SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES2 || (SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3 && Graphics.minOpenGLESVersion <= OpenGLESVersion.OpenGLES30))) + if (isMobile && SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3 && Graphics.minOpenGLESVersion <= OpenGLESVersion.OpenGLES30) return k_MaxCharacterCountMobileShaderLevelLessThan45; // GLES can be selected as platform on Windows (not a mobile platform) but uniform buffer size so we must use a low light count. - return (isMobile || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLCore || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES2 || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3) + return (isMobile || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLCore || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3) ? k_MaxCharacterCountMobile : k_MaxCharacterCountNonMobile; } } @@ -1030,7 +1036,8 @@ namespace NiloToon.NiloToonURP Color finalTintColor = Color.Lerp(Color.white,light.intensity * finalLightColor, controller.mainLightTintColorByLight_Strength); finalTint *= finalTintColor; } - finalPerCharMainDirectionalLightTintColorArray[characterID] *= finalTint; + + finalPerCharMainDirectionalLightTintColorArray[characterID].Scale((Vector4)finalTint); } //-------------------------------------------------------- diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonToonOutlinePass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonToonOutlinePass.cs index 58f879817..4200fc6ec 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonToonOutlinePass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonToonOutlinePass.cs @@ -16,6 +16,9 @@ namespace NiloToon.NiloToonURP // When empty this render pass will render to the active camera render target. // You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear. // The render pipeline will ensure target setup and clearing happens in a performant manner. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { // do nothing @@ -25,6 +28,9 @@ namespace NiloToon.NiloToonURP // Use ScriptableRenderContext to issue drawing commands or execute command buffers // https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.html // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { renderClassicOutline(context, renderingData); @@ -124,7 +130,7 @@ namespace NiloToon.NiloToonURP "- extra thick outline will NOT render on top of transparent material (= extra thick outline covered by transparent material)\n\n" + "*You can also control extra thick outline's ZWrite in each NiloToonPerCharacterRenderController.\n\n" + "Default: AfterRenderingTransparents")] - //[Revertible] // won't work for enum + [Revertible] [OverrideDisplayName("RenderPassEvent")] public RenderPassEvent extraThickOutlineRenderTiming = RenderPassEvent.AfterRenderingTransparents; } diff --git a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonUberPostProcessPass.cs b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonUberPostProcessPass.cs index 6e975b287..1e04ea18b 100644 --- a/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonUberPostProcessPass.cs +++ b/Assets/External/NiloToonURP/Runtime/RendererFeatures/Passes/NiloToonUberPostProcessPass.cs @@ -59,6 +59,13 @@ using UnityEngine.XR; using UnityEngine.Rendering.RenderGraphModule; #endif +#if UNITY_2021 || UNITY_2022 +// On old Unity versions, alias our code's GraphicsFormatUsage to FormatUsage +using GraphicsFormatUsage = UnityEngine.Experimental.Rendering.FormatUsage; +#else +using GraphicsFormatUsage = UnityEngine.Experimental.Rendering.GraphicsFormatUsage; +#endif + namespace NiloToon.NiloToonURP { #if UNITY_2022_2_OR_NEWER @@ -156,8 +163,15 @@ namespace NiloToon.NiloToonURP ShaderConstants._BloomMipDown[i] = Shader.PropertyToID("_NiloToonBloomMipDown" + i); } + // [Copy from Unity6000.2.6f2 > PostProcessPass.cs] // Texture format pre-lookup - const FormatUsage usage = FormatUsage.Linear | FormatUsage.Render; + // UUM-41070: We require `Linear | Render` but with the deprecated FormatUsage this was checking `Blend` + // For now, we keep checking for `Blend` until the performance hit of doing the correct checks is evaluated + + //const FormatUsage usage = FormatUsage.Linear | FormatUsage.Render; // old, but still correct, don't use it anymore due to warning of FormatUsage obsolete API + //const GraphicsFormatUsage usage = GraphicsFormatUsage.Linear | GraphicsFormatUsage.Render; // naive change FormatUsage->GraphicsFormatUsage = wrong! fk unity why? don't use it! + const GraphicsFormatUsage usage = GraphicsFormatUsage.Blend; // correct, matching Unity6000.2.6f2 URP PostProcessPass.cs code + if (SystemInfo.IsFormatSupported(GraphicsFormat.B10G11R11_UFloatPack32, usage)) // HDR fallback { m_DefaultHDRFormat = GraphicsFormat.B10G11R11_UFloatPack32; @@ -191,11 +205,17 @@ namespace NiloToon.NiloToonURP //m_Source = source; } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) { //overrideCameraTarget = true; } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { // [NiloToon added] @@ -258,6 +278,9 @@ namespace NiloToon.NiloToonURP return desc; } +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif void Render(CommandBuffer cmd, ref RenderingData renderingData) { ref var cameraData = ref renderingData.cameraData; @@ -312,6 +335,10 @@ namespace NiloToon.NiloToonURP } } } + +#if UNITY_6000_0_OR_NEWER + [Obsolete] +#endif void SetupBloom(CommandBuffer cmd, RTHandle source, Material uberMaterial) { // [NiloToon edited] diff --git a/Assets/External/NiloToonURP/Runtime/Volume/NiloToonTonemappingVolume.cs b/Assets/External/NiloToonURP/Runtime/Volume/NiloToonTonemappingVolume.cs index 7afa28880..1da00bacc 100644 --- a/Assets/External/NiloToonURP/Runtime/Volume/NiloToonTonemappingVolume.cs +++ b/Assets/External/NiloToonURP/Runtime/Volume/NiloToonTonemappingVolume.cs @@ -25,7 +25,7 @@ namespace NiloToon.NiloToonURP NiloHybirdACES } - [Serializable, VolumeComponentMenuForRenderPipeline("NiloToon/Tonemapping (NiloToon)", typeof(UniversalRenderPipeline))] + [Serializable, VolumeComponentMenu("NiloToon/Tonemapping (NiloToon)")] public class NiloToonTonemappingVolume : VolumeComponent, IPostProcessComponent { [Tooltip("Select a tonemapping algorithm to use for the color grading process.\n" + diff --git a/Assets/External/NiloToonURP/package.json b/Assets/External/NiloToonURP/package.json index 87fc2d0d4..71750238d 100644 --- a/Assets/External/NiloToonURP/package.json +++ b/Assets/External/NiloToonURP/package.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ea5c775f3724f5ece0b6fe565167a853e18764d6a14bbd604505cf01a7815cf +oid sha256:0f79103747d19d60f57ffb962133d084f185f466049fb9c3c7a9429e40abd5b1 size 827 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5.meta index 6c7759b21..bd117c678 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7ee4d5bfb4430d640bdf0d56703ce8b5 +guid: d0e409c34c4154e40830664695be668c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes.meta index 4dbc3be0b..26e8175ee 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e8c897e0adf0c234b8b9c075ec249fd6 +guid: 69aaf42d4fe4e644ba8b8190ba98ec98 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline.meta index d62606d83..caadfe8d7 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1143f237c2c2f7448b893aed33a60bfa +guid: dfbb71e5426ba44419b28b201d9e2288 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta index 633b2e39c..9b8c69ee6 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: 4e6fc919116b17a428dfa97c72c34fa9 +guid: 48df481c5022f0647853f7f3a4609f95 DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Basic Reflection.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset deleted file mode 100644 index ee207a4822cc6deb1a2301784cd841926e56fc0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17729 zcmdU%dz@6omB*`@VR#zxf%t?00YQ;WH-ZS`I6P%|$jFR{L4}@~J50+=&)D6gGx%za zq6SP9^OBGaWaA^NiH|iV(ebfsqDj=vYB0ggZq%%C%|^4)B{3S6{hg|Fx^MOEGuh84 zf9$3{bL-Zv@2yj(s!pAIZ&iaag>Xb6Wfq;|(n}V&^P-!D&8exWnOQS4F{?dpK00vV zKx_!e#!5s74%~j`E1fg1YJC0jvv=&j?+5#uPmURrsWOHrg;R~mqsRe!k+-ppVkTzp zs4)2lVkS@bqL@A84&sO6Vo9aRkH(p*qWGcQ874&+n&$QELGL>x-ncNp?x^+KsGzkP=jFJg>tg~{QX z+BX^Ju_ZiaD$QdUzpIf??W2hjE*~>PJ^LGHc^TkoyaHo$6AhvL#h1ZkUyCG@e%IE=T79)_)H+4N5r9Ye5#Q@*!WB& z&SmLD<465Z<3svSvUx;Ypz#UM|KpME>tE^hKaH`^W9C8RJ%xkhPq7>khf@2UihRGk zKR-{1@R-$aFY;-AO|u*k2l79!A^jeXP8`#5`0XEJ_Mq)!kxAuGRQR#XPg3~t%x5V4 zMCKjiM~UrUJR5pgK>UrUicnEyJHxD>YO3iBp1 z$bW6b^)j1>hy(er_eeLq*pUBez~PtopD)WT&m(rB^!c&^*}i|OG{433a}?y$vv;NC z)rei7@_V4$cyRJBt8m0jwSzY8cs2906h4VLy$h5pKbd)BgggDFf|GuD*C<uU~(D)Hw$^2a8`{U=@m*n=Xv%H#1)4hKG zpQmtX-zO9%^=q*l z5eMqO-RS>Y!KvR{arpi3_%7yc3csCspzv=pZ&&!YnQv0~6U^y7ww!)HWS&y^3(Vn1 z%9j5*^UVr>jXAwzl&k+O=3NSZmw8&@u?i=*Tj8Ua_b7ZU^NSTefq5pvo&TN=PX0Sf zJdcP&ssGL)KUOc4boRdwdWjdYQ@`6)yhgT7`@Mxh}%p^Y?eqkDiZPEl0$G{15r3_gMeyk?-42mFJ&sP`LP~ z8x=18=~D_9|Fliv;-9uFT>R5b3K#$MX@!e_`i#QGKi#Zw@lUrXT>R4xg^Pc>RpH{F zKC5u?PoGn`_@~b+T>R4)BHY4c`ocwDaIL)62BHW)pf3I+v zKMyKg=FhhjF7xLhh0FZ;w!&rpd`ICjf4-}5nLiIJT;|Us3YYmapm3Q#k1AZ|&tnRg z`SZBKW&S*&aG5{3T&F8245!o~jnMd4z9 zKUcWe-@htc?C;+cF7^jsU($ZpKC!=-6)yJoio(VIURAi*-!By|_V@1!7yEln;bMQk zQn=XP>k1e9`;Q2B_IDTC-y6j9h&Ytm->;EBnEm}HaVc!mmF7E;P4;&ru74BZ?)zmQ z?!ljVvka%_>n{Pxe&334-+%sA;bOo4rEsy|-zi+|_icrX{l24cvETnzxY+N0g^T_E zUg2WDe^9vC@4E^Y`~9QB#eUyYxY+Oe3K#qRlfuP*KTx>X?}riY?B`9kpN}Hk+4uY4 z{j-fu?^b@n|P*Fz%Q*RMk1Ga!TPzf$3+F&`S?ZhdJf zI5n?|cpic{l&&ugBVI3*^!L}7hDYRAnDF}2hzR%BmqsdF)|W;_xYIwy`i~}_59{au zKHwnYgXsUUh7QZ!4<$Z`{)Z8NBHTW|{|_&bPy7GZLpJ%( zLr{$NS$+BL`|38_L-un-NqPDHdVu-3GW=<}r{E-pv?DyAP{wRgN&-~~JucSSl z{OBs^4f)3quSbFd?JvKG^~1x#$$n{{IF=VmW&H6!E>hm_zwyM2#gVQs_l5T7Cq%fv zKVNNmQ32||@b4ogM!3^|7VAHWc(Hgyf7<8v+wbc?*~%|Afb$Yz6_X>818YL~R7a^0CFeYqf=O?9X1OxK2`sm`EbF%pf*Tn7^NzQ#<@ zo@{AIXLHGPYf$Ghn_7c(V1-dRdxf*DsVmu&HIkw_LjcLesf<7>*^zAPzI0VGyBQY? zRyPNIx!z2Wb(Prr8Z+H3L6&L>UCI^JwW_-|B=2bakgwt=W|c+_W&c zIcQtZ)shO*IV-3ky)u;!k{OfjSYKUpfj!0DDdA4D-02i|n(a<=-04(zn(I!d*;Cv} zi90EACnfHr#GRD5lM;7Q;!aB3Nr^it2`44tq$He_gp-nRQW8!|0#b@S-4nE}3DRvr zCdk;X_Ac!3tqQUob*A?cI-6XO$s|+h#r^4ISE}`#wN1^Y&-9xu*wbLNsG~Q%Im|oB zdeF}esHM+%SA1I`6Vik?H46;-dOB0BDcAi?L2g+RdbITCg6w*<*(K0wmq5E+0xfq5 zwB04pdY3@^T>|~+66i^nKwr894GO0UvT0~IuOOWUi1Q#{?be3HSz~Q{b<0ITYp$UU z=9Fqr1sRh|W;O*mm(3S$zL+Ix+ZRFF7F?C=>A@6468Ac{F6c5@dunJiDW0>o%QpqxT|q9>Z!a+M>`kG{Tt>O7+{jDC zO{pz`N#;6}S(k5?(uod&|-QLAI?+{-p#;^ zfy&cETjb-}TT=Un6IK7M$pQv#8Q7g@paEKYF-%Kul zd>A4vJi&aj!sjrbqVRdlrz*UT`3VYN$b6c@<{$aF5Jnk){>&g=Pmv3y^XFs%A^t1=C?Wqi)8M<0EkXMUQ(zruW;!s$o5_%rhr zen0bCg+I*vbcH|3yiVcIGCxD%FEX!J_%E0*Q1~0n7b^T6=8F{m0rSNQuNva|Z;8Uk zFkc$s?)h^xINAT13O}CtvIuwfeIhv7H$6)Sv+w1^>nU=f)V@~;2=VazU1{^H3wM!y z??H_+e^)77=I>bwm-)Lo!iSi*A%70Hudz_GOO(!EdPavsY5UfMA=1Pr@S+tx+nXZX zZ7P2WI?()Wj&Oheo}+M?ziSmP^Y>hZ%lxJHq;L@bAoKUUFhp9o%->HaT;}h3h0FXs zU*R%;FHpG5-wPEk^OxTB!a?+x`MWU;krpoVH>q%$zby)v`P-^+nZIoj?&j}E_+Xm9 zL4>p*@1K}o z7KTU*AA%2Kl7G3vM=-xa;bWLzsqk^kuTuDU=6QurVScs3XE47;;j@^3QsMKMUmM|W zelGy0=kImI^TnG==l51Z^rLWxjZU z`->MSQM^EzRmof?)i%=UR z%C1G@Xi0KeZ)fM4WPg_TBzSEYy@357S}H}V!R|uf*8k7D2yOu!4YG^VXa=o%V_lTi zPtWR37lwz%G-&ghhJ6CuWY=aFbqDS3*g3&o19l(E?Qi{+?_t?iTJtZgfxAU++atw1 zwu3^3Eh2_c$VImm(&1%uYby(bAWi$7Sox-aXClJFZ`?>T+ibM4{JTVCd~i<{A`o7xed)T5Kf7bagLk*}e}C&ESiJrV!f2GW z?c{x1QlWa{Bu_6AFKr;+xNC0Ry@`h(X?$kYK;u{6n*Z!m56^%5@reUJIb(Y55g(p7 z5R7}ScIU)RbyL?(KmCi(?-_V(@4VX9MvKfX=@F diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset.meta deleted file mode 100644 index 42e5d0d5b..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 62eb9e58a06fa3b429b49018c9eff7c9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 112000000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Basic Reflection/LightingData.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/ReflectionProbe-0.exr.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/ReflectionProbe-0.exr.meta index abfd5914c..8043041ec 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/ReflectionProbe-0.exr.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic Reflection/ReflectionProbe-0.exr.meta @@ -28,18 +28,18 @@ TextureImporter: ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 - cubemapConvolution: 1 - seamlessCubemap: 1 + cubemapConvolution: 0 + seamlessCubemap: 0 textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 - aniso: 0 + filterMode: 1 + aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,7 +55,7 @@ TextureImporter: alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 - textureShape: 2 + textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 @@ -73,19 +73,6 @@ TextureImporter: resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 - compressionQuality: 100 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Win64 - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 @@ -106,19 +93,6 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -141,11 +115,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Basic Reflection/ReflectionProbe-0.exr - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting deleted file mode 100644 index 12efd89e4..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting +++ /dev/null @@ -1,64 +0,0 @@ -%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: Basic ReflectionSettings - serializedVersion: 4 - m_GIWorkflowMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 1 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 2 - 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: 256 - m_FinalGatherFiltering: 1 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentMIS: 1 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - 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 - m_PVRTiledBaking: 0 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting.meta deleted file mode 100644 index 88b825a36..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: ad7e51c5fde211e449a37d7a7e7de685 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Basic ReflectionSettings.lighting - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta index 65a63502c..12b829705 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: 6b792ada80082b9469961b5cf6b7f2f9 +guid: d3569bc1185bca447afd63ed1e78b5d5 DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Depth Pass.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass/LightingData.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Depth Pass/LightingData.asset deleted file mode 100644 index 50319b920cf1b49f1b9106f2488db2107cdf237d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17729 zcmdU%dwg8Qb;oBdS$+cMVa(H(jcsf&Mk`}uY$4<)mLFJH!q_ojucRw$v9v38S0I_! zl7NBOBw!K}2q`uVfi%2B2qD6dl8_LfDa52s(gsKgB@Lv3k`f5P{hgU}cJJ)nqqLv? z(RMz%bLYn(W zu^}LvDiQ79f7h9>cFnx9>5a?I-ud2xKit=HQp}i4l`%vqoN7!SMfTf^yp3%XGcohk z3X^|0X7Y3|irGW%AbtogmQ4^x<^6`IlqMLX~>}R6*wRYu?xg!LVg^V!*RGe z@(v;<`SWm2u>7GmuYf^)`DoIh@`puu%xoKC@)?#-It-@&h)8)~|B(?MGt1DvucOh_ zzoUrfsTLQYe++G>_FGPU7;6ag3fq52Lk9KD0mN-jN%;zMHp*UzgY-Ty!eeGN@;2ch z*$3eWhtmEV131|D930^>^D=bnL_W2TY$29M#G$l(hax}LAe8Fz+jki8BF5-em>jOD zeUot>Tf$?e((J+bU4?vVA5D~S`Is5%+21(J^N3v_9=5+DknOkM$=`u|l7FP-h&YtW zKMMJNd0+m~5$@#QhJ2ELjOBx-TryBW#jn72l zT$WBWe$@XoKBWI7n@7Y28lUj|KMvWx{*_+;(-`|aW*$M_GdM{86w48DD7D|I$oI?p z^Yi!!k6HcpBA@2hG|LfjApi3^(jVaH!Z96(-~J(HH`+cHnN#6e1^hL zV1AOq3A6#fA7 z28BP$e1XEBV7^e{-($W=;m-_E>U;de0)6n;PR4uyY<`DTSb#hl(_%jx$l^Q6LGVh%r2 zw)`)cZ&CQ`%;_DYT>Wn|?^gKx%u@=FRXDk6g^yz1qwulJFH-mf=9vh0{(Cw&`R^?8 zJR%OI{yT^KSc6c~+5bN1C0@jqFNJLK-{hYzj&S#Wc^>W=4t9yclg#@fJZ3Hi+ku1h z?R6`3K#$M zIfaXV`n;l<$`1y4!viUZ$ zk0@N`&o>n=^XE~8%l!G4!e#zErf``*-&VNHpT`w0^XEGXm-#cGaG5_(C|u^x9)-*N zc~aprf1Xmf%%ATnT;|W;M!55@*Rg#(9pS!xd{5zGAKzEF*vB&p7yI~u!o@y*sBp25 zXB95?@gs$ceLSadv5)5!F81+)!o@!RPT^u7KUTQd$KNYl?Bhj+i+#MLaIue{M7Z;> zx5GZjzwRZTN5rAjzrKw8!Tjq_iA!OdcHgJuU&%lHLxlU^r~4Ex_V+V|i~apv;bMQk zP`KFNKPp`8@1GPd_6J{I(tg)IvAC@ zxY*wt3K#qPmk4+EcMsd&o5b^oIF#DoZ;(Hj{rxL(DQwe~<}t`7`#S>Hzm0JB{jv}D z;Lp5OhST%)SAb-{Z%4TAKYyoivEP4FxY+OS6)yJsj>5%$-&MHS@4qWt?Dsu|i~asV z;bOo4p>VO^_Z2So`$vU~{eGZuvEL6BF82E;g^T@uq;Rp{KS#K;pSRe4K8|o_-yedL zf89?!kBCF5eUtGHX5TU5QW$4?za2T$+4pE%4~cMJzY2xVfDE$#N`;@sd}xHb^`)iY z)VwOQmKg0STLVOVY4<-IoxP5;AA66ot_W!SiZ1SH6 zqZsY8`tsfP)vdUP?C0>3^78%lF!OO`_z%GL;TVqcM?|=@-`{ZgBNhH3^P?iXlJ<1+ zqpP4d$}LLmKjVSLGcDgVR>cfUW_fcnXPXO!@j$<3X) zWNP!`L@u!)n+1I*CldC)rcBV0 zXl+bobBR=2Q13FE+k#YJg;6cnP^X6vMQ0?f{O*K zTY|n^ZzjmPO6+}2nRIKArCLIlaz%BmO1B55xu-M8B-;{Q%MzLHbSl}FU0I8p7ACd? z?F+hFlR+wH1vREtCR0HoW3rtas%y@-r?@-Sy3;IoI>nu4yVD$ZI@O)#y3=X)6n9eM zPDAJr;$Sq4ikJkQNkllbby98S85@@$epye)s zwz~vc?-FRgOQ0WJ0zK&x=u4NNLE%(EHVqBu6{OPuaUSHW-P*V~Ypjj0ZoM#Q%Qd#c zoRS^MAY*cg%;q5HviZWz7qcW~`yxo$f~yieJ(z;1Ld%zt%N9#YR%5Coo#{^GFiTB_ zN87Z!Fw3vJFK6rxu}k&~D{I4_hXgrMszT?0HSl(FKD>?RFRz^|l7qeV517u)?6QXZNnx z1{rFJeR9!TJYGlMJ>(DP?S18<6(0_*d4KPZAG((|SH4~0erQ4Wor;GVy|hr;{d<^6~5~Deuc47UBQ39}SEA5s~t~{E-pZUS&TDm!mxX?2m?x$rtXTj|TcE zTmwk+kNjK+ql`a)W)N?n$c57RbCQ4%|22PgSdxd}y56|C~Hov-X7uol2 z)F|_JmBMBIo~3Y^zpEpBhHMWW&x=I?n5 zm-&0X!e#zmpm3SL^sW~UqQA`FO<{<%aGAdeh0FYHRk+OGHigUlZI5s_e@DUx)BFu0 z+%5WTVEgSLo-f{1y6C!@P(zseik!LH}iB6*_3eF6eRt76#h--7b$#z zc}C$+GtVmgN6d2yf022w!uK)1SmCcQzeM40Fz-`1Z7Nd#^eg;5=JXvE4${AWVt#2D zA}xFfK8#8JWeOj`{BnhlVSa_e$1%TB;p3U-6+VUeRSKWM{F4fw#r#tWpU3>_2zT>) z0XRK>uOXf<-c&ljw-IUxbANtcTSPWR^ZQ)Lruj|suZ!?XGatTZ3)g>rgb(%JZ$BO3 z?)y>RZ?`L)>ZkGF5#g@>ZCw8i5$@OjnF#mmr|{F89p2Gss0$)=OR32zpuWA`iXzOgxgg$w|4nI+fFG8;uSS}vXZe{-hw6D zL}$>RNpvN*x)oqr)EqR^6gZaRlBxD&n_Fv_Bv!;Fi6wDKVof|1U@^Hhov|zP#S7eD zyg-TK19B~}AIA)n3j_WwC`4`r}-6FT`kzyX( zK_SBy5kn~CqT34T@UpqJm4!i&qWw;+d{e+P5ne)`gr?|_Ry*uL(u_0OJr(dzqO`gqUC1K-*1axMDrN25{1 zwv+d5Nrmc(lRUjhse{;c2lkFW;Pj6tf4Tm` z?L+E!UOMWDKUVFoTQO!^-PXD{2WD5_R5$spM+T-oIi++pfK(|PNH6NMT`v?LfXi`x zP73=#OYKM5@Yyr_X7-uz|2)E?=*E#aX#M4B&co@oS6{6g52q}jjNwyW~*WVy)UR71q?5f$-bK2wPg98T+ z#D;)uE=P3Wz+GqjvUBzojjvvM*6z0-`0oDZ6Jy4tD~usZ;S^(XD00AFWGcQ564&+n&$QEKbL>!9SHx~J^I-yjT-@e0$7cfS*%w%y* z?VF18xFQ}i<>m>D-*)6v`)Hzs%g4-6&;G_+olfnY#tF8Xnex+|5#-E`j>nCPh;%!n0Xj^&)^{W(=12Cq1b+>Bi}FY z&(Gr`JZAOVhkTk}Gb~5Mf&9-aNWY7t6UR&(e*1@*y=eP5WK#L#6@E1H6BK?d^H~Z% zp81Iik29aG@cGP7Quyi2s}#PBIs8<~_OE7Mt?*{%a}>Uj`N;}zVLn&kN#^qu-oqTv zxsv){%zVDWFK2$L!mnaZ&nhJIf$VcH>|+=6g$lokd5ywvV}6>#_cE_l_&v-|SNQ$R z>lFSd^F<1OocUsff17!|!k=ZnB*LBldJ&xb*HYp+L>!9!*D~Y}=D*G$E`@En%)E{a z@?V>Az1-#@;z0iEUD6FNHspUAaQNl@=gSJqbBJ9ie!i?kw(p|JGf zC1Mw-{9fob5uE(XY8)|B>7Y$JUdjASg->Bl?*gUDPi5X1;ZDEl;G`ekHA%b(PTxOwGT(-LpO<;xcb5>awe`M$f<=K1^q$fowyA^WljA8PvX z{{1}eq36@(5nkcFe_vsF4zUX{Q{laT=aB6`pN87!(~lva`ggnKm55!S@_V71`2UX~ z+xO3oi~sq!!o~kwsc`W>S4Fsc{{9jA(erVK<%l?t{~`bMF6)0a@_qZM@ch#?3K#!$ zt-{4WeL~^lpLQx-{L?Oli+{RK;o_e@sc`X6*DGB7(+vt2|8%3m#Xs#;stE^F_2CEoxXkV zjqss%{dGR>!JqlE!k00>uLP&(OB3_^6@EVR2Nb@Q`GX}m`PV*hnm-RkxIcfsqHvi% z4=Y^e&m#(#`SYm4W&V6s;WB@|rf``*Ust%ypT`s~^XD51m-#cGaG5`kD_rK!6AG94 z^Q6LM{ye2{nLpoDxXhn#MY!{?*RXv&9pS!xd|TmSAOEOuv5#jIF81*qg^PWBSK(qG z-&45Q$M+R3_VKL3#Xg=>xY)<@3K#qMCxwfB{6OJiA3s#M*vAVB7yEco;bI>@ig4#& zZ-;%5f89qshloS5e|-u0gZbAV6PLm^?Y>XRzmk9YNrd~~r~4Hy_V>>U7yJ7cg^T_D zRN-QOKU28a-_I2;_6J{I)PC1KvA>rUF823Jg^T_DO5tLEzgD=|-)|Hy_Vd=TNzzTX2U z|9XIU4iSf9`zGTZ%)Vp9r7+I)emiogv+vQk9uncceq{=u1sP=jr2bP zsd*K|a}dO#cztOY@j9WTzrVgTJR-l$gx8lwM7Y1cG*aQRzBDSro&HJIe>Cx2SU>;w z0S6HuME{RO9}?kC|1|4=DDgq`A4~kHaQpoJKdeYT?f+j5+2lVD zK{48A_2s+ot6Omo+0Wrc<>mY9A?D*t@b7@_$1xn`kBD$*zrW-1M=Jb1<`W{koc45b zqbr~{$}d?5YzV0_7bDgT5BcfUW_i2BKXXBF{P$t@k( zWNOQjL^iP~lL@k>u`!#jS=yG&cBhy2WrI{E*`2C2U7MCAJA;NLNHiw09Z1;w8q-00 zqNO2~$tF^*L9NSdY7J6>6-MRk70$M%u0&79NQ&wV0VJ0s(*mhvN20C!;?;@FR$MGv z(;W0=d(%P2RbuaJOn0{g8LB08DOXh2>h89{H1%`@>11o7b9o}&)tySVW>!_>rp1Y^ zLEECPmSm91T0sq|RmoJ4NSjQ@#>%Sm>?!U})$TOMolbVAx$ZR2olbG5`R;V8J;j}r zxRVlhQsPcZ+)0T$DRCzy?xe(>l(>^p?W9yYDb-F&wUbiqq*Oa8)sRx?>7Jl%ZIEgU z(m~pGwRd5MZ*`FAs5QM8(b;5!bUKktE$L4sx{|Hy);BeqKGScuVNZimeMfIij%ldk)lg6#4H^l0hN2APd$vrC}WE`fHt1X}JA zXuC_G^)7+-y9D~tCD4;DfxdJJ8Wc|DWz*1bUS2v45a&U@+N}*sGRE5YnwATK)@(x? z%qiKP4ALf>NN)+UE}Jjhd@)N?wl9K|Ex0<-(}O99DztnVxlEy?WHqGPyVG5XEM}=m z^JtqkH-@Wtc$%6UQceAtY|v#g_SDd3l00W^mv0HWyMk=G-(Fzi*_%R@xr|a(xsjKO zo08iClgM@^GA`dH*R;38uWWGn?&2I&-_x6QVr`}AL|d{ulg##q^5AOh{0_1i^o;|H zNH}~zp{J~_Hao1Jt+}9%t)o4e&TyURfUZr=&fu+8ha`I0VVSAkE_ZK3YJ&+~oTH6g zevDuuY(Mz~ybs2FO>Y+cz%DVIWqPRTYg$`7d&vRYk#v39EqUY^>pK#uRM44sspQkF z&y%@UGNZY_Coo;fzM##@g&wv{GDCM$&)DTRdJz-a7Qp=k9y?!jgv11CYwWQEI*T4|nyL(Dk+W^?&t z!w_lV)y$_Vd>->@3SYo{y25LjAE)re%x5TEel$BX!Yk}Y;R=+;pZ(FWF}eI*^wB^c zg=+z6{*j*xVU+Rb&n)6~6uD45e@+w-;=kpO67r9;ZGI(FXPe1 z7PbQUQAmP$Ji^_gR4X{OubOzy-ee=R-}4W1D7Vfc8_7q#d~}ho4+rAikWK!9=H}cm zL|T3navAO+-!(77-JGS&_+!jZQ~1-&YZd++^V1dn67xER|AP4hqsWC~`(7y^#KZGG5&EJvm!8Ct^ z2zQHq8`*x_iRTJ86)(DOAygOU{-R|^0ofEizq=uuo7CTRrOL2l3s^sg7`v^0zYY3PYrY?_usf`U*D*zngh?0ojyr+7u-Hdldc%^9vO| zz&x$+r`c!WS^VGQ!>b zUIb3h->Zn{3O5zc?;V8d!rY(VR~L{?(fmFevT1&k{A(h-+$@Ce*~;}_8{tE}_uEfI zxch#T_uHKcr}}C9cSX3Xe+SopU4;Afe=@@T`sq799LT?u|B?D{2t%aFKB@h?x&9j? z+^>Ikg!}d1RD#cie5yYNc5{Ts?Dy3dQ9topinv`>b8DCXv+b0EAYM_kCo37N<;_^K zO>_ip=|pF8n_B^6y3=-LzHov2 z3l}I+xImfJiEKLAH>dC9c7qjaBu!9Ng(Hrm8pj+H#Bm+RbsX1mTvy||8rRjhuAXC( zne}KKElDo#?d)8e=+E$;1g{OF7qA~hOQlFP*j)(R`hR&B!7YHJL3VK(&7f6ptc%k6 z>6zWB{P57225nx`uup)S?AmO7chKIBofGUeVE3Wa{?`BVJuKTwYySB)aJR^9d!&%Z zc974oMZ^&Dx#+fhI=pOdZDnx~q-ehrE8i6GOhj1xlna1j0iNW3Tzsx?9%VxBZS2Ubs2-bC+w;e?J4&Z_UavJ8HJoyf!em^2VB}uRlC6{mE&?s{y1+$v}EhpY3_R@Bmza z>vbvY11+;3Wy9yr?wj3b!vFIKi=rDx;-K}Hryn(+H51I4=A_uGu^(c&F=phGG5qQ{ Wf{T9GX&7#pQQz5}3T6&|>wf|Ug3SQ{ diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset.meta deleted file mode 100644 index 0603c53b8..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 10458d795c5d50b498098d8c9da0ef6c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 112000000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Foggy Reflection/LightingData.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/ReflectionProbe-0.exr.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/ReflectionProbe-0.exr.meta index 88eca15d7..175eedff6 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/ReflectionProbe-0.exr.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/ReflectionProbe-0.exr.meta @@ -28,18 +28,18 @@ TextureImporter: ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 - cubemapConvolution: 1 - seamlessCubemap: 1 + cubemapConvolution: 0 + seamlessCubemap: 0 textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 - aniso: 0 + filterMode: 1 + aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,7 +55,7 @@ TextureImporter: alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 - textureShape: 2 + textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 @@ -73,7 +73,7 @@ TextureImporter: resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 - compressionQuality: 100 + compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 @@ -115,11 +115,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Foggy Reflection/ReflectionProbe-0.exr - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting deleted file mode 100644 index 4b66a77d4..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%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: Foggy ReflectionSettings - serializedVersion: 9 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 1 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_LightmapSizeFixed: 0 - m_UseMipmapLimits: 1 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 2 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_EnableWorkerProcessBaking: 1 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 2 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentImportanceSampling: 1 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - 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 - m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting.meta deleted file mode 100644 index 862430a1d..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 7c54b9d33d4fb1f40ae03b9329ccf412 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Foggy ReflectionSettings.lighting - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta index e8a45bde2..0799b9248 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: dadf623a76564b04a80949ec108dec25 +guid: de66aba50b24aec48b495630ae5c7404 DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/LOD and Shadows.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset deleted file mode 100644 index 76d14a94f0fbd200c993ccce34d02df322d2b870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17729 zcmdU%dz@6omB*`@VR#zxf%t?00YQ;WH-aeRFff1&4;h&eF{scpbBAe}=^49wbOv8d zqWAz4Mf1>@1dLY?&6FS}-6)%5b^XYYFRz8~&yIXPxbrpg$i6iziJk0J-`Mc&3XikX=C zT7}6!5HoqY7sc!$cMv}m7fUNmek{&ZCEX(-hMZqO_6%fD`3f8mh1dn+vmrl@%aJ%- z9eD>4ll;?hPO|*rHm`s|efen8kn%@Fc+6}cX7U-9PdW^x|ENfLU;oh&9y80)zHgw> z)W2hh=cyJKpnnW)r}kS;eHg0`^9tL4$3O=4%|XO%Pf7U-b2iFegoE_{NQB4C8su%l zL9!3V5e}vOHx6*9@i`>IW99|u)`@&-AK5}IkBCEQ`wl~XtX?S9<+tx};zf+ntuQ%U zQ~RdkJidg-Or?1gKs;=JMfKQY4H_}qnj8lOqT^N2W*B z#JMb;X#A-EX?#fkDK?LY3p76A`F}jJef=xF{--hadCWYByeDyx{ArdW;!tY8(~<9& z_vhyc5gxPp?L$7zuNjsj;z0iAC8XcR(S>6s4!`}w%pSCTJTj^Li3&fK`AG^tp7|_= zpUC`Vg~yrCR``78A6585<~0gm#vFdCZ2MO;Pbj>F`5c9BV1A0iTba*Qc#8Qvh4(VY zbFQrZmolHP@GF_0rtoW+)3XZ6LLmFx1N+#?e1XDmVP327+nJxC@IB1y6uy`FLWSSU zyk6noV!lY>k1$`X@b5EkQ20~KmqfVpU(bV+|5{2skBCF5|5}Fpq5RjG#HFxJSD06k zLH=tKu9w?9L>$O}y-m8|#fJP(BM!g3|9n|tc^0O{)`KipCBHZaW9h~&TyGGgaqTgDD zi+;@t7yVikF8a~Sudjcl*@6D6gMRok>numafyR&cD(2@R-yc8Mz9hGAz2((hn(p=c z|2&0D`#z>{Y2OBgOZ(1`aHn4v>vutf`}$p|aM5q0!bQJL3K#v75ngGo$Gh{DtY53; zh&WLH?MDCK0#5zjhQsfF$M0a?uJAjV2MYft^A3f7oB3viKhB)qW6SCHBjzcEKhGR~ zq-^=0GvA`{mzdK#M!EW5W8SUsx0t6D9;9uWt6zSH;5SD9}`zRxSX@4L&0*K=V?!#~mcv3%cMZu5M8A7oSe>XCg#gbz0Z zc>jI|_t5j{$_TIW-oLN1JdfCgn5pvKzw^lUpHIW>^XX@hPyM^i@@m8`Q29O3P5l4I zk?s3u$Ho7ALgC_nu2#7CpKBuAJ%9fQ{pk6)-Eu@6$p4UkdYkpX7WuyYRC)gCI)#gW zx?bVppKegN_@^BT7yq|?jW#Xd0C%eGJKX#}5@Q z_VFWyi+%i9;bI?8DO~L1X@!e@Jfm>2k7pGw_VE*ii+%jP!o@zGQ@Gg2^9mRH_-TYY z|9S`PgZ%40;(0_IO8x5#$REnT{*1U3wrTf$O8%An(?3MG|9!e&;bMRPsBp2re^R*E z-_I2;_V>>U7yJ7cg^T^c*O#>4wNLEtMTLv~{Zip#f4@?=*x#=eF824Y3K#o(N#SCD zzfri@-^&UY`}?;DclNiJ?e7)hc|;sa?eDk9AIkoIM_dZqbfx(YWRv|JiR<4-xch$D zk9+WEUM<7v`TA=>vftMt-1nb*3eOKXPzwaqr?Dzc$clPrt+s_9P?(F*= zaPqGQi02V;D79}g-l6O}MqCQxOz*d&hdcWoi|b(#?(0{f@L7;S_Ft*+)0hvBaJRm+ z44j%*MLZ8d97@-hMi8$TO8WcjOCuxlD@=HOX;g&!>r0~*F6&EUBHZbpV*SSw&xiH% ze;;rV@gem8NJPG`|G^RN>pxE6qW>Wg?)1;F{)ZADLjS{vKOSzM-~We~$fy1PYayHb z=OHLY`>eiv_kDF6?jid*qNKche?7o_LK*%8u>CkjqWqB&?(FxsT>dD9zr+0K2(P3) zo&4A;=neVD5U)pq1MM%rfc3+}!O4DUpE#BmN@e`q8Fvfo)Hd{t_5 zXD*fAyd;@RF3M(uoM~#xWonnUr*b`+rTw`eolW(m>rD5?WvQ;9aS0Ml$y_HA_P(Y} z(2;CyOlNb+bX!p8GMn3ibYO*1IeUe(t*JZNn>CW6Izs@-C8>-+D%qKA@40k!GP?yA zi`KLR{kgtOkad;V`46$uMN`e zK_?N-V)|r zWIgETM%2=8yeqz~kO^tRn_C11{k>hOwv_As<{-B`2|Zc|azS^ z;^x%Wz$9~B$*jw_$u%7v@GI+GzPmUN)%W)0oLF0FCfT0q$)<7xp**-6JHLZm7JcKu zA`%WCQ0ytItIZDUXKOC1W9#ThWwKl+I-q-Fi!*p@)gg&qc35V*uiM?*m|kx}7w2gs zR~RFh2-{B~0q=t`U(=UEKd?&-XPI7V`kJ=3u0C?Wb|hV&_DCK%#)i&hIvsQsTq^lA z>+@u;mCa}w=nYJFsy}GAa-oMUlgiTF)HC+HHt6VrL8Ep%3=Ms)fpy>IF*U3(DD2t2 z>vchfT4JAE^cIiTkv9(g)A{>eym;k1!)xB!_mlhYrp=Y_R=6Kp(0!-kp++w)ls0)A z+lXFjKI})s^s(?^KN_Bbd+4EvDj_kC*ag~jrI(VEa7iz1bdS$th8EM4_;99r@NNcP z3{;*T+9Ds%-jedZ{1FlUU;ELp$R8Cc@5>(@;s5(T8g7J6>v7Qd9*lFS`_Wg!%tmBw zWljqdKCiGZwVz^6FYZ3C^fpZnC0u8NF1Ujq~9V?l!&mBA;wy zyuxWSg7^^%f0X$Ih0|g%m8XTBaG*^?(w`PHi60e)NDKcJ^P?3`i#b&O7=_bf0`X(Z zaQcv?kF6T8<05>7-L$8V6)Hbb;q);^LT{2MX5G$YF~nQ-ri&*wBPd&b11joA{)s^y?k_$uMY>}J&;ZQf#&Ai zFhp8@6mkXbA>TDG!rh|k)!_J}=bRVhM*%l7pYKuEfArD!8Rn-c{7cMFS2+D>7k_4f z!tZBZtMG@JpP}$4nAa)%Y32(R{sQxQh5v&2B89)ge6hmcVBVnc_n0qHc-1i1e@hiU zj`^|(ch8@r!O8y5RQU1Cmq)m>?-RkvzUf&ylzp!tUQdw=rS`p2K!}Iu?<$*LUAT+v zdk<=q`MX--GJnrfxXj-*5kAbk4*B!AeNBa$U7~dU(la_7O53+K43Q>2i5IQt+1?!C zZd3X5(1GS}ON9IL_Z)@G{9UJTnZM^MT;?ymCxwIf2bsU;g(1?yW&VCl;WB?WC|u_6 z`3jf$dx64b{$8kXnZNX|7Y?Go%->C6h_rB-ze$D5{B2dZ%-=SJ%lvJRa5sNP!w1v+ z4IXPsJw;?w!f8{G^zT*pL(DH$ z_#pF)!k=KCRrrsY=M?@N^FD>|XMTyoUu1r%!e3_IuW;H_r2ZLD_?yh>J1QKcf8S+( zSr{TMd>B5AN&e*uAI1C%g^y!?rNSpLze?c~ndcQgjrlf(&tm>@h0kIB35B1|{OSmI z^Lr6EJ%6tuo-f{1I={CQst}x_ug-B zh;aA)DDSsB6i)Ti`0tExSO0dd|HcUS>;Ghg`}Nazd^nJQC;ub$-xP*OlYLVAcX9nU zN4Q`At_b(*zoiVH3;9%k4D8kjkJ<05ucLnApDy8cRn4tk{?E2kih_7W&7Q1etd_T6 z$u`*;v}clCsjY4Wm=-mM%rpg#rMOhOJ=Nyc+9inuzSOp^vksvL=YKzpMN!*M z-nS(cswYqJ^djlf2I5V3%&)sQ@$mPWo?1QF^ySwUJpJUu3toS0^59Pw&a6G+{Sya+ z3D4BtK6!K9^z}2(_}p`Q1|QvbdTrZ^@wLBSxoz;x+qTrUbqx&e8+*_hA58s1-9Z=b9PJe7#>1qI}QZ|rY)MvY&DLw#K;QE|2 z_JNk!kFt?-XZO$UH{t(zghkPfqjAvs%M%9<+;dfL-M-78!b(Ga;Y2uP`D6^gI*#I^ TA9fmn8)h_g^`wKDL*M!rHJ{KF diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset.meta deleted file mode 100644 index f56d48b87..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 050828a4d96626948be61f7a67efd150 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 112000000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/LOD and Shadows/LightingData.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/ReflectionProbe-0.exr.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/ReflectionProbe-0.exr.meta index 842919c32..7ffea8cfe 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/ReflectionProbe-0.exr.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows/ReflectionProbe-0.exr.meta @@ -28,18 +28,18 @@ TextureImporter: ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 - cubemapConvolution: 1 - seamlessCubemap: 1 + cubemapConvolution: 0 + seamlessCubemap: 0 textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 - aniso: 0 + filterMode: 1 + aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,7 +55,7 @@ TextureImporter: alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 - textureShape: 2 + textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 @@ -73,19 +73,6 @@ TextureImporter: resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 - compressionQuality: 100 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Win64 - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 @@ -106,19 +93,6 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -141,11 +115,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/LOD and Shadows/ReflectionProbe-0.exr - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting deleted file mode 100644 index c347ba845..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%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: LOD and ShadowsSettings - serializedVersion: 9 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 1 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_LightmapSizeFixed: 0 - m_UseMipmapLimits: 1 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 2 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_EnableWorkerProcessBaking: 1 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 2 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentImportanceSampling: 1 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - 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 - m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting.meta deleted file mode 100644 index bb3f4c3b9..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/LOD and ShadowsSettings.lighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 112cf049968976e439ff6491e9229cc1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta deleted file mode 100644 index 3b44d692e..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 98dc927c1c9e3ba4b8649039cb55d12e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Materials/LOD0.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta deleted file mode 100644 index 6eb21ef94..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 76f3cdf1f42c89c4d971bbf953d72105 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Materials/LOD1.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta deleted file mode 100644 index 2aa747e87..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: a8338ded04642564da1fa77c96825797 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Materials/LOD2.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta deleted file mode 100644 index dc6063569..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 876e209cead175a43b26180b924ef9ad -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta index 079a9ce7b..5e4c2af68 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: ae03306b3c7f61a419109b586111d1d3 +guid: d6226d13f4d2db14e986162deccbb540 DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/PBR and Blur.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset deleted file mode 100644 index 4578fa8acfb3dfc4fd5a42a4b22b030de02ec22e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17729 zcmdU%dz@6omB*`@VR#zx0r-Rg0YQ;WH-ZSmI6P%|$jFQcL4}@~J50+=&)D6gGx%x~ zMGcrJCfR7n2C^}ljfsyn8qN6FC2Jn)W;K{)H@i`@#x;p1(KYKcvcFSxPWP?8eI~n~ z{Uh1>%&l9uzPC=DsycP4 zq1X_REtQB49lGP}7dvNN-T2BC=k9*%-tQl5J}qWUrpg$i6wWXvk0OWcMc&3XikX=C zYK6()A2WHn7sc!$cMv}k7t1P5el*ThCEX(-hMb>4_H<-W`3f8mh1dn+vmif?%i%a& z9eD>4ll=KOCt3bbn^(Y~zI-%kQ2E0mJZ5$bG5HM3CmjaUe?+9bum8vhkC_!{-`CM- z>fces^Hhrq&_9N@Q~NEaK8)3ed4=u2;~|6k<}l*6r=)y^ITvLw#zA_2B*J56E%LVD zAlZlG2#3=C8v{7l_#6@8G4nih>p(uWk8B~9N5rADeMccbRxgz5^4oVb@gm0PR+t>F zseMy$9$Ug=rqVoy@w*23)IORh;qoyv)U&_wmgf<>Ks;=J#~|BpzmvZU`6T~X%Mo!X zm46)a{qny2<0IV3za9A`{{+hsaVV94BJu~5KOw^1_}qzn8lQ>8^N2W0E1r+0yJ<)<)jjBuylG;q=n?;2&xi+<}A zF8VboT=Z*JxadbOzrOyJW+(cu4*KEGthXEy2O2-(tC^pVe1H60`;y$g4VG7PX}Z_% z|BVWl_I*s@(!Na!m-bx{;ZDC!*6+dy_w~C-;iBJWg^PY$6fXKDBfQewh)*aPr?- z;(0_IO8s{Z`LTMTq_h8h&`Z3CEng1VEBO0kB9?3-|743E6lee-{%$H_ub{h>$xzc;h*UJSibMBuz5be7qY2+^~k<5!iSoE zynjD~d+7OeRfJc0@84Hjo=5CL%v5>r-+5&F&!?gG`ScUWr~bXh@@m8`Q2Bk(P5l4I zk?s3u$Ho7ALgC_nu2s1BpX(yrJ%4`({pk6)!*WC%$p4UkdYART9{IlgRC)gC28D}% zx>4ccpFXK@@lQJyF8*nk!o@$`q;T<1pHjH^r%x+f{L{?}7yopN!o@%BR=D`5TNN(; z=`#u!|MXdfi+}o@!o@%RMT9&1sDkm3eShBaJYpBfzQfP2+mP+g568tm=sUg~7yI~v z!o@!JC|vC0iwYO}_)CS0eSAsbVjp`IF7|=BUbcN=A756u*vDTfTG{&c{2qm0#Qa``Z)1L68BYGS51i)D{SofZpTAMK z%%2AoF7xMG3YYowpu%PTJfv`$Ki^ik%%6u9F7xLRh0FZ;j>2XB3@BXY&!Y;L`SX~< zW&S*_aG5_(C|u^x-zr?@&)-G3^RG9see92L-#)&paIufSSGd^6lL{C6_@2VWKEAJT zv5y}pT>raSFVVic}r{rJBKmAjL``@Pr6)yJo&k7g&`xk|a z{ryzoVt@ataIwFCQ@Ge4e0@p#UHioTUQoE$--`+t`+G^@Vt+qZxY*ynD_rdFWrd6V z{X*elf3GN9?C(D!+}YnGT*?*MxU4UYig2fYiuE5&JRjE2 z|9!w=#0Sy;BN6$&{)b1num2c@i~dJMxYIww`X5Pr5dDuL{zSNae*Yg`BA@pEuZL{% zpGTk=?X&vw-S^dPxQFa#TuFKP{<@#}_%i%^UQlPCti;P2ijkL9_xokgOmNzK5;BBl*;(ye`2J(-+vQ`7mFiZVeSp>&rghS ze}BH(@}dINf8pOpOp0))|7_NOGVx;Zi2k(C?YH08e~Oh~YyjyWo_|v#+_&Fp3K#o5 zIl`U(t62Z(#0SxT2Jw1dKl;9w^;_Df$6q0k{(CXLWWSVuYJ|JrA8bPXWWO^@`0CWw zj$A6eb!jq}T$IfQIn&sf%hWDwOXa#V%ldLbI-BZF*O{)(%Tt{}!%`#~lerEg?0t=y zpgq~rkk00k>DHjmWj3`2>A(u3a`p;mTT@rECu<}{b%p?vOH&zvRI(%4)_vKUWOf@a z7Oia#`f|OQAnPiz_cdm^TY@ar61tQts%uSmTVR@cI)Y59HQBi$nd$0Ir&_bC6S!${ za$C^0sH-Ivq;pnKLwa>89V9a*+p(#-=0balyHmoQX1mkr?li}p=DO1v?ljMx&a|hv zlM;7Q;!aB3Nr^itaVI72q{N++xRVlhQW8!|!bwRuDG4Vf;iM#-lmw&{d%7oRTNk9; zf=rOHUF}`i;ad}AJL*jDrF1sAAd^X^(o6f($*xrEdFz{+O`qvE+p(v?Xh}zJdRv%x zlJ%gU8&FH1@viu`LMEgMZ)z48^!0S6T2rq3n}XbmB=l(M&jr~{XtPV8)h>Z{y98S9 z5@@?ip!F_+_PYf7(IwE6E`h#u2^thm6=c)Ua9%+=4G`x+zS^w~OS8t>_}Z3>gVtO_ z8_X%yo(eK1m&|MpaxR-M+ z$?#~KHaCW=d3c(d8`4ev*<8?Nvi8)_W>P$7ZI^Eiy1Rm0rr%y*;@O)*mAQ;^Rk@Lu zikni~1Cz{kCbKTzCfByN!>?>``R-yPs_*H|IkC3VOtLN2olWKXLwRsDc76xBEc(WQ zMI;U2$JWuF%4E4tbU@eUW@qr$szVaJ?6AyqZP#w8uebUNrPxK#3K z*5}DwE1S{W-xHXwRA10$n^`n>JS-u5drJp!?3iLycZqC~fjK zwh_J5{IMSm)5pRe`_b@Z+(QpVR0)ZB#4gaLE4`GQic5NFqkDWFGqjkV#D_E0gLgCV zVxaQ$&=&c4_Lh|Q2>;XnXt)77ZNNd}dpORa?nhq@F`JRK zojEN`_`Jft)P9;dy}0|l(%UpSl6XBuF3_fJ_@(M70U=HsW%N>YF3v|sxZCu;3;ARl zV--%D5yZzS{4wU^6;6x6RGt=g!htpoNq<_*Bz|ldA}#zS=Eo_V7IUcl@d~HK1mY)@ z;q)O(A6qqGCr0=%yJ=4!D^z}h!s%mz_(X-%%RcdHh11J8@kt7oAGOjv35S?*`px3< zCxs!>!V}D=D10vSsS2OZe44`Rn4hfh#muKGTz)h=Bf_ifN8w78$DjSturc|^LT{2MX6SBYF~nQ-ri&*wBPd&vnjXUA{)s^y?k_$uMY>}-H=WGf#&9% zFhp8@6mli*A>TDO!rh|kwcz-p=bRVhM*%l6pXX86fArD!Ip$|7{7cN|E1Z6`i$AkK z;rB7GRrn*!7b<)|^E!n;&HOBdKhL~g;Xh-(Na3$CU###qnJ-cJ2h5i$ylRN+zhw#^ z!+d#!yXVhw;AH=2EBqwpDSvv=@}gkrR`f6hDZ~i$ct9=Y;THi zx2gOE=s@$gIl}$0}UZ`-HzZWT7<}bbLg@foX^LI-aA}w6zZ&Kkhe_IqT^S4#uGJo45+|A#S@WC{H zg9vwvew)~S+ll9kH1kDV#PHsek$v{uXokjtU3q-}jkc z9)?H@AA%2Kl7EH5M=-xq;bWLzrSS30uU7a3=6QurWqysqXEOh|!e=x8gu>@Dzc#|% z{9Xi3&)@5a=ZiO$&hH(B>ciZh-`5wBP0{>5AF^qFll&VZywWUy@7c!n-x%RTz4zNs zM!5Tal=s`63a9#M{C7pTtA7XAe^Z3}^?xeD{rc%UJ{-uulmC(WZw^DG$v&z5ySe^b zBHXWkcZB=(-&%&xfqbez2KJcV=?>c4v2%jG2JAkR+u!Bnt{eIzrNtqeEw>+K!{^NEo7HE+|MLioq8mrzp!JvioQKm(FTPki0Zv&y8N;uRBZ{{Tni>W= PeMx6`I+!u&edfObBPPn~ diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset.meta deleted file mode 100644 index 97efa323b..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 38d73a42d9848a14c87c84637043bb7a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 112000000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/PBR and Blur/LightingData.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/ReflectionProbe-0.exr.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/ReflectionProbe-0.exr.meta index 2d589557d..ab888853e 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/ReflectionProbe-0.exr.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and Blur/ReflectionProbe-0.exr.meta @@ -28,18 +28,18 @@ TextureImporter: ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 - cubemapConvolution: 1 - seamlessCubemap: 1 + cubemapConvolution: 0 + seamlessCubemap: 0 textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 - aniso: 0 + filterMode: 1 + aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,7 +55,7 @@ TextureImporter: alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 - textureShape: 2 + textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 @@ -73,19 +73,6 @@ TextureImporter: resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 - compressionQuality: 100 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Win64 - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 @@ -106,19 +93,6 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -141,11 +115,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/PBR and Blur/ReflectionProbe-0.exr - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting deleted file mode 100644 index b4bf91c6c..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting +++ /dev/null @@ -1,66 +0,0 @@ -%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: PBR and BlurSettings - serializedVersion: 6 - m_GIWorkflowMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 1 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 2 - 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: 256 - m_FinalGatherFiltering: 1 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentImportanceSampling: 1 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - 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 - m_PVRTiledBaking: 0 - m_NumRaysToShootPerTexel: -1 - m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting.meta deleted file mode 100644 index 0189d6cf5..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 2a68bba808e87cc4caa35789592ef28c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/PBR and BlurSettings.lighting - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta index 5af911ffb..27e0c0ce0 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: 66cb2b9b016408c4a89b34bbcb84764e +guid: 6c0e94fc3735cd8478e9cff2d9eda74d DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Reflections Only.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta index fda2a60fd..b7a2c5e06 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: d21b3ca192230a644a9dabb372fd7bb5 +guid: 9dba7cbf3f8a2b14f8c32ba504d6caad DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset deleted file mode 100644 index 99f1c18da9078ca1e1530541e685cea2d9d57d44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17729 zcmdU%dz@6omB*`@VR-r$P*fNY5ELiVjUd7}3{M#zGBP7#P@!k$4%0HzGj{jr48Gb# zQ3EE5Nj4gjK-O1QqvD#F5Pa;CH4k;O8qAW-ZcMVqH5<)F*TiUyAuys&$#>9 zKX$i1bL-Zv@2yj(s!pAIZ&iaag)p{|GK7@(ZdGW2n=G4~K*3{M{W_85P2Zs(F ziVXqTREg-&p?l8xSy#=qO|M>c-p;ol`R>7%(__YDs*E8@;Y?%lD00YN_FGPU7;6ag3fq4tKnC^AVZ?1uN%;zM9?D*dgY-T;!eeF)@;2ch z*+<|AhtmE#5^%8bIV!?q<|XLXiF|4w*+MLjh(l@njzNB`K`7Pbx9?cuMU2s{FgaXP z`=;PLri8~#rFjzLcOCMneKb+RN&fMcBjQjh ze?0R2^1l2NBHYQp6Zs_nM9UFzD3yN_@&}VYA;R7G+=qM`pNYith&YsvPc`xf8=pzU zxh$P%{HXtFd`SPvHjju4G(O?^e=@Rt{VToxr!n?<%shs?XK;}Gsg@(+P-?%^knflG z=jSOA9<%x#Kt9c{>6RnnK>p_yq~FESg<}Q|zx_kZZnS+2GO7Hj3O|wgX$n7?`AmhM z%KUVN$C=kCd@l2kD0~6)T7@rT4nI}4{i~TL6yCyomclnMKSSZI%x5b+#e9y!dzs@o zS62Tkn9o)CHO$Xa_zleIS%qXFkbUlkee7U9U*WeiuT%J)%+FT%Zszq0zn}R6g+I)^ zLE&F#zEI&$FkhtbZ!=%4@MoDXiE!t?UIZuqwUl@s5r-^ILL;rB2P6#fwN4uwC?e6zxzW=`+1<@Ea=^OVA0WDY-4 zw){_+Z&COw%;_DYT>Wn_?^gIb%+m^wRXDjl3LnM1SK(urU#9Sh%rg=0{PzrS^50qF zc|;sa{dW%eu?C@}v;Te2N4$tFUk2IazsWyc9^vl&@*>hyy*}>HFty=39~P^9t|#?n>efT$s}EPxO8)-*;EpJfA-T+0?!UWM3WOL(Kr* zzn{lF^nAJ|!mGUZ?`tj3BX%KXs=W8_JhJ`g(@^_-`Vr()|6XT#HDVX2{BGzb{{Lgh z_WiTt;(tD_aPdFaD_s1~4H531zrTfk^nBcAIU)|^f5<<*%lhAleBXYmJpXi)!o@$` ztZ?y9pHR5?r|k+C|FlEl;-79&xcH|}DqQ^2rxY&!=~jh{f4WWK;-7XZT>R7R3K#$M zX@!e_`i#QGKYdo=;-CH^!kv9o!Fb5NKWBL!u?uA1;pf*K$oA)l<6KzNB!mk6j8E`@mc;+di?6FDqQ^<1ZC1_Hnnu#Xjy)xY)<5xIcgXTH!K( z9#go?pRXxg=Fis^F7xMch0FZ;hQek3d{f~vfA%U|=FhhjF7s!f!e#zEp>UZ$PbysI z&r=GQ`SY~GW&Zq)!e##aZG=1jdK25n{s{N&4`PT!)^N2W<`q!6`KbU|05pgMO)9(9}{44pVe~fVd`}Cl~#r}S*aIwFCQn=XP zPZTcp_s;BAnEm}baVc!mmF63eP4;&ju74fj?)&8+ z?!ljVy$q-4>n{Mwe&2|2-+%r_;bOo4p>VO^-zr?}_f3V1{l2AevETnxxY+O83K#qR zox;U_f3I+{-**%)_WK8gi~YW?1zOQhx-#pz-!KCGYr z`+&oU52F9!5&6FUM?|=<|B(t8{f~-pr+2Uk}{y(-vKJEYC2-)O6 zk3uopXZ7W~@2fj-582PylJfHX^(gakW%zf%4&oS&^2bHEv)^BF`QsJ-9`o@LUP*g8 z`O#I-8}d&e-hc!L+FyPN>xajJll{^@aV#&C%J}1dQlz}!e-nroiz8iO9trKwPmFMX zf4OvQe8pg5+s_ExlSbPeNCC5 zBiY)R&gPQowxHf+Hn#=ozzU;s_6lcPQ+KjAYa~T=h5(XFQW=3%vNPGngGLHD!8QgDlk&x|A!bYjsb1V48b7gG{O|*|j{G>F!CV+On$>xM@*x zOVGZsyEPT0b5>AedQ~bNBr_)4xuLrDVtb0aQ^K8Qxzic$G~1o#xYL>LG}oQZvZuI{ z5_eMKPD86ONl7><2`44tq$He_1f&#ux;JQF8>HKV zOpvi%?OoX6TODLO>rLO~bT+vllS!u1O9s-(?o`|P>zZ3kzZo!Fv8Takac5t8OPF_& z^`M^{QA@w^uK2b>CZq{(ZV?#t_jaY)Qm*@(gWU2Y^k^N(1=$T~vrC}WE`fHt1X}JA zXuC_G^)7+-y9D~tCD4;DfxdJJ8Wc_yWYf@aUO_qy5a&U@+O3UCvc}r@n$}B$wp?R7 z%qi883Nj{_%xn&FE}Jjhd@)PYwl9LTEx0<_+lwiPDztnVxookdWHqKcdNSR~9A>G> z@MxQMH-@Wtc$!-p)6E0fT+nT@_SD#JQaopEmv0Vwx`SM1z+PbD*_%R@xr}mExsjKO zn^Ri@lgxD`vo7Bz*K~BiudH|Z?&3mJ-`kgSVr`|FWP7S7o5~G@^5AOh{0?$i^o;`x zNjQ8!v8SxAHao1Jt+}Xk#v39BYET)7k4Jp>7c9NQpu-T zpC@yzY(~pKZ(zDp{Xx5x3q5R^RF>|hp0Ve(K}Q!18nxSDSlrhdSod8XQ^N{_!k*o` zUKeDjCHBchZ}E5?dF$xkU3B2(%T~TOwDz3?KiKmiZLWN?!u`;K?mH6?HF{~Gw8`7p zM)XqiVLuwCkA)BW(ePy4Lk~q%35j{cF3_ecy_B4WOL}Redwd=jWHX>^) zb6S}2d4+wc{SunHlg!5{oEC$rJT2^m18o|T{|{el$BH!mI2@;R=+;pZ(FWG5Nw>^wB^c zg=+z6{*j*xVU+Rb&rISC6uD43e@+(=;=kmN67r8VHouywv(MeA@nY0Z7?_=ImL^dUyHU&xlUWI>+`DF^< z$2_C({miop|334a!e3zCr|^T!FIV`>%&$=RtIYcqPMeCl?)g@g3(ADLen zhDZw^f)8Vof0e>VFuz*iM>4-g;p3QJtMCcT^9rBJ{5pltWd1RQ&tm>@h0kMteT2LD zy%3z9zc&!i7jG(^-`fZ^gt0v1y$qiX`BZ-l?9&k*v)@-=LH)!(Q^M`4np?a4pKYfU1@VfSJz2?EEpNe+ zZL%|H&m_B2TipsUEou&$X$l-majA5Bs?DvnOA;&MlEjj@B(Wx*4zQTq+LN&>^Ti9? zU%Wtx;swgAPUbSH{#pHJbQr8qBWZ%#S{!j42^_Ob5XW^K*Ku6Oah!P%N zdTvj;Fg!G-LA%#9>=WQ7yEePHC+O(F&I$G!u=`MMf9wDG9+qvTHUGjIxLf45JyOhL zJ1At>B4P-ITy$F@9bPuKwz4P)(zM@+m2V1oCL%2Q>diE>%_bYmze_~M`wv!8zJ&G6 z>Drb&eb4^!GZMR&-TmXe^G|vC@eObh2w!~Yfts40-#6U&%DmxA_T2lB%eCmgAB{#4 z+fLrMB^9bCP4@I6snQ1GO?S<$e>k!CTTRcd-q-ZyH|9V0%-;ELJ~e6I4;Rd+8~dkI z_XXpgue)>7=K5*tXPo`H7k2M^^1!^hwiRRQe!cR#eQ)2frLL`OVBdk!hn@YwlrPj@ zx_wCf&MQYf@rSD2bt{kDR=2h8wSBXzZ>yW~`eXa1JvFs-HGotp8%Qtevt7>@AAl=x zeSRAIK+Eh$+3?vl{Wbk2{6CMdD7tYZ4qAWNKfZomaCrULQNys(kY6wXPFX$~!>^7b VxafzShT(?ki@SQ#!HmIg{WHkg%HaS2 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset.meta deleted file mode 100644 index 75d6378e0..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: aa2a74d0d0f75cf47ae84a71eb620176 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 112000000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Universal RP Water Demo/LightingData.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/ReflectionProbe-0.exr.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/ReflectionProbe-0.exr.meta index 73fcaca6c..a68521fdb 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/ReflectionProbe-0.exr.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo/ReflectionProbe-0.exr.meta @@ -28,18 +28,18 @@ TextureImporter: ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 - cubemapConvolution: 1 - seamlessCubemap: 1 + cubemapConvolution: 0 + seamlessCubemap: 0 textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 - aniso: 0 + filterMode: 1 + aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,7 +55,7 @@ TextureImporter: alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 - textureShape: 2 + textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 flipbookColumns: 1 @@ -73,7 +73,7 @@ TextureImporter: resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 - compressionQuality: 100 + compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 @@ -115,11 +115,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Universal RP Water Demo/ReflectionProbe-0.exr - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting deleted file mode 100644 index 2a3677e14..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%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: Universal RP Water DemoSettings - serializedVersion: 9 - m_EnableBakedLightmaps: 0 - m_EnableRealtimeLightmaps: 1 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 1 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_LightmapSizeFixed: 0 - m_UseMipmapLimits: 1 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 2 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_EnableWorkerProcessBaking: 1 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 2 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentImportanceSampling: 1 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - 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 - m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting.meta deleted file mode 100644 index 81a9777fa..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 156770d6039b0c84d93b281c8cdaa60e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo - Scenes/Universal Rendering Pipeline/Universal RP Water DemoSettings.lighting - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation.meta index fd7f62af1..6532736de 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 026ff69482649494fa414dadbc9517e5 +guid: f2d35e1096253864c8cf5ea76f7e2af8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation/Planar Reflections 5 - Documentation.pdf.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation/Planar Reflections 5 - Documentation.pdf.meta index 1fb479b19..05158df0f 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation/Planar Reflections 5 - Documentation.pdf.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation/Planar Reflections 5 - Documentation.pdf.meta @@ -5,11 +5,3 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Documentation/Planar - Reflections 5 - Documentation.pdf - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets.meta index 5ed6c2567..2d53b2f70 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3ed217015c7a6ca459b1a064b28848f3 +guid: 10d2092421fa8434aa47ff24d7b8be24 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/Amplify Shader Editor Nodes.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/Amplify Shader Editor Nodes.unitypackage.meta index 324144bd8..8f282fc1d 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/Amplify Shader Editor Nodes.unitypackage.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/Amplify Shader Editor Nodes.unitypackage.meta @@ -5,11 +5,3 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Amplify Shader Editor Nodes/Amplify Shader Editor Nodes.unitypackage - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/PIDI Planar Reflections 5 - Amplify Shader Editor Nodes.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/PIDI Planar Reflections 5 - Amplify Shader Editor Nodes.unitypackage.meta index a2fce588c..96f2ba10d 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/PIDI Planar Reflections 5 - Amplify Shader Editor Nodes.unitypackage.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify Shader Editor Nodes/PIDI Planar Reflections 5 - Amplify Shader Editor Nodes.unitypackage.meta @@ -5,11 +5,3 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.2.0 - assetPath: Assets/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Amplify - Shader Editor Nodes/PIDI Planar Reflections 5 - Amplify Shader Editor Nodes.unitypackage - uploadId: 660568 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/Better Shaders Mini Sample.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/Better Shaders Mini Sample.unitypackage.meta index d5f1473d9..e353f4e80 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/Better Shaders Mini Sample.unitypackage.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/Better Shaders Mini Sample.unitypackage.meta @@ -5,11 +5,3 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Better Shaders Sample/Better Shaders Mini Sample.unitypackage - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/PIDI Planar Reflections 5 - Better Shaders Mini Sample.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/PIDI Planar Reflections 5 - Better Shaders Mini Sample.unitypackage.meta index e307217e9..bce41153b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/PIDI Planar Reflections 5 - Better Shaders Mini Sample.unitypackage.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better Shaders Sample/PIDI Planar Reflections 5 - Better Shaders Mini Sample.unitypackage.meta @@ -5,11 +5,3 @@ DefaultImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.2.0 - assetPath: Assets/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Better - Shaders Sample/PIDI Planar Reflections 5 - Better Shaders Mini Sample.unitypackage - uploadId: 660568 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources.meta index ade1c673d..bf02bd09b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4f1328ec22ec12d419a577bc7542faad +guid: f7031bbe3cc32d04cb47a20179eed0ce folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Default_ReflectionMat.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Default_ReflectionMat.mat.meta deleted file mode 100644 index d7017543b..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Default_ReflectionMat.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: fbfc4efe23a9b0046a787d829353352b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/Default_ReflectionMat.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Icon.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Icon.png.meta index 3b25d23dd..30dafabba 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Icon.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Icon.png.meta @@ -1,14 +1,12 @@ fileFormatVersion: 2 -guid: 3c249ea879248f340a8701634b45b2a0 -labels: -- Pidi_PlanarGizmos +guid: dad565d28936d3f488b571832c455657 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -22,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 1 + flipGreenChannel: 0 + isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -33,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -51,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - applyGammaDecoding: 1 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -71,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -83,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -110,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/Icon.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx.meta index 0ecd30cf6..af620a0dc 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/Internal_PlanarReflector.fbx.meta @@ -1,20 +1,11 @@ fileFormatVersion: 2 -guid: 7895f1f943551db4e9784958a7e88a58 -timeCreated: 1567123727 -licenseType: Store +guid: 099709e891a8024438639b501d64010a ModelImporter: - serializedVersion: 22 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2100000: No Name - 2300000: //RootNode - 3300000: //RootNode - 4300000: Plane - 4300002: Default_Planar_Reflector + serializedVersion: 24200 + internalIDToNameTable: [] externalObjects: {} materials: - importMaterials: 0 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -23,14 +14,14 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 @@ -39,38 +30,58 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 - useFileScale: 0 + useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 normalCalculationMode: 4 - importAnimation: 0 - copyAvatar: 0 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -80,23 +91,20 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: - rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/Internal_PlanarReflector.fbx - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader.meta deleted file mode 100644 index e05587035..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 0f9c6fde4248b5345aa78baa9c51307c -timeCreated: 1567138136 -licenseType: Store -ShaderImporter: - externalObjects: {} - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/PIDI_PlanarReflections5_ReflectionOnly.shader - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat.meta deleted file mode 100644 index 23f843ba6..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: edc18ab1799dc3c4c8660c19ecccf8f1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader.meta deleted file mode 100644 index 884d54b6a..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: fcb20b4cb153ee8429e9eead78936e77 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/PIDI_PlanarReflections5_WorldBasedFog.shader - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections5_InternalBlur.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections5_InternalBlur.mat.meta deleted file mode 100644 index cbaf42857..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections5_InternalBlur.mat.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: b9505779f15113c449b88ec624e8f352 -timeCreated: 1600795542 -licenseType: Store -NativeFormatImporter: - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/PlanarReflections5_InternalBlur.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader.meta deleted file mode 100644 index c72067857..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Internal Resources/PlanarReflections_BlurPass.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: c2ffde48fb65ed242aa3d765d2bd704b -timeCreated: 1600790789 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Internal Resources/PlanarReflections_BlurPass.shader - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures.meta index eee0da37c..55e5cd2b5 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures.meta @@ -1,8 +1,6 @@ fileFormatVersion: 2 -guid: db8b8f7213caac341a2905e22c082979 +guid: b5127037cda836248b121529683e5733 folderAsset: yes -timeCreated: 1567532331 -licenseType: Store DefaultImporter: externalObjects: {} userData: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Abstract Mirror.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Abstract Mirror.png.meta index 8f98fdea4..789e1d36f 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Abstract Mirror.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Abstract Mirror.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 1b27979f83089a74d8e0e37092ae6c66 -timeCreated: 1567532375 -licenseType: Store +guid: 29c47f79384693d4cb60bb872410877d TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Abstract Mirror.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Color.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Color.png.meta index dc01751e6..9188b1a58 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Color.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Color.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 21af9a3bd6fe9a7459bd7f8913249c72 -timeCreated: 1567532376 -licenseType: Store +guid: cb80441b89128f24fb37ff5b3079cb99 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/BrokenMirror_Color.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Height.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Height.png.meta index 2b83cd1d6..898abf783 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Height.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Height.png.meta @@ -1,15 +1,13 @@ fileFormatVersion: 2 -guid: a4990eba93b69ae418bde7beaab33926 -timeCreated: 1567532376 -licenseType: Store +guid: 30a779c9f7f24ff468a3cdc503103d25 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,18 +77,11 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -86,21 +90,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/BrokenMirror_Height.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Normals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Normals.png.meta index 340066861..690356118 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Normals.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/BrokenMirror_Normals.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 3ce5160c86f773a4bbdc98508d41fe9d -timeCreated: 1567532376 -licenseType: Store +guid: d0c5d3b8f1e173445996627df12a9b6d TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/BrokenMirror_Normals.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Color.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Color.png.meta index 81dd1fe0b..26e8a68f7 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Color.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Color.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 97204b14e5f25984e9a65f306002767f -timeCreated: 1567532376 -licenseType: Store +guid: 6d93737e8695ab94b9b12ae585386911 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Floor_Color.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Height.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Height.png.meta index 6d28a3953..fd6e5d837 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Height.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Height.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 9dee4083c2cdae74a873d64904763b30 -timeCreated: 1567532375 -licenseType: Store +guid: b5dcfdcf02c7b3b49b11c6e72dac0bd7 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Floor_Height.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Normals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Normals.png.meta index a8611d12c..9595a1640 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Normals.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Floor_Normals.png.meta @@ -1,15 +1,13 @@ fileFormatVersion: 2 -guid: 6f5e0593c1b25774da9ea9dce850a026 -timeCreated: 1567532375 -licenseType: Store +guid: 065bc2346198edc45bc156d05c8c1eb2 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -51,13 +54,21 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Floor_Normals.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_DropNormals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_DropNormals.png.meta index a6448959f..5ea90250b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_DropNormals.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_DropNormals.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: d221b879ee42df14d8643aa3c004860a -timeCreated: 1567532376 -licenseType: Store +guid: e95b4698cf3b05547bb91d11ea5eb9a8 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Mirror_DropNormals.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Fog.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Fog.png.meta index e4809c354..0d855ab05 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Fog.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Fog.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: d0532f1cdc6ef784386831f345dd6bd3 -timeCreated: 1567532376 -licenseType: Store +guid: 0c8724b55e498544095ed08ea65e18ae TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Mirror_Fog.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Mask.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Mask.png.meta index 2fb3aeadc..db033365b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Mask.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Mirror_Mask.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: c20b3f4a7170091499b262fed8bd3c3a -timeCreated: 1567532376 -licenseType: Store +guid: 3f952ae1585857e4097f8a4c79bc3460 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Mirror_Mask.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Opaque.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Opaque.png.meta index 0c6176220..f0ca8187f 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Opaque.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/Opaque.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: af9bf88d1c266ce4881e47d20e726708 -timeCreated: 1567532375 -licenseType: Store +guid: 29c077173e1948842b6c4c6783866a68 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/Opaque.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/RoughnessMask.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/RoughnessMask.png.meta index 9280ba89f..16f793eb8 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/RoughnessMask.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Textures/RoughnessMask.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 6bdc80a30f4463948bb42d9323a571f3 +guid: 7dbe2cb08c3951b4786de57bf6a849a1 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -32,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -62,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -73,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -88,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Textures/RoughnessMask.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo.meta index 242a46103..74962f57f 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo.meta @@ -1,8 +1,6 @@ fileFormatVersion: 2 -guid: d20c684c5ef31fc4c90f069f8bd3cb25 +guid: dc6d330c97b9378418d3d611b4427cf5 folderAsset: yes -timeCreated: 1568055240 -licenseType: Store DefaultImporter: externalObjects: {} userData: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/FoamTexture.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/FoamTexture.png.meta index 3fa3b60eb..9f1992078 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/FoamTexture.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/FoamTexture.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: cfa5a2106223add4487f9e7e69e0cc73 -timeCreated: 1568227140 -licenseType: Store +guid: a1c4e5dbf4c2f8341bb001b797e9a164 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Water Demo/FoamTexture.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Sand.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Sand.png.meta index 54763ef94..71b70e6e9 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Sand.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Sand.png.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 4674bcc392530ad4999c810eb614ca3a -timeCreated: 1568835503 -licenseType: Store +guid: ae3c92f73d5029c4d8ea5610e5b9bbcb TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: 16 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,18 +77,11 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -86,21 +90,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Water Demo/Sand.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/WaterGradient.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/WaterGradient.png.meta index 563085551..45409daa6 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/WaterGradient.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/WaterGradient.png.meta @@ -1,14 +1,12 @@ fileFormatVersion: 2 -guid: 9f3d43c8d75062f4bb420270ea892aad -timeCreated: 1568055222 -licenseType: Store +guid: 22f05ca9ca666dd4da2e58ad38e716c0 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: 1 - wrapV: 1 - wrapW: 1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,18 +77,11 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -86,21 +90,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Water Demo/WaterGradient.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Waves.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Waves.png.meta index fccee6f43..2033faae3 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Waves.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared Assets/Water Demo/Waves.png.meta @@ -1,15 +1,13 @@ fileFormatVersion: 2 -guid: 4910e02118dc64947b2b69b4b4dd3cef -timeCreated: 1567532376 -licenseType: Store +guid: 30444404cb9f49a4b95238453390953f TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -51,13 +54,21 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,18 +77,11 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -86,21 +90,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Shared - Assets/Water Demo/Waves.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code.meta index dcdbc8bbd..bda731fdc 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9ddebe418d99084db28b8747dce9b77 +guid: e6277a96e59e61f4fa72d6e793844410 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor.meta index 93e96973f..8f852a366 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fe8f27a65200af547a4f12b3432f2d84 +guid: 63a0b0cc55a91994eb2302d4cf0c7066 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_1.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_1.png.meta index 478419866..14d07a4cf 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_1.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_1.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 7f6ef1d9284d43c4d94c23b42aa217aa +guid: 8fad635e8170302479b2d23ef9b12cde TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -107,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_1.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2.png.meta index 804018c41..ed78a8b78 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: d977402345865d346abe3bd3081460d0 +guid: fb7a2673474413647b3b67e567c31022 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -107,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_2.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2_Selected.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2_Selected.png.meta index b1c9ca2be..d3d8a5d06 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2_Selected.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_2_Selected.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 7b235ebb1f0cf4146a3f6594503c68c6 +guid: 73f88655d151cd741b54f16fec6e4926 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,11 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -36,10 +37,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 1 - wrapV: 1 + wrapU: 0 + wrapV: 0 wrapW: 0 - nPOTScale: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -51,9 +52,9 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -63,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -74,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -86,48 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -137,18 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_2_Selected.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_3.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_3.png.meta index fe369591e..c815f8d69 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_3.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_3.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: ccae7f2413c373d4ab8536ea400dbd45 +guid: e68797ab6efa99445b60cab9aebba4bb TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -107,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_3.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_4.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_4.png.meta index 54145f383..8dcf0fc8b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_4.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_4.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 63186489cbcd20f4ebb8f2f39f27bffb +guid: ebb97e70bdc39a3428b3cf5c42889a05 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -107,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_4.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_5.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_5.png.meta index e5b4148e7..824bae27d 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_5.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Background_5.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 9129ff92013542e4db31c3161412ff20 +guid: 31eba32bb15b3d8468de4d984b4c1ab7 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 1 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -107,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Background_5.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta deleted file mode 100644 index 1d2203cf4..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: debda0473feed5d4e8ac5c53f3ee38dd -labels: -- XFur3UI -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/PIDI_EditorSkin_PR5.guiskin - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef.meta deleted file mode 100644 index 16a514ebe..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 06deb2bf6632f9948857f762d2560e0a -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/PlanarReflections5_Editor.asmdef - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Planar_Reflections_5_Logo.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Planar_Reflections_5_Logo.png.meta index 6bde0660f..489a4325c 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Planar_Reflections_5_Logo.png.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/Planar_Reflections_5_Logo.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: 9ba256d32c910d741afcc66ab425375f +guid: 6b091d4f82bf89b4aaafabb4a33a8bd0 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,13 +34,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 + filterMode: 1 aniso: 1 - mipBias: -100 - wrapU: 1 - wrapV: 1 - wrapW: -1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,36 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -120,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/Planar_Reflections_5_Logo.png - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs deleted file mode 100644 index 60ebaaa17..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs +++ /dev/null @@ -1,1008 +0,0 @@ - -namespace PlanarReflections5 { - - /* - * PIDI - Planar Reflections™ 5 - Copyright© 2017-2024 - * PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. - - * You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any - * means on any platform except with the purpose of contacting the developers to request support and only when taking - * all pertinent measures to avoid its release to the public and / or any unrelated third parties. - * Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, - * published, redistributed nor made available to any third parties unrelated to Irreverent Software by any means. - * - * For more information, contact us at support@irreverent-software.com - * - */ - - using UnityEngine.Rendering; - using UnityEngine.Rendering.Universal; - using System.Collections; - using System.Collections.Generic; - using UnityEngine; - - [System.Serializable] - public class PlanarReflectionSettings { - - public float nearClipPlane = 0.03f; - - public float farClipPlane = 1000; - - public LayerMask reflectLayers = 1; - - public int mainRenderPassIndex = 0; - - [Range( 0, 1 )] public float customLODBias = 1.0f; - - public int maxLODLevel; - - public bool renderShadows = true; - - public bool usePostFX = true; - - public LayerMask postFXVolumeMask; - - public bool accurateMatrix = true; - - public string camerasPrefix; - - public bool screenBasedResolution = true; - - public Vector2 explicitResolution = new Vector2( 512, 512 ); - - [Range( 0.1f, 2.0f )] public float outputResolutionMultiplier = 1.0f; - - [Range( 0, 60 )] public int reflectionFramerate = 0; - - public bool useMipMaps = true; - - public bool useAntialiasing = false; - - public bool clearToColor = false; - - public Color backgroundColor = Color.blue; - - public bool renderDepth = false; - - public bool renderFog; - - public int fogRendererIndex = 1; - - public bool forceHDR = true; - - public bool updateOnCastOnly = true; - - public bool framerateByDistance = true; - - public float framerateThreshold = 20; - - public Material customSkybox; - -#if UPDATE_PLANAR3 - - #region LEGACY_API - /// - /// This is a legacy method and will be deprecated soon. Please use nearClipPlane instead. - ///
Controls the near clip plane value of the virtual camera that renders the reflection. When using accurate matrices it is ignored and the reflective surface's plane is used instead.
- ///
- public float nearClipDistance { get { return nearClipPlane; } set { nearClipPlane = value; } } - - public float farClipDistance { get { return farClipPlane; } set { farClipPlane = value; } } - - public bool customShadowDistance { get { return renderShadows; } } - - public float shadowDistance { get { return 50f; } } - - public int targetFramerate { get { return reflectionFramerate; } set { reflectionFramerate = value; } } - - public bool useDepth { get { return renderDepth; } set { renderDepth = value; } } - - public string camerasPrefix { get { return camerasPrefix; } set { camerasPrefix = value; } } - - public bool trackCamerasWithTag { get { return !string.IsNullOrEmpty( camerasPrefix ); } } - - public PlanarReflections3.ReflectionClipMode reflectionClipMode { - get { return accurateMatrix ? PlanarReflections3.ReflectionClipMode.AccurateClipping : PlanarReflections3.ReflectionClipMode.SimpleApproximation; } - set { accurateMatrix = value == PlanarReflections3.ReflectionClipMode.AccurateClipping; } - } - - public PlanarReflections3.ResolutionMode resolutionMode { - get { return screenBasedResolution ? PlanarReflections3.ResolutionMode.ScreenBased : PlanarReflections3.ResolutionMode.ExplicitValue; } - set { screenBasedResolution = value == PlanarReflections3.ResolutionMode.ScreenBased; } - } - - public bool useCustomClearFlags { get { return true; } } - - public int clearFlags { get { return clearToColor ? 1 : 0; } set { clearToColor = value == 1; } } - - public bool forceFloatOutput { get { return forceHDR; } set { forceHDR = value; } } - - #endregion -#endif - -#if UPDATE_PLANAR3 - - public static implicit operator PlanarReflectionSettings( PlanarReflections3.ReflectionSettings source ) { - - var newSettings = new PlanarReflectionSettings(); - - newSettings.nearClipPlane = source.nearClipDistance; - newSettings.farClipPlane = source.farClipDistance; - newSettings.reflectLayers = source.reflectLayers; - newSettings.renderShadows = !source.customShadowDistance || source.shadowDistance > 0.1f; - newSettings.reflectionFramerate = source.targetFramerate; - newSettings.usePostFX = source.usePostFX; - newSettings.explicitResolution = source.explicitResolution; - newSettings.renderDepth = source.useDepth; - newSettings.useMipMaps = source.useMipMaps; - newSettings.useAntialiasing = source.useAntialiasing; - newSettings.clearToColor = source.useCustomClearFlags && source.clearFlags == 1; - newSettings.camerasPrefix = source.trackCamerasWithTag ? source.camerasPrefix : ""; - newSettings.outputResolutionMultiplier = source.resolutionDownscale; - newSettings.forceHDR = source.forceFloatOutput; - newSettings.backgroundColor = source.backgroundColor; - newSettings.accurateMatrix = source.reflectionClipMode == PlanarReflections3.ReflectionClipMode.AccurateClipping; - newSettings.screenBasedResolution = source.resolutionMode == PlanarReflections3.ResolutionMode.ScreenBased; - - return newSettings; - - } - -#endif - - - } - - [System.Serializable] - public class ReflectionData { - protected Camera _reflectionCam; - public Camera ReflectionCamera { get { return _reflectionCam; } } - - public UniversalAdditionalCameraData UniversalData; - - public RenderTexture _reflectionTex; - - public RenderTexture _reflectionDepth; - - public RenderTexture _reflectionFog; - - public Vector2Int screenRes; - - public int recursionLevel = 0; - - public float timer; - - - public void ForceSetCamera( Camera cam ) { - _reflectionCam = cam; - UniversalData = _reflectionCam.GetUniversalAdditionalCameraData(); - } - - public ReflectionData( Camera cam, PlanarReflectionSettings settings ) { - _reflectionCam = cam; - _reflectionTex = RenderTexture.GetTemporary( 1, 1 ); - _reflectionDepth = RenderTexture.GetTemporary( 1, 1 ); - _reflectionFog = RenderTexture.GetTemporary( 1, 1 ); - screenRes = new Vector2Int( Screen.width, Screen.height ); - - UniversalData = _reflectionCam.GetUniversalAdditionalCameraData(); - - RegenerateTextures( settings ); - - } - - public void RegenerateTextures( PlanarReflectionSettings settings ) { - - RenderTexture.ReleaseTemporary( _reflectionTex ); - RenderTexture.ReleaseTemporary( _reflectionDepth ); - RenderTexture.ReleaseTemporary( _reflectionFog ); - - var rd = new RenderTextureDescriptor( Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.width : settings.explicitResolution.x ) ), Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.height : settings.explicitResolution.y ) ) ); - rd.useMipMap = settings.useMipMaps; - rd.msaaSamples = 1; - rd.colorFormat = settings.forceHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default; - rd.depthBufferBits = 16; - rd.autoGenerateMips = true; - rd.volumeDepth = 1; - rd.vrUsage = VRTextureUsage.None; - rd.dimension = UnityEngine.Rendering.TextureDimension.Tex2D; - rd.mipCount = 6; - _reflectionTex = RenderTexture.GetTemporary( rd ); - _reflectionTex.filterMode = FilterMode.Bilinear; - if ( settings.renderDepth ) { - rd.colorFormat = RenderTextureFormat.Depth; - _reflectionDepth = RenderTexture.GetTemporary( rd ); - _reflectionDepth.filterMode = FilterMode.Bilinear; - _reflectionDepth.name = "_REFDEPTHP4"; - } - else { - RenderTexture.ReleaseTemporary( _reflectionDepth ); - } - - if ( settings.renderFog ) { - rd.colorFormat = RenderTextureFormat.Default; - _reflectionFog = RenderTexture.GetTemporary( rd ); - _reflectionFog.filterMode = FilterMode.Bilinear; - _reflectionFog.name = "_REFFOGP4"; - } - else { - RenderTexture.ReleaseTemporary( _reflectionFog ); - } - screenRes = new Vector2Int( Screen.width, Screen.height ); - _reflectionTex.name = "_REFTEXP4"; - - } - - - - - - } - - [HelpURL( "https://irreverent-software.com/docs/pidi-planar-reflections-5/getting-started/installation/" )] - [ExecuteAlways] - public class PlanarReflectionRenderer : MonoBehaviour { - - -#if UNITY_2023_3_OR_NEWER - protected UniversalRenderPipeline.SingleCameraRequest rq = new UniversalRenderPipeline.SingleCameraRequest(); -#endif - Camera[] _allCameras = new Camera[0]; - - - - -#if UNITY_EDITOR - - public bool showAdvancedSettings; - - public Mesh defaultReflectorMesh; - - public Material defaultReflectorMaterial; - - public bool showPreviewReflector; - - Vector3 _sceneViewOriginalPos = new Vector3( Mathf.Infinity, 0, 0 ); - - public string Version { get { return "5.1.5"; } } - -#endif - - [SerializeField] protected PlanarReflectionSettings _settings = new PlanarReflectionSettings(); - - public PlanarReflectionSettings Settings { get { return _settings; } } - - public RenderTexture externalReflectionTex; - - public RenderTexture externalReflectionDepth; - - protected Dictionary _reflectionData = new Dictionary(); - - private List _reflectionCameras = new List( new Camera[1] ); - - - private Camera[] updateCams = new Camera[0]; - -#if UNITY_EDITOR - - protected ReflectionData _sceneReflection; - - private MaterialPropertyBlock _sceneReflectorMatBlock; - -#endif - - - public Texture GetReflection( Camera cam ) { - - if ( cam.cameraType == CameraType.SceneView ) { -#if UNITY_EDITOR - if ( externalReflectionTex ) { - return _sceneReflection != null && _sceneReflection._reflectionTex != null ? (Texture)externalReflectionTex : Texture2D.blackTexture; - } - return _sceneReflection != null && _sceneReflection._reflectionTex != null ? (Texture)_sceneReflection._reflectionTex : Texture2D.blackTexture; -#else - return Texture2D.blackTexture; -#endif - } - else { - - if ( externalReflectionTex ) { - return _reflectionData.ContainsKey( cam ) ? (Texture)externalReflectionTex : Texture2D.blackTexture; - } - - if ( _reflectionData.ContainsKey( cam ) ) { - return _reflectionData[cam]._reflectionTex; - } - else { - return Texture2D.blackTexture; - } - } - - - } - - - public Texture GetReflectionDepth( Camera cam ) { - - if ( cam.cameraType == CameraType.SceneView ) { -#if UNITY_EDITOR - return _sceneReflection != null && _sceneReflection._reflectionDepth != null ? (Texture)_sceneReflection._reflectionDepth : Texture2D.whiteTexture; -#else - return Texture2D.blackTexture; -#endif - } - else { - if ( _reflectionData.ContainsKey( cam ) ) { - return _reflectionData[cam]._reflectionDepth ? (Texture)_reflectionData[cam]._reflectionDepth : Texture2D.whiteTexture; - } - else { - return Texture2D.blackTexture; - } - } - - - } - - - public Texture GetReflectionFog( Camera cam ) { - - if ( cam.cameraType == CameraType.SceneView ) { -#if UNITY_EDITOR - return _sceneReflection != null && _sceneReflection._reflectionFog != null ? (Texture)_sceneReflection._reflectionFog : Texture2D.blackTexture; -#else - return Texture2D.blackTexture; -#endif - } - else { - if ( _reflectionData.ContainsKey( cam ) ) { - return _reflectionData[cam]._reflectionFog; - } - else { - return Texture2D.blackTexture; - } - } - - - } - - - -#if UNITY_EDITOR - [UnityEditor.MenuItem( "GameObject/Effects/Planar Reflections 5/Create Reflections Renderer", priority = -99 )] - public static void CreateReflectionsRendererObject() { - - var reflector = new GameObject( "Reflection Renderer", typeof( PlanarReflectionRenderer ) ); - reflector.transform.position = Vector3.zero; - reflector.transform.rotation = Quaternion.identity; - - } - - [UnityEditor.Callbacks.DidReloadScripts] - private static void OnScriptsReloaded() { - var cams = Resources.FindObjectsOfTypeAll(); - - foreach ( Camera cam in cams ) { - if ( cam.name.Contains( "_URPReflectionCamera" ) ) { -#if !UNITY_2018_3_OR_NEWER - DestroyImmediate( cam.targetTexture ); -#else - RenderTexture.ReleaseTemporary( cam.targetTexture ); -#endif - cam.targetTexture = null; - DestroyImmediate( cam.gameObject ); - } - } - } - -#endif - - - - - public void OnEnable() { - - _reflectionCameras = new List( new Camera[1] ); - -#if UNITY_EDITOR - - -#if UNITY_2018_1_OR_NEWER - UnityEditor.EditorApplication.QueuePlayerLoopUpdate(); - UnityEditor.SceneView.RepaintAll(); -#endif - - -#endif - - -#if UPDATE_PLANAR3 - if ( GetComponent() ) { - _settings = GetComponent().Settings; - } -#endif - - - //Camera.onPreCull += RenderReflection; - - -#if UNITY_2023_3_OR_NEWER - RenderPipelineManager.beginContextRendering -= RenderAllCameras; - RenderPipelineManager.beginContextRendering += RenderAllCameras; -#endif - -#if !UNITY_2023_3_OR_NEWER - RenderPipelineManager.beginFrameRendering += RenderAllCameras; -#else -#if UNITY_EDITOR && !UNITY_2023_3_OR_NEWER - UnityEditor.EditorApplication.update += UpdateSceneReflections; -#endif - RenderPipelineManager.beginCameraRendering -= DrawPreview; - RenderPipelineManager.beginCameraRendering += DrawPreview; - -#endif - - } - - public void OnDisable() { - -#if UNITY_EDITOR - UnityEditor.Undo.undoRedoPerformed -= ApplySettings; - -#endif - -#if UNITY_2023_3_OR_NEWER - RenderPipelineManager.beginContextRendering -= RenderAllCameras; -#endif - -#if !UNITY_2023_3_OR_NEWER - UnityEngine.Rendering.RenderPipelineManager.beginFrameRendering -= RenderAllCameras; -#else - RenderPipelineManager.beginCameraRendering -= DrawPreview; - -#if UNITY_EDITOR && !UNITY_2023_3_OR_NEWER - UnityEditor.EditorApplication.update -= UpdateSceneReflections; -#endif - -#endif - - foreach ( KeyValuePair pair in _reflectionData ) { - RenderTexture.ReleaseTemporary( pair.Value._reflectionTex ); - RenderTexture.ReleaseTemporary( pair.Value._reflectionDepth ); - RenderTexture.ReleaseTemporary( pair.Value._reflectionFog ); - } - - var cams = _reflectionCameras.ToArray(); - - for ( int i = 0; i < cams.Length; i++ ) { - if ( cams[i] ) { - DestroyImmediate( cams[i].gameObject ); - } - } - - _reflectionCameras.Clear(); - _reflectionCameras.Add( null ); - _reflectionData.Clear(); -#if UNITY_EDITOR - _sceneReflection = default; -#endif - - } - - - public void ApplySettings() { - - foreach ( KeyValuePair pair in _reflectionData ) { - _reflectionData[pair.Key].RegenerateTextures( _settings ); - } - -#if UNITY_EDITOR - if ( _sceneReflection != null ) - _sceneReflection.RegenerateTextures( _settings ); -#endif - - } - -#if UNITY_2023_3_OR_NEWER - void RenderAllCameras( ScriptableRenderContext context, List cams ) { - for ( int i = 0; i < cams.Count; i++ ) { - RenderURPReflection( context, cams[i] ); - } - - } -#else - void RenderAllCameras( ScriptableRenderContext context, Camera[] cams ) { - - for (int i = 0; i < cams.Length; i++ ) { - RenderURPReflection( context, cams[i] ); - } - - } -#endif - - - void DrawPreview( ScriptableRenderContext context, Camera cam ) { -#if UNITY_EDITOR - if ( cam.cameraType == CameraType.SceneView && showPreviewReflector ) { - DrawReflectorMesh( cam, _sceneReflection ); - } -#endif - } - - - - public void SyncToCamera( Camera refCamera, Camera cam ) { - - refCamera.CopyFrom( cam ); - refCamera.depth = cam.depth + 99; - refCamera.allowHDR = cam.allowHDR; - refCamera.allowMSAA = false; - refCamera.useOcclusionCulling = false; - refCamera.cullingMask = _settings.reflectLayers; - refCamera.clearFlags = _settings.clearToColor ? CameraClearFlags.SolidColor : CameraClearFlags.Skybox; - refCamera.backgroundColor = _settings.backgroundColor; - refCamera.cameraType = CameraType.Game; - refCamera.renderingPath = cam.renderingPath; - - refCamera.useOcclusionCulling = false; - - refCamera.targetTexture = externalReflectionTex ? externalReflectionTex : _reflectionData[cam]._reflectionTex; - - - - - var uData = refCamera.GetUniversalAdditionalCameraData(); - - - uData.renderType = CameraRenderType.Base; - Vector3 worldSpaceViewDir = cam.transform.forward; - Vector3 worldSpaceViewUp = cam.transform.up; - Vector3 worldSpaceCamPos = cam.transform.position; - - Vector3 planeSpaceViewDir = transform.InverseTransformDirection( worldSpaceViewDir ); - Vector3 planeSpaceViewUp = transform.InverseTransformDirection( worldSpaceViewUp ); - Vector3 planeSpaceCamPos = transform.InverseTransformPoint( worldSpaceCamPos ); - - planeSpaceViewDir.y *= -1.0f; - planeSpaceViewUp.y *= -1.0f; - planeSpaceCamPos.y *= -1.0f; - - worldSpaceViewDir = transform.TransformDirection( planeSpaceViewDir ); - worldSpaceViewUp = transform.TransformDirection( planeSpaceViewUp ); - worldSpaceCamPos = transform.TransformPoint( planeSpaceCamPos ); - - refCamera.transform.position = worldSpaceCamPos; - refCamera.transform.LookAt( worldSpaceCamPos + worldSpaceViewDir, worldSpaceViewUp ); - - refCamera.nearClipPlane = _settings.nearClipPlane; - refCamera.farClipPlane = _settings.farClipPlane; - - refCamera.rect = new Rect( 0, 0, 1, 1 ); - - refCamera.aspect = cam.aspect; - - - if ( _settings.accurateMatrix ) { - refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up ) ); - } - - } - - - - public void RenderURPReflection( ScriptableRenderContext context, Camera cam ) { - - if ( !string.IsNullOrEmpty( _settings.camerasPrefix ) ) { - if ( cam.cameraType != CameraType.SceneView && !cam.name.Contains( _settings.camerasPrefix ) ) { - return; - } - } - - - if ( !_reflectionData.ContainsKey( cam ) -#if UNITY_EDITOR - || - _sceneReflection == null || - !_sceneReflection.ReflectionCamera -#endif - ) { - -#if UNITY_EDITOR - - if ( cam.cameraType == CameraType.SceneView ) { - - if ( _sceneReflection == null ) { - var rCam = new GameObject( "_URPSceneReflectionCamera", typeof( Camera ), typeof( UniversalAdditionalCameraData ) ); - - _reflectionCameras[0] = rCam.GetComponent(); - - rCam.hideFlags = HideFlags.HideAndDontSave; - rCam.GetComponent().enabled = false; - rCam.GetComponent().cameraType = CameraType.Game; - - - - _sceneReflection = new ReflectionData( _reflectionCameras[0], _settings ); - } - else { - if ( !_sceneReflection.ReflectionCamera ) { - var rCam = new GameObject( "_URPSceneReflectionCamera", typeof( Camera ), typeof( UniversalAdditionalCameraData ) ); - - _reflectionCameras[0] = rCam.GetComponent(); - - - - rCam.hideFlags = HideFlags.HideAndDontSave; - rCam.GetComponent().enabled = false; - rCam.GetComponent().cameraType = CameraType.Game; - } - - _sceneReflection.ForceSetCamera( _reflectionCameras[0] ); - } - - //var rCam = new GameObject( "_URPReflectionCamera", typeof( Camera ), typeof( Skybox ), typeof(UniversalAdditionalCameraData) ); - - - } - else - -#endif - if ( cam.cameraType == CameraType.Game && !_reflectionData.ContainsKey( cam ) && !cam.gameObject.name.Contains( "ReflectionCamera" ) && cam.gameObject.hideFlags == HideFlags.None ) { - var rCam = new GameObject( "_URPGameReflectionCamera", typeof( Camera ), typeof( UniversalAdditionalCameraData ) ); - - _reflectionCameras.Add( rCam.GetComponent() ); - - rCam.hideFlags = HideFlags.HideAndDontSave; - rCam.GetComponent().enabled = false; - rCam.GetComponent().cameraType = CameraType.Game; - - _reflectionData.Add( cam, new ReflectionData( rCam.GetComponent(), _settings ) ); - } - - -#if UNITY_EDITOR - if ( cam.cameraType == CameraType.SceneView ) { - if ( _sceneReflection == null ) { - _sceneReflection = new ReflectionData( _reflectionCameras[0], _settings ); - } - else { - _sceneReflection.ForceSetCamera( _reflectionCameras[0] ); - } - - } - else -#endif - if ( cam.cameraType == CameraType.Game && !_reflectionData.ContainsKey( cam ) && !cam.gameObject.name.Contains( "ReflectionCamera" ) && cam.gameObject.hideFlags == HideFlags.None ) { - _reflectionData.Add( cam, new ReflectionData( _reflectionCameras[0], _settings ) ); - } - else if ( cam.gameObject.hideFlags != HideFlags.None ) { - return; - } - } - - - Plane reflectionPlane = new Plane( transform.up, transform.position ); - - if ( Mathf.Abs( Vector3.Dot( transform.up, cam.transform.forward ) ) < 0.01f && ( cam.orthographic || reflectionPlane.GetDistanceToPoint( cam.transform.position ) < 0.025f ) ) { - return; - } - -#if UNITY_EDITOR - - var isSceneCam = cam.cameraType == CameraType.SceneView; - - - if ( !_reflectionData.ContainsKey( cam ) && !isSceneCam ) { - return; - } - - - if ( isSceneCam ) { - if ( Screen.width != _sceneReflection.screenRes.x || Screen.height != _sceneReflection.screenRes.y ) { - _sceneReflection.RegenerateTextures( _settings ); - } - } - else { - if ( Screen.width != _reflectionData[cam].screenRes.x || Screen.height != _reflectionData[cam].screenRes.y ) { - _reflectionData[cam].RegenerateTextures( _settings ); - } - } - - - - var currentData = isSceneCam ? _sceneReflection : _reflectionData[cam]; -#else - if ( Screen.width != _reflectionData[cam].screenRes.x || Screen.height != _reflectionData[cam].screenRes.y ) { - _reflectionData[cam].RegenerateTextures( _settings ); - } - - var currentData = _reflectionData[cam]; -#endif - var refCamera = currentData.ReflectionCamera; - - refCamera.CopyFrom( cam ); - refCamera.depth = cam.depth + 99; - refCamera.allowHDR = cam.allowHDR; - refCamera.allowMSAA = false; - refCamera.useOcclusionCulling = false; - refCamera.cullingMask = _settings.reflectLayers; - refCamera.clearFlags = _settings.clearToColor ? CameraClearFlags.SolidColor : CameraClearFlags.Skybox; - refCamera.backgroundColor = _settings.backgroundColor; - refCamera.cameraType = CameraType.Game; - refCamera.renderingPath = cam.renderingPath; - - refCamera.useOcclusionCulling = false; - - refCamera.targetTexture = externalReflectionTex ? externalReflectionTex : currentData._reflectionTex; - - - var uData = refCamera.GetUniversalAdditionalCameraData(); - - uData.renderType = CameraRenderType.Base; - Vector3 worldSpaceViewDir = cam.transform.forward; - Vector3 worldSpaceViewUp = cam.transform.up; - Vector3 worldSpaceCamPos = cam.transform.position; - - Vector3 planeSpaceViewDir = transform.InverseTransformDirection( worldSpaceViewDir ); - Vector3 planeSpaceViewUp = transform.InverseTransformDirection( worldSpaceViewUp ); - Vector3 planeSpaceCamPos = transform.InverseTransformPoint( worldSpaceCamPos ); - - planeSpaceViewDir.y *= -1.0f; - planeSpaceViewUp.y *= -1.0f; - planeSpaceCamPos.y *= -1.0f; - - worldSpaceViewDir = transform.TransformDirection( planeSpaceViewDir ); - worldSpaceViewUp = transform.TransformDirection( planeSpaceViewUp ); - worldSpaceCamPos = transform.TransformPoint( planeSpaceCamPos ); - - refCamera.transform.position = worldSpaceCamPos; - refCamera.transform.LookAt( worldSpaceCamPos + worldSpaceViewDir, worldSpaceViewUp ); - - refCamera.nearClipPlane = _settings.nearClipPlane; - refCamera.farClipPlane = _settings.farClipPlane; - - refCamera.rect = new Rect( 0, 0, 1, 1 ); - - refCamera.aspect = cam.aspect; - - uData.SetRenderer( _settings.mainRenderPassIndex ); - - if ( _settings.accurateMatrix ) { - refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up ) ); - } - - - var tempLOD = QualitySettings.lodBias; - var maxLod = QualitySettings.maximumLODLevel; - - QualitySettings.lodBias *= _settings.customLODBias; - QualitySettings.maximumLODLevel = _settings.maxLODLevel; - - - uData.renderShadows = _settings.renderShadows; - uData.volumeLayerMask = _settings.postFXVolumeMask; - uData.antialiasing = _settings.useAntialiasing ? AntialiasingMode.FastApproximateAntialiasing : AntialiasingMode.None; - - if ( -#if UNITY_EDITOR - !Application.isPlaying || -#endif - ( Time.realtimeSinceStartup > currentData.timer) ) { - - - if ( _settings.renderFog -#if UNITY_EDITOR - && !isSceneCam -#endif - ) { - refCamera.targetTexture = currentData._reflectionFog; - refCamera.depthTextureMode = DepthTextureMode.None; - uData.renderPostProcessing = false; - - uData.SetRenderer( _settings.fogRendererIndex ); -#if UNITY_2023_3_OR_NEWER - rq.destination = refCamera.targetTexture; - var clearF = refCamera.clearFlags; - var clearCol = refCamera.backgroundColor; - refCamera.clearFlags = CameraClearFlags.Color; - refCamera.backgroundColor = Color.clear; - refCamera.targetTexture = null; - UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); - refCamera.targetTexture = rq.destination; - refCamera.clearFlags = clearF; - refCamera.backgroundColor = clearCol; -#else - var clearF = refCamera.clearFlags; - var clearCol = refCamera.backgroundColor; - refCamera.clearFlags = CameraClearFlags.Color; - refCamera.backgroundColor = Color.clear; - UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); - refCamera.clearFlags = clearF; - refCamera.backgroundColor = clearCol; -#endif - uData.SetRenderer( 0 ); - } - - - if ( _settings.renderDepth -#if UNITY_EDITOR - && !isSceneCam -#endif - ) { - refCamera.targetTexture = currentData._reflectionDepth; - refCamera.depthTextureMode = DepthTextureMode.Depth; - - uData.renderPostProcessing = false; - - uData.requiresColorOption = CameraOverrideOption.Off; - uData.renderShadows = false; - - -#if UNITY_2023_3_OR_NEWER - rq.destination = refCamera.targetTexture; - refCamera.targetTexture = null; - UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); - refCamera.targetTexture = rq.destination; -#else - UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); -#endif - -#if UNITY_EDITOR - if ( isSceneCam ) { - uData.renderPostProcessing = false; - } - else { -#endif - - uData.renderPostProcessing = _settings.usePostFX; -#if UNITY_EDITOR - } -#endif - uData.volumeLayerMask = _settings.postFXVolumeMask; - } - - refCamera.targetTexture = currentData._reflectionTex; - -#if UNITY_EDITOR - if ( isSceneCam ) { - uData.renderPostProcessing = false; - } - else { -#endif - uData.renderPostProcessing = _settings.usePostFX; -#if UNITY_EDITOR - } -#endif - uData.volumeLayerMask = _settings.postFXVolumeMask; - - uData.requiresDepthOption = CameraOverrideOption.Off; - uData.requiresColorOption = CameraOverrideOption.Off; - - - if ( _settings.usePostFX -#if UNITY_EDITOR - && !isSceneCam -#endif - ) { - refCamera.enabled = true; - } - else - { - refCamera.enabled = false; - -#if UNITY_2023_3_OR_NEWER - rq.destination = refCamera.targetTexture; - refCamera.depthTextureMode = DepthTextureMode.None; - refCamera.targetTexture = null; -#if UNITY_EDITOR - if ( isSceneCam ) { - refCamera.cameraType = CameraType.Game; - } -#endif - UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); -#if UNITY_EDITOR - if ( isSceneCam ) { - refCamera.cameraType = CameraType.SceneView; - } -#endif - - refCamera.targetTexture = rq.destination; -#else - UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); -#endif - } - } - - QualitySettings.maximumLODLevel = maxLod; - QualitySettings.lodBias = tempLOD; - - - - if ( -#if UNITY_EDITOR - Application.isPlaying && -#endif - Time.realtimeSinceStartup > currentData.timer && _settings.reflectionFramerate > 0 ) { - currentData.timer = Time.realtimeSinceStartup + ( 1.0f / _settings.reflectionFramerate ); - } - -#if UNITY_EDITOR && !UNITY_2024_3_OR_NEWER - if ( cam.cameraType == CameraType.SceneView && showPreviewReflector ) - DrawReflectorMesh( cam, currentData ); -#endif - } - - - - private void Update() { - - if ( _allCameras.Length != Camera.allCamerasCount ) { - _allCameras = new Camera[Camera.allCamerasCount]; - Camera.GetAllCameras( _allCameras ); - } - - } - - - private void LateUpdate() { - - for ( int i = 0; i < _allCameras.Length; i++ ) { - if ( _settings.usePostFX ) { - if ( _reflectionData.ContainsKey( _allCameras[i] ) ) { - SyncToCamera( _reflectionData[_allCameras[i]].ReflectionCamera, _allCameras[i] ); - } - } - } - - } - - - private Vector4 CameraSpacePlane( Camera forCamera, Vector3 planeCenter, Vector3 planeNormal ) { - Vector3 offsetPos = planeCenter; - Matrix4x4 mtx = forCamera.worldToCameraMatrix; - Vector3 cPos = mtx.MultiplyPoint( offsetPos ); - Vector3 cNormal = mtx.MultiplyVector( planeNormal ).normalized * 1; - return new Vector4( cNormal.x, cNormal.y, cNormal.z, -Vector3.Dot( cPos, cNormal ) ); - } - - -#if UNITY_EDITOR - private void DrawReflectorMesh( Camera sceneCam, ReflectionData data ) { - - if ( !sceneCam || data == null ) - return; - - var matrix = new Matrix4x4(); - matrix.SetTRS( transform.position, transform.rotation, Vector3.one * 10 ); - - if ( _sceneReflectorMatBlock == null ) { - _sceneReflectorMatBlock = new MaterialPropertyBlock(); - } - - _sceneReflectorMatBlock.SetTexture( "_ReflectionTex", data._reflectionTex ? (Texture)data._reflectionTex : (Texture)Texture2D.blackTexture ); - Graphics.DrawMesh( defaultReflectorMesh, matrix, defaultReflectorMaterial, 0, sceneCam, 0, _sceneReflectorMatBlock ); - - } - - public void OnDrawGizmos() { - - Gizmos.matrix = Matrix4x4.TRS( transform.position, transform.rotation, Vector3.one ); - Gizmos.color = Color.clear; - Gizmos.DrawCube( Vector3.zero, new Vector3( 1, 0.01f, 1 ) * 10 ); - Gizmos.color = Color.cyan; - Gizmos.DrawWireCube( Vector3.zero, new Vector3( 1, 0, 1 ) * 10 ); - Gizmos.matrix = Matrix4x4.TRS( Vector3.zero, Quaternion.identity, Vector3.one ); - - } - - - public void OnDrawGizmosSelected() { - - } - - -#endif - - - } - -} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef.meta deleted file mode 100644 index f66641807..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 334652eda5240b34295005cfff81eee2 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/PlanarReflections5.asmdef - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta deleted file mode 100644 index ca5e7520f..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 5ac2af85432eee34fa79ce979fd9b4d1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Fog Pass/FogPassRenderer.asset - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta deleted file mode 100644 index 45fb5998b..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 0314f2655fde2ae44b3b86e316674a9c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta deleted file mode 100644 index 49b8cfcec..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 57c192d8e5f2112419caf842f820a869 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Metallic 1.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta deleted file mode 100644 index 5097326a5..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 3486c0a485a0946478fac757a9e770fe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Metallic.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta deleted file mode 100644 index 4b120e66e..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: f75f56643b08d3047a7277555632b869 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta deleted file mode 100644 index 9f5e70889..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 588550ee664def84a8c3ddc78b132eb4 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Specular.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta deleted file mode 100644 index cf00bfe89..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 090c79d01d176ed45b5003e0e9cd36eb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Debug Depth.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta deleted file mode 100644 index 693ef592c..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 987c0da8f60babc43abb661b69df7c48 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Reflection Only.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta deleted file mode 100644 index e07461fb6..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 05d5a3161d7a66549978326d21661471 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta deleted file mode 100644 index 39ba8f28d..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 44b41d44292d1cb40bb26fdfe69a0baa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta deleted file mode 100644 index 555a5aa0d..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 26ab81578c6518349a6f7f16fe3451e6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat - uploadId: 712544 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta deleted file mode 100644 index df47f555c..000000000 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 02e2f473c4372f349a6981dd865e203a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat - uploadId: 712544 diff --git a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6.meta similarity index 77% rename from Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6.meta index d5c32a6a8..6c7759b21 100644 --- a/Assets/External/EVMC4U/SampleScripts/CapsuleRigidbodyMover.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 46a4a79844c54ef45967f469e02791ed +guid: 7ee4d5bfb4430d640bdf0d56703ce8b5 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/SampleScripts.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources.meta similarity index 77% rename from Assets/External/EVMC4U/SampleScripts.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources.meta index fc399ccb8..5905a4849 100644 --- a/Assets/External/EVMC4U/SampleScripts.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fe826b9d334c93e4ca357d6af02179cc +guid: c89875c75a0c689459fda44d30d2392b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/EVMC4U/SampleScripts/CCCameraControl.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes.meta similarity index 77% rename from Assets/External/EVMC4U/SampleScripts/CCCameraControl.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes.meta index 06d752b2f..4cd825610 100644 --- a/Assets/External/EVMC4U/SampleScripts/CCCameraControl.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d554b7baaffa0cf4c907cd10362bf827 +guid: bca5e3a89e845934daade75ab826d1b0 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage new file mode 100644 index 000000000..125a15aac --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c988adc43ec1dd4b8f9bb3e0f5e30d7f733c181b52b12d97c89403cfacc184 +size 32579 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage.meta new file mode 100644 index 000000000..f301ccd6c --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Amplify Shader Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 17afdee8134faf7478045c7647719c49 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Additional Resources/Amplify Shader + Editor Nodes/PlanarReflections6.0.3_AmplifyShaderEditorNodes.unitypackage + uploadId: 779751 diff --git a/Assets/External/EVMC4U/SampleScripts/CalibrationByController.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample.meta similarity index 77% rename from Assets/External/EVMC4U/SampleScripts/CalibrationByController.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample.meta index 9b0acaaeb..8c5a3733d 100644 --- a/Assets/External/EVMC4U/SampleScripts/CalibrationByController.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7af78563b203db9458af57d24f50e7b0 +guid: b3ba9c5193d5bae4cb816d991be70abc folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage new file mode 100644 index 000000000..579e29f3a --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51cdfab94fe0179dfaf2eb3a876b1d89d153842b2e016369a72e04da6e14c9a5 +size 9223 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage.meta new file mode 100644 index 000000000..2b281fa24 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Additional Resources/Better Shaders Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f8f64716728c2c441a0fac63f51c1ac2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Additional Resources/Better Shaders + Sample/PlanarReflections6.0.0_BetterShadersSample.unitypackage + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes.meta new file mode 100644 index 000000000..4dbc3be0b --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8c897e0adf0c234b8b9c075ec249fd6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs new file mode 100644 index 000000000..455798c0f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs @@ -0,0 +1,38 @@ +namespace PlanarReflections6.Demos { + + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + + [ExecuteAlways] + public class IsVisibleSample : MonoBehaviour { + + [SerializeField] protected PlanarReflectionCaster _onCaster; + [SerializeField] protected Camera _fromCamera; + + [SerializeField] protected Material _visibleMat, _notVisibleMat; + + private Renderer _myRenderer; + + private void OnValidate() { + + _myRenderer = GetComponent(); + + } + + + + private void LateUpdate() { + + if ( _myRenderer && _onCaster && _fromCamera && _visibleMat && _notVisibleMat ) { + + _myRenderer.sharedMaterial = _onCaster.IsVisible( _myRenderer, _fromCamera ) ? _visibleMat : _notVisibleMat; + + } + + } + + + } + +} \ No newline at end of file diff --git a/Assets/External/Fullscreen/Editor/Linux/wmctrl.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs.meta similarity index 50% rename from Assets/External/Fullscreen/Editor/Linux/wmctrl.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs.meta index d5abf57d5..e67cd57d3 100644 --- a/Assets/External/Fullscreen/Editor/Linux/wmctrl.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8385b56377b3215b59deee56f21c295b +guid: 3a740afcbef17f244989f80734f332ef MonoImporter: externalObjects: {} serializedVersion: 2 @@ -11,8 +11,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 69534 - packageName: Fullscreen Editor - packageVersion: 2.2.8 - assetPath: Assets/Fullscreen/Editor/Linux/wmctrl.cs - uploadId: 612576 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/IsVisibleSample.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs new file mode 100644 index 000000000..f8db90ae8 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs @@ -0,0 +1,22 @@ +namespace PlanarReflections6.Demos { + + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + + [ExecuteAlways] + public class ReflectTransformSample : MonoBehaviour { + + [SerializeField] protected Transform _originalTransform; + [SerializeField] protected PlanarReflectionRenderer _reflectionRenderer; + + + private void LateUpdate() { + if (_reflectionRenderer && _originalTransform ) { + _reflectionRenderer.ReflectTransform( _originalTransform, transform ); + } + } + + } + +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs.meta new file mode 100644 index 000000000..607724e1d --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 6009a8be856cea743a7d341653958c9a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/ReflectTransformSample.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline.meta new file mode 100644 index 000000000..d62606d83 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1143f237c2c2f7448b893aed33a60bfa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity new file mode 100644 index 000000000..10e8aa7fb --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb7ab1e3d70e6bb3a42b5998420789dfd223f5172008f50b70bcbbb87f67783b +size 37155 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity.meta new file mode 100644 index 000000000..3cdc128f3 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic CamStack.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 43fcd60d0de1aac4da81401278c45dca +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic + CamStack.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity new file mode 100644 index 000000000..cbb261483 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc12e4ba110127776b5b72fe7f542a4f257533710eea978ce0e3917e889f9d9b +size 30921 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity.meta new file mode 100644 index 000000000..af5c226cc --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Ortho Reflection.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 05d893bc65ec38f499347367b8444698 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic + Ortho Reflection.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity new file mode 100644 index 000000000..ec2d98dbf --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e820dff00d0121e36e71d90f0aa54c9643fbab4652315c2933f5c0c87c0af57 +size 30959 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta new file mode 100644 index 000000000..3b460a7c9 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic Reflection.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4e6fc919116b17a428dfa97c72c34fa9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Basic + Reflection.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity new file mode 100644 index 000000000..5b865d44c --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcd4c34a5c4a693222eb35818de4cfd2f9de5dc9c3e2d633a08df1f7621d095d +size 54268 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta new file mode 100644 index 000000000..f94e966a4 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth Pass.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 6b792ada80082b9469961b5cf6b7f2f9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Depth + Pass.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity new file mode 100644 index 000000000..a0046cf00 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:115079fad8d06c9112dc5d81485874ce2a1f4f957165574e52a8d116ee51a7dc +size 29728 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity.meta new file mode 100644 index 000000000..afc470ddd --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog & Bloom Reflection.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 7d4a4dc45b92c4346b11ea62683bf82f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Fog + & Bloom Reflection.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection.meta new file mode 100644 index 000000000..245c44c70 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a685331849a4b04aa6726f2a59c60e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset new file mode 100644 index 000000000..8a2a04a2d --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-830188323248533588 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + skipIterations: + m_OverrideState: 0 + m_Value: 1 + threshold: + m_OverrideState: 1 + m_Value: 0.9 + intensity: + m_OverrideState: 1 + m_Value: 1 + scatter: + m_OverrideState: 0 + m_Value: 0.7 + clamp: + m_OverrideState: 0 + m_Value: 65472 + tint: + m_OverrideState: 0 + m_Value: {r: 1, g: 1, b: 1, a: 1} + highQualityFiltering: + m_OverrideState: 0 + m_Value: 0 + downscale: + m_OverrideState: 0 + m_Value: 0 + maxIterations: + m_OverrideState: 0 + m_Value: 6 + dirtTexture: + m_OverrideState: 0 + m_Value: {fileID: 0} + dimension: 1 + dirtIntensity: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: PostFX Profile + m_EditorClassIdentifier: + components: + - {fileID: -830188323248533588} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset.meta new file mode 100644 index 000000000..15882d67c --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy Reflection/PostFX Profile.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: e7421326b2f916840983e1b879fa270a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Foggy + Reflection/PostFX Profile.asset + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity new file mode 100644 index 000000000..d0f7eb8e0 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:976d131d8b2d7e69c3bb26ab99b67ca9a419b1f983b634ef3b94ec46f921c168 +size 65861 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta new file mode 100644 index 000000000..09342d152 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD and Shadows.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: dadf623a76564b04a80949ec108dec25 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/LOD + and Shadows.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials.meta diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat similarity index 91% rename from Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat index 38987880e..e36ed722e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat @@ -1,18 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5544350471415402467 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -20,17 +7,17 @@ Material: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: cP_WaterFountain02_Mat02 + m_Name: Bloom m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: - _EMISSION m_InvalidKeywords: [] - m_LightmapFlags: 7 + m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2000 stringTagMap: RenderType: Opaque disabledShaderPasses: @@ -113,12 +100,11 @@ Material: - _DstBlendAlpha: 0 - _EnvironmentReflections: 1 - _GlossMapScale: 0 - - _Glossiness: 0.5 + - _Glossiness: 0 - _GlossyReflections: 0 - _Metallic: 0 - - _Mode: 0 - _OcclusionStrength: 1 - - _Parallax: 0.02 + - _Parallax: 0.005 - _QueueOffset: 0 - _ReceiveShadows: 1 - _Smoothness: 0.5 @@ -127,13 +113,26 @@ Material: - _SrcBlend: 1 - _SrcBlendAlpha: 1 - _Surface: 0 - - _UVSec: 0 - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 3.2455392, g: 6.8560066, b: 11.27958, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &7496318817076936980 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat.meta new file mode 100644 index 000000000..1471a3afb --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 8898f65c2a6aab241a5f5da75d4d4c2d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Bloom.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta new file mode 100644 index 000000000..9665713a2 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 98dc927c1c9e3ba4b8649039cb55d12e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD0.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta new file mode 100644 index 000000000..46b9ff724 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 76f3cdf1f42c89c4d971bbf953d72105 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD1.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta new file mode 100644 index 000000000..5438a8589 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: a8338ded04642564da1fa77c96825797 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/LOD2.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat similarity index 96% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat index 24edb2789..1b420fbd7 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat @@ -110,8 +110,8 @@ Material: - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} + - _Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta new file mode 100644 index 000000000..b46baf578 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 876e209cead175a43b26180b924ef9ad +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Materials/Lit_Floor.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity new file mode 100644 index 000000000..929af6d91 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fe6eed92f58804f98accdff899d0ced4800213a629a804036b4559d75feacd8 +size 54313 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta new file mode 100644 index 000000000..50e6d5552 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR and Blur.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ae03306b3c7f61a419109b586111d1d3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/PBR + and Blur.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity new file mode 100644 index 000000000..75f7d4c93 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:979e07fd4ab40df7039cda6498431059597aaa78af3dc2b4417e4594e7db6573 +size 35812 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity.meta new file mode 100644 index 000000000..af2abedc9 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect Transform Sample.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 7a6e3c92c03714e4dba78129d5dcf388 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflect + Transform Sample.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity new file mode 100644 index 000000000..2c386457e --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5750f370d420cdd5df74883d0ddef48709bdf0aa188c812ee55b006113e3e56 +size 30133 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta new file mode 100644 index 000000000..4d063a8fb --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections Only.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 66cb2b9b016408c4a89b34bbcb84764e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflections + Only.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity new file mode 100644 index 000000000..20e74a49f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7257b910de7ba9ff3251b6283d2c4c6ac83be27823476612f248839858cc4bd6 +size 32631 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity.meta new file mode 100644 index 000000000..4b307b4df --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective Decals.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 83583763ae21da5488ea02aa89776403 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Reflective + Decals.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity new file mode 100644 index 000000000..84d42d551 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97cb1eb14afb3b4b49080adcccf92ba9b4bf955ec9ca64378bfdfcd920f4f801 +size 39622 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta new file mode 100644 index 000000000..8ae01a943 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal RP Water Demo.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d21b3ca192230a644a9dabb372fd7bb5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Universal + RP Water Demo.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity new file mode 100644 index 000000000..c1b7bd1df --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05206b850fd17738a40213cc3979e91883d0e632e862ca993991d125b8211fe5 +size 33127 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity.meta new file mode 100644 index 000000000..ac208b0b3 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility Test Sample.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 906c00d73f657764685ce968a078209a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/Visibility + Test Sample.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity new file mode 100644 index 000000000..7bf3ef632 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2902a8c8691f4538dee271f7b0593ff3a56b3689c1d404314c35a25f1fc2c018 +size 47939 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity.meta new file mode 100644 index 000000000..dedff0d30 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World Canvas Sample.unity.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 8ea786eed9f9eea46a4947d77417e765 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Demo Scenes/Universal Rendering Pipeline/World + Canvas Sample.unity + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/WaterDemo_Terrain.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Demo Scenes/WaterDemo_Terrain.asset new file mode 100644 index 0000000000000000000000000000000000000000..d1cd6226677d8b61b21af74837f6270b2806599b GIT binary patch literal 557368 zcmeF42b>hu^0s%$K?xEiM-`ADAiI+~_as1xB8tKSD?xG)Ma30SQGy7f2q=Pr1jU3R zK>ddrqHv>#cCAlakIoN}hX_ zRQfvSb-o8v-EF1&#QW;kt6#rPgF5x@xGw3;*|TSplj)c&ooCOUcze@Wwen;A8kd+| zWH`^xQ!<~Jkuxdd&E%vEKJI)z{vG*%^k2q* zJ6BSM{LkTR<09527YwX2_rP%NQnWS^IN3<5!k_$k<#i{mw|mzn?RyIp6KhpPYB0 z3;L6j-sks4*e?4n?DS{w>^{yPzanh@z3Wr-y#5?~x;@)^@+aqih4g3e6nn`2H*xOw z^IrOk@jrWi&TPNGxb$m0#U9B?xw8HK5^T?YeR3s@Vw?Pa`F$cM+52;6n}4O8{tTYo zM{-i`Z1b-)o6rCKa{e!{UC#eX>CfOP_DD|3e*R_H{(I+NR{G;#c3$Ulu21~@%U#f) z{rt;2{TV#FkMqyJ0-Mi2f04h}*)H>^qSMb)>=D2IAM#%MEAf~0{BrSbGu!s^C%?b4 z^k?uCd&IBrZ@ia&k@M{HJNx)lmHwq!=Xdt&TTS}2%8l_@}Z#e*Xa8gHzf1W&Sk; zU&4Gw7Ppf zxLAMS68%$R{mLc!=f?Wgi}c^b{@L68&dl{Y@{@Kb8F#$>Gl58!pjb zA=ZE6CHiZ}`kP(Q@A4mitRJp%-ub)zkyw9=i}cI&yP1Buel4B;N<6y{@G0B;YQ^U4 z@5P|F^OJP8amM__`<7 z-`VNUdj4+zkywBFCHhar`tLZeKL@{0=3nldu6%SkuU~$j*f#}Z{aw%NkAJ^NtiRiN z{pWw5alT-D<@#5MegDo2`d$59jefcQJ)}Q_r`Y3s{VhB@S&R3|v9e$PUecf0?et&I zzUBH0x9)vGzpKAZJ|ow^&jtP2^=n_JKZ9rYA-_MX{nn4o=j(5gpD6nm{o3E@cfTvo zar|o?>lcoZ{ruhW=|I1X&p_$V;3@Vve|+v@d$Jbqm3?I&pFz@}+3oa;eI(-}zyIzF z`m^)zdz}6Zp52F>f7ahWn9W&#e{S9l=G=$H&i`KN&v3sh&vE`dCf0wSZ2KMg7dz_r z&#dy3E2&b9zak<@4_wgij_<_S@iV0VcaHy{^#2b24836gxw7%+hc4)Mk3TJT z{9%7^{D=SG_>Ww$|Ln(q^n(5zNlm!+uX22u7sH+X^Avl;ug}`p`8~$=-y5IDrT=%v zXN2@8WxqaCIljz4k&lrV^tpqox0Mj{n33`_JX*xA^hLT+r|8_hTGi z&hJU5pQqSE#z*ii2c6PCmcQ)smBZ051?d#|8t3#^;@N$~^?zKyJjLdV>HoNX8GniX zxPE#1g8pR3J}k!Z1wWpV{tTXC56(ZEeK>*b$y&Tu&LzA5~{LAvF|v3OuV4q z#h)r{m+_h8^k?wwJ_Mh#;>Tn*XT^_J>HYepb?arN4Mffz*FD0pG`(U>o=@E+;&C&*R<%RRPX8qFdNb4Bs)qg-*uTJSoQfJ-{>@mRXn%?Qo z^nR_a^-pIH=f95~zDe3W>HYeHX5W$a%*;)35h{-UIIGlli6ihNM0hzKV}Q&u+cibn85zYf{g&yJIi9^$MqV z>(X_AY>K_=)w^5&^p@%Aos-;Gefp)Rbx!KqyGMGf^!@`{q;>8#us?&$MHz5UQrGmf z9s|1GWA^URyI)ejq%KJvlhTqp_ls{x@6|cIU(?>5(~}1FPj41Kv!?0&yUK>xHS5-^ zi@dYkUAF9$)PEPF-83_3YDw@oAHG7rP7fOY7giRX3+Q%a)b{`la{kA|uj1%T~Q-Y)4tPwd^A! z5+8p~QqIHqWj))s>X#n>EgUfGyL0D_y1gf9aMB-xmz|#*NB3Cg-g4cO;52v1V4w7X=moAj1bM^Jk7 zPU{?-4f=o{Y5g5(bFVvx;xiY%mYE*r;-CB9s=o}55`kyZC# zo!BsNKze7pUq4QzXZxnzdNobE+qpRIVPu!tgr`aRUFkh!t2->`PPt{*H0DuEEZsMX zgDL`08To&35hnJ$s%xgw$=2~V-W26KZPK{XR(j9g?PGv&sr?A+5ag4;#3L~Ri4jPQ zKw<K;8zvs*QN%fCg_U~lfW7Z>`Nvw%Tj6h-p{=beucKOSEmsLjH z*I8vaQ{qpkS=(>w`7LYji7ZGF-&^K!GLN0Wfqx#d|Fu0OY1!Lf`*z~f|4Ac|Ro>j! znX;JqDlVt;|3azHl=ffMKWdqujblQ5f9^3dkC}O9|4HNdpM0)KS~4vMEvJ@C%dO>c zT5ji6Znorb`UM;QlYeF6+}#n#l&_1)eO8IjF7+qR>H4@VyE6Za>bB$R@3r`+eu*JP zd><|vxLA-K2{O+!apnFsBOnr;jLhfO@@o0C{8~Zna;>mdR4b;H&`N5h_$$e);=I3t z?U(V1JfJ~NzLP+Lf6W#7SMN1brsP$o&dnAJ^9>&awNfavzuZW2&^Df2X;h zICc&tTtsm9C1`LdB*;AHfA#46FYRAsUnD;ta$OktE{?2Usa4RbXxC`9w7S}LPOGQY z*6L{2YBkwfoxbu~Y0#jMRsbYO;J|;{e94rgxa7y>J}&F>KU3c2Ra{TY|2W6bs_(N( z{ZFd2qnBuIuROab;o^adAF{{nNZ_7PRz{F{_Wx<){_l6buHMg&Bp27pXce`p$afvB zq2|*JEvhxw+GuUHTlj0E-K4eT{f%r5X&U{Fw0eBDGFVXz+(_WSzu&dJ_!(tNPj=aN z#cLxDX36SwU7L$ch8*Z;1b*|C{mr&pv7r9=$x+ z`X$lhbu_OQ)>>|`Ei*)q)Iz@t{qU_7T@CbyXfGefy)%KVnHS=kmJi4C2-(k*YqFRmW&s# z0Diu*S`94~UEW6PhU|~krX$}QwL@A?y|i9iSM;dfm=@NX&`do=udCP4%jPK)xkd@K=yP&RE#WrT9Shu}i$W*a(RB z&x_?>5^1fE{%)bAYlG4JbI|)=Yp1kwx=+7Z@2@|hzpT&Km+H&)5A`+rI(?_CXJ9gB$S>)WA1z8Q#H*9Xqk@ua7`>*_KG{AGNIC zh#yZ-;Pg4^cWryulF!cN<9y!L$rnB!Imhr_sgKLNEA@NT@16FYdSR2Ey);3GtVj^Y zf!{|0!KUnt;9@x7VqN?~}A=d^TcS%v|U-6yq6|@yVX6;CtWPaM1t&$;LjpKre)yr0bw^{<0Mev_vV<$ ze?iCgzfLn@?swqXdm8E8p#7|sMf!W_PwUI{eR^TzdgC@@uijD|)raA1S}nm$x-rPtH*>)&f1!y?AOCekz;YoI~`1O7?g0LjeC-g05X zU94q(%FWsmED#jPs{cj%i~Nh`|0(9Z%gW?ktKH@DE^Bvrd;InOn9PgR@1cpzi^T7w z?VxR^eRE#h&UWdS&$(D2NRSl=_kLy*9rp8@J{wKzMBZpbqtZvpd8<_RY znr2z^tg**fXS`~RG5Q9DbMjOlD8=>Ywo7#f3g2X{$1&h`|b~;*o%Hv>Kg|Ovg3ej8N}^^OCv!%esILWEy04U zNZ@7>h=0J1875HRV)H8pKDsOL{a>#&#*2R+k-qubSK1k^rruT`p}(j9q}MXijc1LI zjH5;sGivrQA2VMtUpE(;@0p9u*UYEP!Df5YHY=N_jBT)jQATGY)yQdlqCcgl>$+Y+ z{~0FmlJ>CH5r%Ose#U|cpWr{t1Tv*QFa8_1*&AZQ>MAe_L>**tTe{7bA} z;&meZV!?|PX6kg8w`X#Bk@d_bnqH({q*^3?v-*|#rTT@_HmRG`&(Ae^C)>ZIZFaCh zut1PtyTb^C55(<)O#gt(IpRog@SOD#k1ob76^S8;pF%tr!U-g5AUKdffs4t$Y)fYL z6hSKMlGD=}P5mOVy~A+-uzsKZCd|K@(ZQHxd~K97TOs*xn_rtbtnyY}%WJ7t#AzKL8oNEpKFv-j#Zh_l@cX^)uS1>U!Eb=UHA!`_$>#z$ZR;(BMnZLRf)| z17aJTZxy&m;Q9(Pc|j%~WFkUVTS2hkd>qKi1^(Pf|95{X3B6E=+@BhF>e?g!v$Zd@ zTzY-Ii~gd%Q!iuOYD_V{HL96i(e*!?Rgw7q*3;I@)*IG4)(6(7)<$ccwbGhrJ!SQ< zbn8m%J9CcN$5hOG<~rj^<7T6R@vS}!dqBq;_*i>hyPFKcM&uY4VHW;(kL8X zTM&7_46907p;#+SE~eYuEpG4Sd^(N;!UO~Z&f*`7TL5DHi~c_plYY_sV#$jYAJ^+! z9lib)(ke|fxZ6ahyE=YjOybw6Yt=RCC+ceT<5*jzy3KvRnw~X$W-Z7dXy77&;K1e> z3b;OktZX12GjOegcw8~l4-xlNxc}qc12?L8T32MNG~`x4YWi)$pG>T3%#6F7>O_mFh?8hw2J-x%z?AmZ@%Y-z}%-Lq4$*RQNcC z1?yrs@P&f{TR;y)A|5UW5?!1W8b zUV(pi8U0tDpI87z@y#{F|9_A6g0@!6gZJ(seU*Nt(c4&V6i4?jH1k@`tqIm{tD4=~ z9%PTTr_(0eQ|wpm*Ld|3ug2T=+Be!&?Vqjr))06?8Bk!B*~P4CZZjSwLU2HziASKi zet^uPk>m$>$T=vSU;+OS0*KU$oEM`NcUlRsT$-%cbk}Uks!ey@W>JS1$cnA}U_f4n z10-p}0Zt$h$6^dXtbg(5f9u%vV$X{;|HU~@FKj-p-$lbq``FR$S!I5ix@+5&X}{}(y!J$m0)mx2l(#IQh+;1du;?1PPtT_FB}t>dlSSwgISUgxNSTdL=c)~tr@3Yr{1sQg8yOjMkHo_1X!{ye; z=7Z+7=0>82R~cLI3bxcs>ECEG$s3Mfb(Bc>0{$Tc5ZQKDXqUo@D^0$Y+seSNq`B`( zIV-qJfD*z5Tpl1^!Ca0n(6s`7K{Nh{juiV}Jb$}l^1lU^FVerk(ei7N(N7#sFVZeL z-qrG==a(VROB|UOiC>_;tIk*7QQubQsc+HVbeg<+i!E={GoR)nf}nw5!E*Mt5L*8ge~kphXOz29~AGPYY#|V^k1oI|6TX( z`T#4C|C^>gp)J<-YgP5G`Wt!<<976a9rGFUq}kqDXqC3R+3(oN!Dw(maC~q&?YZFS z;IQB$!H0r9f~|sKFrh^7sQtM;%f8F@+j;D*)^w|*Rl!<|1#zYM9=^na#!|4wr=QT? zXEjkZ|H2 zv^nZ*r_JHj9Nxc5&ug?d_}p7DG!QHhBye$H6*wUNfzMzApF0r)@eXW;5yYGL3#GaF z1(InH$AwG%7rfZzL>Ruu$~h3@0{ov25`I9jYZ@@l%3b}%X^mRlVJ8LOUeqgSI zFW_(M9+CPAth%a59Jex7m9(l(b6;21D$!SgaTY#M3chd!JRpt$!T}^7_%|mHKwYs+q+q+?tl*L0b)mMQ9-(_f_lE|A`iA<2?hM@; zGDB5D$)O#=Wx*-1g3hpkU+pFK5PXAsh!3P#o6JFE54{Vk$ZssvyXj^1uZReA$MaZ; z`Iwh^`1iHo|MoXU>Z_8)Rb9J^^_SPsYB)_^UBi~E=&RzOKslIzAV4wffI{auK(gZn z5Ffx%tm6Ynh1ma@@-N(9{Q0Yp#}zPrk^Y77`*&mPUZj4mBlWY8=^2j1PgSR=&#TX= zlhsM;MD?f#8A55`-y8RMKsk`A6}sf)$c`v9+7Q{5R1$g;kuV(22^0SRA)|9MPF1vCx}KUfqtlsO@0@7yL+^1 zWdFUaAJ8>pwo%F)V-_dsR{&PO$G#=_ey~KSeQ0v%!_YUO??O95+d|tzd-%U5G%qwB zREUIXgf0tx&*#PkZ^1*b60boS`#r0zb=Vw5?%-$S3YIt45D}=NZ^Pr*gV!MPsbkeA)iLT5 z>S*Uro}Z+RRmaggUVX;F1VMv19=K>Q3nZ8u!+`}cyCCi>TzW}f6GfQNK)Ws(sW&Q6sR`j0LO#N|v ztzH~i-D9*d*PAyH`D}%F&oM_ETAYl;W7|F@&P0g_=}_e z4?6xo@&A7f|NqjF|Mke&$Bx~<%whfu@!!pJ?E6<7oc8;v&a@U1O zTuZdRAc2bXx77w{&ylhFlU7+z(_hgK={{qoQPmtz1aORXr9HwvVBZ$p5^NfJEtEIh zBs?JeWO#CTQuxL2tKm1o^TKn&kB8I2gEHY?LhD15Lfu34Lpy^{1XF@*?3?U;R)$sF zdc_QyhgeHg$M}*sV@-W42+)hlBiAx33t^)qas&S!1~lR-r)plBkLGv&{Jitf8i5G) zL5SMmY;|}*C0IadhxdsUkOxg6`M_=rKyrZgA`jbS$MjeT4i_{NQGt>vv`_+5Z!RkF({_bVl{q$t052_D=3y;u-J9sdH z?~bO80Yjc^@E2uBd#;d>4*h;stLg7ce1G2?cFFa^mt`0^YR$Z8E_<=}rs`~LA26uxyB zyx9)=Yye?bgRsjP-*@qXN^Im!e#;U#&1YN%7nvkxAvp|3@YMVf3W)Z<9F|v=YaT|j z?I-=be; z=&bWCiVq-{HP||1-DPjK8{p|L8oE35b?AB+zzpPnTll;1$#B_7gGhkCYa*9Lw!sA+ zz$z#oJ`j2%)R{QJ)8q?`#}hEi3Rr8*PG&B12Gs<%>yPOT^qu$t1Oe)SS4HqwBqD-; zJby0si4a^a3d@t$l)uI_sn;3=4TR$f6KDVrs09zG=GXxx@dFfM#3c@J3Vn2pIVlkU z@&AkU|2gwdJpZfk{7Y8PVrJ!hhx@;Z49;*Y{^#)OiROP2X%)Rc46S}2`hJij`90M; z)oyARHC^qbc2v`79eLH6c8A)Po;%eZ4kq+f`||k#V1l5+-3}@UM;Hp442KoCjNn-; z4B-S*XcAMH7V{rY$A2iO@G7_@QG|EF0kIKW>p-#%rHSVtvq?^}WF3iDF`jQA5yo#E zy}Orj5Njar5%}kN1y8~Gf8aQub3RKr-`Bv>DPZVmm{10zcOSod1jzRs+vo91R&bu5 zfl*?sNPKfQ-~JT_aj{t-+hk>5alAd(a@Cuo--n~|mm=vuVA~hgD1*stM-qv_UE|vE44pL>o-#M=Og`?UV}9Nj~N>b!(3$6vR<&N*w5I%+AV?$gI9%y zfdF;T^iPEshBtx$`6KlsEhFtBZ6nPhjUq)N--Z{5M}q<7!aG7whOQ00A5?<#?0WY5 zRx|5sv!7YieBFo`-?B<51q7G^Ly5pp%Ya*A1^naw&r6NXfAjVh*mJF@;&_wOTJyRE z?MAR5f|td>%JVutpE|IBYK|RH3IwH?45A|6(M| z_4|qCFINBaj_%KtepmC~gADgUvb!PW9n}tMd-Ybet$MTCMs2O$L~FzATiAB1+K#>s zph71Qq6+3KCtM2{(BS z91uPrSq0)NkX%DSgUq&q-{j^YyY|BR7!wemKz3`uW!|n=@ShPG5a#~_BfK8Tew8yH z$*&v4XmwDVtCpIg)=_JzbydF_Wt=*~lZJwR&w#Si_*L(LTAy-Vz5)pjz#(K6pG5bw z&+439)3Qjv5B$HKmHkgpn`;Bwz9?0CbgFvwMek0bir0KH{TJ#B(DhI0gR%MB=(p(Y z=M$IV-a*RRO_I}`8DAA#Gr-W{;#q;=qRJN!L2JJs8p!3M%G z0l@&N-hM5yL8;s9B0xSY#?y`uKrB*;0DO)7Z$c(q_P^ph?Jx0tvHT}9GsiPOMfX4A z@P5(#103n^>PY|XNd8S~E9UkMY7@0FvpO1kZpxM$)fQ??dIb~OI*4$adOMgP&1DK* z;0V1PYvCTpMi3;3dk{x*T-S#vafPvqVFYcTuNz zlJ*W2`py#BYohnWxBoI3zTfJnknj>lS^kO`$;J_VE4BR=>hJ3FK!%0%mob_d_ZxGK zy{rPd$6RODW)09mtF8U1-H05()4^Mi>dm1X;hNza!UMz4g;$4@-~i!B<46mh>qZJi zj)!-I7lem_5hp`4$Pw580<5w__688(I}o5W2++bfNCh#Uz8l{|cX( z$E5}qVnrfESHQaRGO}(IKzxAT!h^RU{~KY)V*M{e^DKn>zl~mO zT6v_y{Dr&T!;J2W_U?v8?|^<6>2HSQN7WG8%}_N}9tsU8;=QHXYEX?hs33^YjMf}X zkk;B^3c?XOf+gM0F@k#>kHHYQ@=(WvI1DS{Vb0)DyblspcoHNK@1g5Ej9UfsVK14h z5EdbS;x}|-2@+lW2;C}qhr$FT>rku#H#QKD54t%5aj)Rtn`LL1*M}I}WgygWMk#`H zU#|Y7Y*SV$bCgj^U*#6%1|>{up|n@-QbsDzC^MDC$|letr&B<48kqs+HA&0 zcmzF}*NNtee2D)n8UA0ED|{n9y^(PLMR@hT*K+H1sO&LJpQCTof72^b$*;Z9lNjFs zqdVET&5ZzA`d5Mld5s*#S^aX>?Q}IJ7%Plp#`R`~`I%Xhtp3$jS^Gh3fX=}WgH=L< zL+^w(g$~04yy1@Fu^_8o_t%6#E0K zsr4nRg)hSjXhK%tXlf4apr&{iCPfuyqxhs<#^vTQ$o&WOTkV{}R$AUjOk(+h}I;Fr@K*$K%%zF54aH?}#REgA_MI--nTN6;A7g z-(IgaR2#(F^}I_#`}yeeJD6aoCZ7$`LVQbbp(%T4#hz|qe`$`La3@G0oS=WqTi|*S z#fLZqpMiJ~9|j3VgG|qW0x!gD0?8U8~cqQ;s;N`&Uf#rc6 zfn3U!N*yJrbWk2trYP^i5b`m4H(@h84IZ!J9Cvfgl8_B|b%(6)DnLZN7W%(8e!a!o zHhg_WsoHH*)o&tN{zttmw)YTfcda#c7~k>t8LM?)HbxkI@%Y~Y7Bn_mA^ndV?;D57 z0n*J!&9BTF*4@^JRxaDLr`jchBZEH&ZwNgVT0$&fPpC-v`fxk!fX~9e;0eedNsgQd z9}0gFUQT3ia(FN~0!71X$rUUZnjEYioMuw9S@cx^ zom9Y)Zt=NFm2y|}pXE17#qvVru1M^<0Ke14yZ?5H{;R()gL*4&dw{x5gIRCY9~9{3 zFo9bf9uURWQm_OX;B&c}ctBYYK3hx)`H<4{0a$aAphkbi3Y`2Dbje0fDHF#Z% zEw!(SrPK?Dy-;pH1XH2`i1O9+7kVlA|WQMint6P!T21>z})#}r&2;viVaeIUU@ zj_*)VU=k?s5~wBl#;@Te6eJKVh_6NxW+1Tx$vj@}FoF0wBsVtjHF&ri&&Yv)7z0j% zAzw3^FM(5S`Q^XC^~WIF^_85;S4e%IfEFkf_|3oDzsR(~qqz5!(R zzo+ljOXAn>MSlO6Mq$%1(^%!3W;QdgHw&A)jb+sKoNl~iOeOaJp0V2~OT2E7`Lwwi z`R_~ZkDsg*Rsk=!>jz&AmLcQs<WyH{}|=&nXwlf@d?=6K$}cOnClEBN<#z)29~ zD~>geaSFivzd)yVQmQF?19Jks19bw2{jd86`6K>1{-XXo{(}Ci{ZapY{+a$w{#*fX zpkH8S;H$uyz*R~!c`vY8uhUec^VeZN8Gn`8hS zAp+3bdd=Epm9f)V<+snagG++-LXU(N;RpN`22eNL0S2%#{B8I+@xVjjuXsHlzraIy z2yYBu9X=L%kIcaGq4$DKgPZL%`=Hg&IzeTztIdzGLrNG+^xmusSWAY&tzcI{O|m0g zughtC9K!zd!uX}a>sj?O{8sTbFO`WK7E5FfFe+KwB)mQo&)vVxy?fgbsyy^_GQZLs z47h>lpxn*zI>!zu52hA!`~XrD93()rB*@SOXJllMk}Hgb^eN~SMaU`t)zOTg9|Pm zRCN&HD!4)|(4Zddpb`60(0sPT2*frJB)A#hp&&s=B8%y?I2!bT8}xTjU|7r|m;h=? zR*|eakTnN_1aoQe>>@YQP}Uw~u0e8FB8o>qFyLFPqj+@iuVcVT*wrRb^dY!RMRmXO z7B+q=tp8QCe5t@%|4@G;|6bor-$36@zK}1~=k+!9_4Up0?eG=$hx}vxU;8TtS_K{q z%nN)UD6O`OpH_kgta{|;6t{jhKQbranY#l<(8GLy8lNvx@pHX-!mL2Ozk$gA zeybQh{2}%Sc8*|+;L@O%)c{|Fj)qEv8-;Hp18`yZKsa}#U?g|sQ20yu|7#$?P~wCZ z3}AQYh0sl`8GI^OE%=7*wO3m$@B-Wk-n?P7Hcsf%Im=x70?s;uO#jMA?}CXQ0clUd z14QeWg8NHt+snydt3({Tj&pzF>tM0f*-{XWkW~i$w_neq(!$H+bWFvw`YcHBB)Z^X z?$B~C{()Y22GhXVmUslk5@-YqxC%R9xUyaR6bKzt=)Jl{B;OY|Yw=UM}uIhzWaSw`!;)LcpvxP=e^V0gXgK< zE#51AEqvpAdwkdXAMh{sAN5}w=ml#05b!ADlp~6lnCly0_GL(gA0JO^5WXiFe>1t4 zS2E1{CVXsb^(%}vWb~{vlBm{s15x<#<~!*AVpQ~Oi%jl> znQWD2TW!m*Zno~D^50>r5;ec>u%EQo*(HMAg6o1>XjbS*s1$L&KH-^Y{j=dJ5hdb@ zTum0h31Wcji2+O|LeMx|5gTAqsB!3U@V;Pj@G<*Jdp5YU01M-1JdIxC8{(24eLpj{ z3m8^FJHXuA0ty@g0ZyyAv1_U$=~ofkD2w#hMD`n!*`{FUh(D_V{%pD5NUj71#F)T* zxZhjEeqYgM;RT)oA9#vb@MHJ}?#Cz42aiA+S>G+t6ejwjA)2EqmZM|@i1qag*#Hs= z*v?h>93Jdu0ZJU;9kk_a&PeGzoDXn&D^vHQj9 zzZ(5t33)D!t}mh%bmTt?NjRmPP=2GG;MEx=NzDN+0Pzlpm#_moK=KYG-^leCN~TdS_{kv7Gb4rqV?hCz4Y)WUs}Nnw zU@jg4K>@J`7Gw9genE*1NT!hM6_n`U`55qLvQ|zL{oBe2J_P&!L3vJTqU2JR1_lS} z2DbS#VEe0my?mv8%e>vZ<-Ff{)_azE-uArb`NEUW8v+kjc`x_1^S$ZI<8S7F$p4Q2 zH-9+rY~ZIrSb0sk93J!(9-GTq{m}&J?~U|NAfxXqEicx87yTLi6FndDKg&2__>ukR z%=eM+vt~IwajmUhX!rhBI@vkbS;eeh&0XeJV*Y2$>Qw*gZ9Qy_ww_=m@9WlHtE%0? z?qNSly`L}bt625FGuW6oK<=<7+&lbw_*A$7@&5sl5s}9u{Uf(Uf|2VYS44gbZ(^N5 zAL0bZLUTg5gpLOX2YDjt5o-^N>mM*fo4^20z_w(S=Qc+A zM|=SVko;Q6x#Y0bME5r$TA=e6B+}6w%rmfNuf;AXoWOt>0(_`_K<3wC?OpEY`WiXk z)5)`V78DpwR5-)22D($7{T4v_hj~7#{H*+{oW#OCqa>@z;DK<2e0;hHwn9n1T@|lkBc#Z5WZz`~ zH^V(Tz(6|lmxeuXJI(bE2n&#mqJCs24B~7B1s;pV3MIQ{GH5mx??Bux5UU_-HlbJp zZfs!vMKK^A7x*I#I0LiVg(qbM$aqkBT&bn33k(d@4(#-gf%$Lo-RHZ~_pbL=Z?bo` zr=6#!r@W^c&#I@p=T*;-p4#4?-nrgiyiI&ldxp0}nU-x=1O zR!eepYv7wJOe;mb?{?Nm{C?}KudN-_0sGl1Z#TC4*(0g^_a0t=M!{#O0n&n8|NL0_ z6TH8Kt)xFJ$4a*&lmUBeZ^>zzoz@Zf21WEWL}4x0B< zBWS+S);OgS6uDuy*B837UvIN(GBHlz7Ig9%GEfFQtJCkikbEjkJhzynBCU%0kt|5kYF#p@qJ zGYdbLXA8b7mVgH?Ao0JtNbgl}`qD`A<;Zm|^(>nIBvSu_vRB!yd`tUY*{2-f{g28| zV8bsU#3>~QD3G6T6bAvWf>ro9PBZL(*Av)@h(IswkiKvcu|+z92X2;OC*Jiy`X#&g zE-)aD0+Lral9dZ$6G-mRa}Ew70|7C%Dh!lF2rx?LboMTC1y^pY(e>J}Ue0o)C`aD8j&vrdO zIei(%CZnM_&fIHWgZ+IMwLRw(*WZDBuR*_$L)*8p!j{iUr72YU?}Yp>vi4X>)b_i| zzK-f%tys-7+MZ!Avp3jhY%4e+_!Asp3SPk0tOG0(=@D5L$rr5`4MeqQ!)Uo^f#|`= z>d1^pU%0?QctG>;Z=tcFvZ1Gf`GP&|&#j=f3LD@D;*a%>FZ4d#QS=S&MqE_;jj$P~UYWd|)xzV6S5rPGiN#cwz((;}PgjWS}EsegobBKbAmE5VSNHDjwGpFjiR? zAijVvop|6%5MU90fVqwrU?RS!$6)|>JMy1~=dT4^JQ|aF@z*!S8ju{n*7)k0(_D1W zvENg`fvaKk!UQgZ@8^UGoW%w>itKME1MVwji}DSxb}4&6g+n00uV6q<@S-r^sf-Qa z!^_YXeSarXFYAg1qT6Lv;V_=XD(Q#ZOLnnX06jUwfoRAFi3!{X0?3*Ju?Qqm_$V5A zG*T(6kR_W~>XS$op{zl6Gl(RgSge6dV}P3NLfxtO$ex zpZMGOzxO==^MB17_3rbG_cZb3^SqzhE45x~>D1b(EmI#(U66V_Rq>4UEcfj76!+c; z1|0G>^gZhP#^>`-@c-h!F)%xDHqcI4fiK{7wG=k=bRz%xxnFl1{T_W1asQw7(uU9I zg7+`K*&8eWTB{4J{vGQp>sPCYUCu6Q{{jX~!4l{|E$>@l2HkmmKbY_?e*gSb`1RV& z?5_5G_9%M-`u`34V|%w-_*`*V}fX^5=x!cQ8MpyCx#M_q-9H<8iXpAqbJL{YtCg15HEZf_#X}wqpW%*oU zMd4vQz~5`%YTsy^S>LrDHt+#lU>^0}X0rC`X?y~Yu=aBx(V~v%jiz`5JdQuGJV<*v zqbwQgVhQYpg>7?u0Usj;iyZ`*i4E`!*XU6^TK%#AJ2~>-1l=$Bev--47>U0b7B0HE z2Qnv`w?DEdYXjQRa|6tvk%I#jkm+Jbc41h4ZuO+HpRBmg$b?-Bv)u#|>;wZ2!vm7> z5f(%LSLa&_Xd+qi_d0PtSw}n?O)h#|H2Dj(r_t~a&@Zcw2h;9H+K1D`X6X-G5Wj%C z%3vrwMr?xkYNPm?f*JS)ByZqNe(}38kHCkQ-~s1jfXl+NKA(UqdUCUJ>09c{&n`90@-iZW#WQ%3&V`D+T-7A6ezBhlx5qMP-0BdM~}S{vI>&G>mH^ z*L4tWC`d4$xhEByq{{PN=A+#6?X-FYem@^Jz|H9Y$FXl`F{g*~+uNec8o*_*Uwm`DjjY%4Kk4-;R(AcY9f1vgr|pCdY=R4X3<@m3KRAawKTW3g+hceI2Y{k!tQUx4 z2{gi&QVo19O7?|dfUFMMA7cSx2dqF6-a#&=b7h`_Ll1=k^g*iIq2-&R^}`PL4Qk-*)7GsO7!`l7zKyw`Z2_muIxk=h~kn$+afohd6*7N)$DvL+=* zYHDi#)LE(fQ)}WE=!Pxupl7;go2Qn80quP2eIfsQWDA7?PY@GG$8LH+&5uT0t(DX} z!~K)V`0HWxp{n2A#&8(GS>q0JdTUwt!2Wkwr>zn&`zCgKe0x{h$E}a78P>DbRJg%P zs(*fJt+%#WN3FtkE!cmQPi1fifCctEdyYNd-UtHZ4mJu74Q>dQrs~HRp&P<$!*=A& zNYQAk=>5^L(dVL5qGO`Nqy3{zqt&8kA|FKVB0u>3a9a3RstE3(THqjisg>XAW^O0z zFv)mU59mJ<1u(TA;ap=t=kCm(t|0f*%sBDEuEiJQdSy2;D~rHaz1RV5;QwRrcE5+6 z`y4*Ru6PlAc(h6~f2GojtSE3Rto`p{L4NMfoS5@+BB&%3tROE9e+b6&x?uN^^g45f`b}IJ$HCP9^ z)dR@>YUN|tz!o^b38f$zL-p~XHAVWnpxeiA4zGhpE14Zq3veqqB{sQKG?#k-$a?1W z9O-RvKiOg{^3{ycViofzc8J1blHH|1lc_U5-oIB6^S)44<4|{i40r{17yw6 z@$)i;W!8!OALs0r!c=sA*HER9GA3|E;01q0|6{)G-iF>MJtyG(CsW=`c_^h*O6!z6 zQii6?PT7|dOdXxNJ~fxei!X4fCj*wy2Mn0y+2iqfpZ8Yuz33}W1Yx(oK_DZrKA?h{ zX+&`E#Q#$kulmP&11j*YGCns}8gH_y=L_R1a&Hcp3Lf}n)&VN~2?J`2 zVDm4s)>@lEhwsq-pVD?%$E-r!|0jhzf%LVXfd9|qZ$4JQHv6bum34v3gM~t!LhC|} z!ykst$oxo|Xy@qo=z{3S(UsA+qtl}!c<+mri2e|Hg>^#vSRq_7JR$Te{NZ6%2A?r+ zHdh)UV*`klS6@g3qpG%xYbFTLiI|eCfEoyPPh`HuSDlUGs(gZMmm?ae5%uiF9DW&g zyBKfxSbU%zU;(wr9LS+bL|g6>DffkwyF>o3p+OnFgnos7xq}0z$Ou1-XV^u7HROma zBvK?5VaCFp?uR|4<43uH=t>IS)N0sK!UA$Q>jR{2#V$117ohM85MUl0KxB6`jQVc$ zXh*J;L8kj6 zkvH?rR^W&iTR*3|7k|K)@PVW7+e&y58^amyB(DEBy8SKq_-17OH`c-w;%vo7B(;yr zkI7zAGp&F-=)|oU9nEYCWxcJ2tFgxLN{}0 zx?>Fp2FyPX12!@yo5}8VEBDB{!FZOSuuqqPiv0h|d9DRdI^y-1t)wXP11W*!MD#u- z;d!EWtEaN(uGAeV{ZlHX9B#Cy(GQJ^rrescIHhjt)YSZ*rk?vfPr?6Zd0zC4@eJ|| z@l5ip_LLw;;IOx+Z;LPBpXARGXv+$Mg5(9%2N7?;-YZY$|2jQvEH?6(mAGSXPIIqu z$_SWGm_KlTk4Mn+UtHk*SV;8b_U>SU5ZMF81^LvyEfS>UGL+f+v2Rs2) zSOw4#7Vy0N3JCBP_Xb#lC*TSy1kVo^3-xw5z^bqjSs1x8dPnr-=*H;o=vUFD(YetH z(Z11^ECMYT{W8)ok~cCVTrWJ8+QH3&Bkg6@DYLOT%cyEh!E3RSwTlhOM_tEAPk~+b za+sw=csqd99hn=gK!3>x@4@U_!?>1*v)+K;V;KJJHymI0^UUTu@eb5vPMqTUi{&8q zk=jFZt3Cb5yohIT{I|1$tMLR^(#z>3^}NdfBJ)jXBK<8u1BuDG z>-X+O*2cl47ZFYTft;@V_!vb}%aQSYB_2od>q_S57If=7>~$Q7F&JH(;ppfluz`H6 zmpQ8B!un6)C|xz-|HQ4>E;6fb1A8Q1&4^Mq%(=Q+fm~nQAKNUW5GK9r{gZ|EgwNvzyt@^qJRDmwyzQzgJmZttYv^ z-%cwB3_obM#S*A(=eBp_4P0hzVAb!hV8AyZ!29?D7F(NmSBTo)Er{Sh$!egN9Z$eo z`-okU+TS1I2Y52{Q>X)VL2e)tP!2EPwCL*S=IDpf*P|~+M}h#Iqqh?q_$~5SJ^S zSK?=Wy?|YCMy<@%Z;MC!8LZlwwCC_`bzweKK?fXwxo(CX%F1^4zSL6v?HlkQYpoZ- z>Hj3#{;!;CBksglhitHFdPRIJML>a^jPo(-K<&aS@EK9UMdS&*#ORH{1KSrC(3VUL zji_KPCp)k(c>!nOPHtw<7H0b=u=s`e#$G})MmY@NPOefbu1{l!1GGf`J0e+q(9=V( z;D({Cp9TSzpeN7ZrLOK|aY(Hqo0VT0S4y&yYl8*_InqI{={(2weuIqMcj0E@L6h}d!(<{tH5?Aui8H?+Kk!J9Y#bKhBfP&2zovq(xC+)_eh_8{8d&O? zNj}qS%$+f4n1S&B+a2tZT%w!MH!ceFb+~|=G2pH$oPOCpP z8qIE$L7Up>NTbdvr&C@@y~VS^Q`lSDo5%YzuU30j5EFbC`Ok&t@Gb8T-txZAzE^!G zd};oD{HXr8RJol0VxWxR;tb@OQIKF`0 zSOQnu*K?20JoaAf{tuA%)z%jBeh%ORSWYIu4C_^EDZJnptFo=Z6^3wcfN9(f@I&qn zRw@|86L=)pCbW=@zudy?q2TgOh;gG+swrD%h7Sd4o>Ww8(h zv48!;8f$+=>i(TRYvB*}QFEz2C{SH5&mGwcVQZbC_R}G4H}QeB_ygX-c6uJ!83qIE zj^s2)HdCFv0Er2@2yg@s?6=JF4fxlVg3qrYL*rop_j46GAv+@fvVylUSbZzH^lmu) zSa_OL3Y1m3v#|kovaX{#5_=Pws`ths5Z$r*?#Fl26Xdyxye=Oa{R~`fJAYE|<~ZM4 zhV(t?#196;$(JB$$B7DG3x=c<#druCW-19pHD43o8gF@T zH_u0@*QGw6QZwb7Mz1!S(r7`W%TqE^%BF5kea2IST)?QezPF6`H_r~wRH3>o_vMlzjim)_DHr5&`_cT4gOE8ZenWp>bpjEh27sf^6V` z-GSP`GwsFpPUOEanSINH)k34G3lIs<3SSYqFR~c~Xc-+89fssT7=4&FB-)R-U>X?$ zyCe6LA2=eM93C7x7z_jl+i$T7!EcT=e$sE%H&Vl`-J;wiM zz?Est#P|dBvI35Sl@bs9lDWPTM4iWMejd3HE!q{9*4)Ye zktkqOWT-u;@Ca9MF5VnBe|R4MKSev{1DTtH&{CoD4cbc}&r8~?SZ{NQLk>Vm~4S=sxom z^JDXKbECP!e4Dj@FPrmtotx~x-bnZi7CX0Ut?Ba0sva@R`0~ z#T4oS|7ukvCNPA2;E(K+)CcXuU4p&~8r%`2Fme9f;U{GcJQuujNJ7=C^o(Uh`8 zROSBdzrdHiM{>SIc0R%j@EW8347hq9SE++z0Z6T{ri}E>jB+=&k0)#RVL zZ{S?ViQZht-Uo54Mab?JJP~X0M{MUzPEoTeA3n>x`X0__I-i(A_VPHe;%S)OP~tl+ zL4;~Fxr6=v#C=y|%Txr{0?ZtRJQ9u9jbJ+suy>N!%NJnVLQrNZ_RT$fzcqML1K*J3 z~0ofMD(MT_{-R_0cpQUYVfTjgCdo2^*m=Y-WgK$z;cXH$XSJUy0-j%bFp{ z5)=zFzG_hX0dmJNiCatk&(&b&UCifCmHtW*Wn!RYV4C0b@AnP&)glY9fp>u?;@Oj$ zK@QNdln+u~Ntv1QaZ1V5;ba27=_%=L=N;o6?rjEFDBwLsHoy;_{NAeG)~pg(?=9o& z?c0V8u-AV_U_+p?GC=u4Q9#Q|aJtjly<`H+Hx!uv2h{c0V;(fO@#=Z1e2ikX-!}3B zYJvi)bu}5lIjmpIWUBzHfNDC~fMF{HOYo7gbFFn1pRmA#CHM~O+THDm_F6j+*+7qQ z|DWT*5bJ$wkP)0eGBEN{3Wu>%@4$OC z1a>zS%Ru5flIgh-J5?$zp8nHJz?FKr(_&6qZuoLuw2a&G@?P$^k^Fy*1HHKiTe{w! zRbkEbFifBk7*O58fIRwdLk+@W4Burry#UeSpR^o$vc4CrSim_BBX0Q=EPtnV z1(?-|-Pw{uNMc z2tJDll3yDiQ%%+_T!**O4<`^VaI<3%^kycx-VDKjNil!Gs~}t)11^jVy8eIzpnyas z_rOyZ-~+e?pXO}V^Y14Q-~@TVb^Tw10AAmEZ&U9#p65M1JPkYtQX z)V--`p2eP%o;u!i)&qpRwY;V92jue>gEd?OBJ^X8zzJ`fZ=dgRe@$u#RUyl$r}8?w zu{Ufag_YrDsQ~yOb^Ru?vj33zqxm!IeU`8mxI3P~VORqj%-!a<)ckv$6~Lp&6@C$J zu-4pe{$eJ92sx}|RtW7kzvk|MAF+n0GTB1Qtjq8Rj)Vi`3hLY?U{Ua7unDyR8e#*K zN5ij+BtEQn)J|zk#k5w+O|)i8l=^8ysF=1} zxej~nbrHj-Dil{~W(2=a&`l$L_eAPQ7|$*9z{J_B-m zi}o+8-{4fQU#c(G7g5LZeJWbMs=q`<+ei7mx4;a_6ZtqwKICQ)Zk|*7K7%tcz@*dY zfxDYlG&k%A~ z4aR+fu7xT0S^o+xGaG9{RrgW(?>go4KnLOg5BO{QxA~s*we+^^#eAGk4rJ>lsslYp46&AdCwYNC+BLc7$J@c& ztn^zM@=^u3W@J=k6B&V(qBV&8l_3XUP;^zaVB@Ndi#I+V{RF>2<>%a z440~@v{5GTIS*dvso17cxoQrU{xGyrL-hV3GD(&wZz|K3Ny_uEh&Pnw${J-ed;d)- zz!h(RZP4AZSYKw&zRjHY1fKidA7Fq;e=a0n?zmV4NiT+elbQwP@L^SPc&glsvm*Ml zEU~VV^cMjMVayGv5?4VlrsvUr#TT#*J-HkinE~5= z98ZAw0&hf88o`;R=1P7%b3dcccQTX3v+BkHCOBC&ZY|Jzk)xp?!W3r|7sC=ZfTX!W zkjD5GMq=|%C;xB`F~<>bjJA#q|0dZ<`8ktL=PpWr#+`}oRw{_QQ5Ksj9<}P5$SqM|B^aa`^kF!flvIztIhf{>fVmz_uh^N zv^pM-B>ga+g0*-F-$5e|!e4Y9*X=M`c^P_R5^{1o(k}T&CCEf9L8PeyT(JgRzyk}7 zV%N0Gf&td`GuH39lQa} zyq&!FdtdN=;63XN_y+hs@!9^Z{`9~%f%<4hFS!P-keAcSgZKmQB{OiP-rLCpoa<=v z`RMtFkn@mPho(^X?|QSGdCK^f6+?Te7gE-206L_>5_*|^`P?md>T9y~8sdnP;SkNO zmx&Cf*!L0($V08)dBKvQf#d>sr~_7=6~SLe&PGZ`%SMYti$%TB$H)n&+qg+%U*jtq z?;t-gCHhgsio6=m8MZ@dWCYH^@@Q-hGZyRHk(r0F`Zp=>!1>n^(U6SLk3oPPXz?$x z{5vTMl3z^8t^5)=5coXsVPJEhfMP4pvXbk&Wm;K>f)%aDp&QgyE;z13hgf(B)r47)s_$KTiIf9IRysR{9@{s2s% zCm7Hczo3oXTn}%+m3l#Z0Y72~d`@1#0{n23vAXX^W;;01fE3QZBEK^)I`c;)dOIT{ zHo&`h0VJX>cLi}h{gRVA2g~ylIMi;~!g1m=#qc8N_!NedZ?Fw*e>oVRAI`A~CO;hS z{W3BXtHMg2K=yxN%~~01(YB^a?GV;2<9?IZ8r6&f#(sSj7%&FbkPf>@1qBKd{oKpCh)=Kv9s%7_ zh&%oYpIM4t9*bY7C7Pf-(l2!i^0Df$80!@)Ff(ey1XOHB$!xyE;Q>R4PfJ`tFkmWU zFo%(FF~H3fj@K5JyL(B7;uemw1rO*Fj`T2AMLzXSrK3_DKVa*?SN;1^Pz`K)m|K)szeEYpCyc4{Sc^~$U@(xAXfAh@oOe7EB4f27$^px{9@pc3$R(Nw@ zKa8PfP-TC*f1&@Xz+-{01I3lAloHBG)(Dklt?;kPNVN+5?pA$|-kA!Zy7{0viKyUk zbbf2Iky+3@NM+DH#!hO4E+SuWDt7~Zhsq(}8ab&8R>`blRy0eHvHu+vf|v2BE5U>1 zW>r=V%(qTjjqUM712k#`7ULdZUxezh>aUz*1ssC~6o}@C=3{lh#OTpzgT|r8*EcTG zcmpwkYSE=w0WXD5g&KyM2iw|%tkvdKW=G@y@%GlyZR<_9e+*ACZu*B){}G;>jOTaE6`02;mq}mvt56%KXJ!)m)8SZO8>9_&@vTD<&c@yLgVsA4QfON$4zI)Q(@0j&LCo4Na~O85}x-&H>Qmi~NN zGDa@A`?6FKHHiNaL|wEy7d8GsTh*Qo%Z8c;YG7PLY=9ugtNNH zyXd(gAQ1T<}VwK)1(Bk{HiQs1+?G6{G=RSh)^Uu&IQQ4gnir<#cz za2!-I6SUBSzqbN7BM0@)J2-(|=uH}fZL*>jzXy6>4035f&0m;%CMmOemJ>lDW)#!H z99gQ9lJG`h+?Ca-1zJ&`TAbj>K%Fx?&{MM9M*ouo{&0d868O)SQfu#+<*as$>okvg zQ@{;izN=0k12n=7pp~3b-X{&k11zcZ%=z7EFzq{?jL=c4Eg9s6Dv~bcmySBUu!Ip} z53x0`H`4==KDTm! zrR(}aMPRYHA9?Q!JcH%Do*rypkm$Fj66*xEt#+roJq#Vfcwy1G zRiFDM4zwuGGV1E7#NS}zuRT0j4No{#ayd^CVllPn7rKB4fjVFt zSbZiHdM|$O+W0P5ziVF3aw`M8rK-Qh-FyO5H+6#3#6RtjDKAi1U?Qpd2$QGM6{M%pcjk|Ri znBcAFD%`*-vcNE^pK2Z(f9WrNll@>E%X=~{`k?C|^QlC2Rq%dR;{O+{@&_JY1M|nJ zxEF)bB$o)}fN;7UjX?2T$N_`tBw22wfA$aj!2uQ@V9gF&o`TlCVryIRe=@;wKC_C7 zsVTL^HT*y-Q@tKlnkp~lc5)&)QtBgBrK6t%W$++rlXOBlEnSD%zbxJ2^#y5`R6-i( zd?(Hln~LGg1nm{Sh$Wm&o!gvQ$rZn)A@W<Id8v_$RD2fXqs`XW8GG0=EsRAXm&2s}Vp|3ZJX|Cc{$_$U7(|9yXY zlz@@pcgX^~(FL^#_k<@8U+T~7Z^2YRlyO+U0?!z#ja0XK&U2TUVJDew97nyr50t)@ z_@6}lt@INC(vxjKUvWM^DVofmiAvB5^V^qtU>PUdQSx^T zwXfC7`lA?l0mt|qben>h$j2F{!ELpst{h3nY7q!}2lv-eFz#6tDVO+nXFz2$4aD0Y z%}X0HMKdtM-((FJ=pp0(8WPw}?YzpfFpvYRTA(e_R~6=6^ppyqfW&mqtQXVBKpRVAr4`aKDOyU8S4cTIM0PMU^o%P1GG^)L z#O`8cdIcNBPomw~+quJ8M2f^2;JmCVGnBK;1imB+?xP1*S2QuqD^jN*NaT1@Mm=ONvEAP|Hibi97fOid*NKw`2Y3QEFex$KPZhzNWkpB^C z^+m+;Y~DLSMi_&WVj9;I;&-OfK*^=V;H11z-Xh2cTfHc(!m5L@@RB|3)=%gwt?SAO}qMj01~zV_vK-6|x(Bkc9$L1yH~} zQ~_2Uun2CTK>{4WWw!K z+~3{VnMTMB<5&S6a=YiNM`7R83U*H1<#Cp(atm?1i+}H{h4HJHrLD$^dKb*|COGSB zC{;?}98;Z6bpawjjo0RFgj&Vn{RoRynbYf@dWDK$7e4lD@wDF*s1+`OSvQgsT5&(; zQxmH(o&#jQ!Th~GdLLiO&CAe>c|j{bsn4w%pb!0^VqpGnV8laysw1--08SG&X z&X?cZ(;ZxPS4!6BbchSoirNWX2RnGuvChFe1QYpEC+*R%jQ`k_>F0W*2 zpq=xrI8*E!r~*>J0!(+FM+dY<66Bk5O|}PI#vkZ5(SA_b%l)nKy<_Fea;%)6N;y{P z?kWY3GZQAJo975FVFq|kwMlq=w&`N}AA zVhu&WhwU$Bu?+G@gtAaMK)(Evup0x6Ny z-uZ#KzzJl5^C$x*I1f5MIvps1)628u+)97$=ULq83zT_i0&6M3#K$6eBq!u;xh$Va z=33%v$(%rxy8t*~V_-{&3*N-TG+sjW9-Y)}p3|_ZiQ!RGfzICJCU%|;qVu^|>QX`F z<1Ws{ojn8$;UVu+v|J$$ zar#du9}FT3^hW`Z+w~L--(D%t`9BjD#gs)^maE9k&(|BgzXt4Z1GFE^ z{Eoc$|bq zvfM~w=@fmT7Wm^wRFtoinH{K#rsq!%=*t;l`3U@R7W>cc0n10g@*0k!!mwP&*AoBp z$rOF)CX@<`rZZKC+B6;vIuRaguiTh3{wn>zPB;XW!yDWuO_XA!GThS*WuIJD&L@AA zx=WXwit`pT!GmxLeJ=X&1h`8Vu&~q=EwGn+KP#tx6&?+hcA(r6$~SqH+(y><4x^bA zs0uF7sBhMWRiX|GL0d5uRQQnI=_~O48lIy@C`CHbL0v;8*oCHIDPJ*^F0Ia~_MQ9U zF!kYi)P*u%^U)KbCV>mEW(!+`0zP{i=-2dc971ZFug&4UH@=d7KbwME;1%488KCq2 z%;*4HGZQ2-6Z8;#FvOqC-^e%Jj5K!Zr@T+WbEVaWo{8==@c2(*^R~nJJtPuegU0rA z#Rkwn?STr=?Fx3qut%v9o+?pXxzc3E6mn8IBhKnFSYW&SQ+C1&F5vGy!DFwo2EL#j z(O*zWrF?-e`3!52lsr&Kk(A0zW)4#3k}-~f1(K4No04Z%pgKOyDewSS%5-o*8hxTh z^n%-x^@pN?J4hw)8%F|>=xt5KJCVEp1Rh+Oh^3xzU0cCe=h?z|j#GD!ClU^R0?L+l zufJ)-IgC?ja{h46*N2$?lUI@`SLCti zjjcUHPI(HS=}C8BqRS0>8_0Q;k?OCmrw@IZA@oa4x}}NXND|YlEky>`xhGUkt-@Tf z2b@=P0yCC%V24+8?>ga>gQ>ehP!<2ys^TSd#~Z3gQU~lcs^AgU*0+;QVGr38_7%tQ z-2MjsEpP%w;s50D;P7|;oBkuX13Y4P+2gK z6k)M+17^e3b!3*h2D=iIut{wS(ff+ON|l39RNs+qz?;06lFI^D@|c`bQIuAo{uv;j ziQu8;ij(MnDxZ^&%BSS(ao zRL8YFexB=MfsVjWIs$j8Rd&%2n8I{Gdz5??=?0Vl^JFCQlY&+<1vI@?$bLiNK6iop zzq)f$`BWqSEno-TCGHc^7-j0O=Z3cj9!iH6N#zkPkPJgo$;ET zgWr5xy*19$<#4F`$ZXnKK6l0Y8iuK?UWOM1SK99SbndZ8Ubp6B@0euk>y^Dp*)utW ziL&2pvcIfGtDnd($+Tav153#^UY>_<=!Z6wgF8|0vj+8nr;4SYQhw>p%+q}e3$?i))n$}s->m!R{1ztAeJpFiQq}|zzcZrROw3& zI8H5)4%cQUothRPj*-kCZRK2e3Kp=OY145AIKXj3z;sus14>fG_eMXrn>`G_P_v6Tb1@te$pn;!@p(3s!c;sXnzz)!(B@CLr(3_Xk`^zr(`2G$Sc0Lytj zJ9U3fDt`|wW(B6TD$r77Uog_5k z^#?f9b;Pau6*yoZe84O8X<=GCOyX^L?YHU&`ia-!7ssd#_)Su%kN9gBQkT`@FHGvW zNzUzuJ|m6$F)aORPUc=jvW*kx6;7mkQI9NxZ(2+zDUu%XesI85_<$Gmm;b{C{Mk(q zMlJB4si8lfLOo#y|KtH{U%9obd{Q76OeG&!6K(^*kkvsDNx}|uFH5dOt_#Wvn7{@~ z7&xG;l33X!*N~%8_Le5zCrIb11CB@?=nur>1bV>P)0xq^K$OL-Vi~axis6qq1*fDc zIE-URVJ3r8OS7f4a$WB7?eZacgM5G*ptk%$S|yEGko>g8vHkV!}|O7`_ix@V2FPsvqERV|3^RsWBq0Q zt9&obAhQS-@}0e7v=!=h&v`n|V_@Oia0SQGp$&(7`2jPtmNR)EY~V0gXLLQm@F!!4 z+9$98mF2=z0C%NB(k>K{&&dFO9FuR#zvL{S{4!kGa!Ow12PgkjSe4eOuLj9;0$1mZ ze1(l`F9Q`pFxS62?7=eSG*>90D}$>5y5kDy4tkM$qPP#v!V5j1CP~TENJWs}6xe`I zsI01^n~5Y>es$-ix88$2jCa_+EWKy;)1~}jB7w@GVwbw z&3W?wDiHoiye3<7H&i6{Li(Z*MR61Ui z!||Rtj|1I9{f>T9|E!ndD=QlXj94a8>*~SO0+HT^xJxdhhxi%}@H*O|`&0ra!KWkD z<}h4Y)#t?jA12GrjL=J_gQk+b3Ze!+3Q8YKW!?--UyQhn;l$rU?9YUAo=X3D0TX9i zzyYV>g&t9jex(xl!vA?&Z`D=k6RHPmbaLd2P`LI3lUhDU?lgl^|0cn zF+Ztj*iSHRSFr4RWsfpW=}H~i9DLqQ@lw}r=1e0> zida~D%#2Vmv5`0iUEoS_EN@j7TcH&U0uN-8#!HFhdYp4>iT*vjuFu5L5UH-z1`omH zaOS_|F}MgHa`|B^AERxt+}|IN39W63mX>~PfD@_5Uoivj`y8K{4eAXJ`v?+>CKJAL zrN!H@Gu(JwSZ{X*I)lUL;B3-LdzaxeIwqhAh%*M5H_XKNfM;Xsr8Ca|lsxBP` zAIWa!bM%Tc(!6l30C$LVFEWL1!4VJ)(o_P;{ZUGle`p1SMwHs+fL5Rg~a#8%DJM&;_Fto1^>j z(#mjiH(X)Xtfk(ZJTO7uN#w`jL!ZP*Zxm&_>=0umj`U58JjQ)6L1jHiKgM30q~6(D zY3(H}z$tnGr|Af+fRUL?@2euUZCccT7wO0LK&6<(eVOxrBwhW+oHKTK z{vX`qhq=RM(1{+7qGT+&e;zqtEAes;CF*1H|BnD0U~MR|ys7?dDKj|{s&Z=82emfi z&TYqi+c}U4tZn7}c|@Qe><`jt1FDtzzwhV;cBG^ASlOTqhtckcu5Cd;+gh8`Y8!Kc zCyD=u`2SBu8@!Hb!64^H@fr+Z0o;RT3LDrL5GJ-4I}!VWm{Cm39-(HqhZUk0V7?gs za5UQBkQ zI=Bz=oU}lBZFzar0CnG?FLM(%<_^`%6PUp>RB7YU1eF2@^yPg2K(sHSAMh6y(@!ZQ z5k7#pz9gTa;y=lz^=GJsPE!~30vnV>S5a8@^40z2;qnNs(6%ycNGQ$jg4(RAFpm5q5@bTCI zE;s^*8Rsqnf7k~`@t!9w{C-Q$`K@Tm@6n4(!j|b*ROAVnB9WOb$wL9KmoCApy|S6ioOx|$xnJ_Bd<}|5Xld7jWcYe zJ8z7`S2lxj4Zr#l`USRGd?c$B)1DFeTVNU2aqY)agSlW~;$dUw!ESr$0saKloC=_= z8uT?{VE`wCQXa__LeL+D~Trr-jo=NEh}5eyI)TOEfjW z0CXvR(W$J35!i)VtutM!C9qj(xSwyq@gHIGKaKOUxC&3u65@KHreFwNg>6EdAd7Ag zL1OU(&LKs`mbitb#VP2ga~7xIXwJNM)VcfUlYgKF&?UR%MQ1Qy`X%*~Q;=;!VAgI? z+r|=6TllMoQ1iA$8CL-=JS#ed47it7;J&ZOd)Jg{RMT~+sfW{rf1?zpLSD?(Xc<w7#b zF^ISyt~x*6<>9|4a;ARp6kvWOf_Ptt^7Mogh5 zctX!*4Bhg4p2ysqy-*1jM`e`sUqS&Qx;rZeq*Q;?%Xtc0caC~wE7LWr$zF3o1LNTE zhX*>C))aBAz~oRVe!I*}^8BLD_knXi&YhHx7|h)+C%zJJ_P0ipx0$~+IgET+ROWvs z%!0InXnN}~cUqZ#U2APByXn%Q?x{*g|33TXx`FR=g6caOJ&c~b^f!7LUNFF2s{8@4 zeluVNV)frtmc z0{>h3mizR)dlUaT&^cV7U$KzxYZLk|iQMO4>idA--Sp;i5&!Q&n)^BNCxS6Mphj!M zDcys(m`HR)g4&NUTY3+d@(;|CTANDJ(HF>tR@mBDYWWB#U}NK-JYelCt_$banA+e! z8;e`=UUd{EMNu8!<>$2GzIud$XCN$eU-;_PX!%d0<5|i5msD9VcSj9)5jJ3|GmG;D zGl8>2Q9LPB5|RiRg!*^}zY&7PoMLiZ#Z!po=nh1QFGZJgzB3=)1SeXwe8%Im6(auc)oUGVZ;9!JO?CSP$%NeeoD>RKO$uELWSbyqmKy@59&zQI+<(WT5vW^J!YWR2ZPI(N`KaM);f_xt~^a%04mYvFn zKm;?X6bv~xoZ$y4Udk@ps2gg)k<`GOsR_)$K)zxP`SJ#R!mLWD;-{b5i&>+k%3%~% zACwEWOu*!W!Hc2>u+dGK! z535g^AS=y`Sx3}8!?oUY=VYe5%CP~i18Sc^ME@}@h|M%pysPQ>C7{NiqTlEIZ-%SH zNTaXO)Tjj(sA`mg=R1S<>Fd+1$X zqYCX#%Wjpu!2hRRlQbFmL^OG|RYNJc|2;P#t{LIT#yn8wC8gq_D z!yFy}J70qzy99o zXo+BE+v{141#Az^Yue3P<~Z}JS%!{4Mt^f=g(ssBngb7T9gXl@e{w2M|M>UIF3SU;0s=&upu0S4WBzL1e znohF2XsxgC%sgT%b2c*OcyLJy^8G;cfpKABoGO>y*+9-C z>3P3LEm;A@OC)iA3mp8I>5CVz(_hq|Jbv)_3{U-#Ot6nhjP9IN$^wJTu5MgHaBP>Esu2MgDf!h8JPM=&Lc@cssDuu`-dR>`@D`0 zpoN_<{Y$7BR>B^fhD}V(Z{H2JGg{4~d9`NDnXX2~y9bq6lr~tasR=ylqVpTa``1AJ z{plEI)R7HE1F6;{x{v}TN6|jE;i2v#?(`CRlRYtSZirLYj0TyT-3V{<; zr1!`Hub8v@K^907m>^D14gCiVlme&P;I1UjD-ZXnPR#qs29|HKwLMWH-((DX3)?V` z$<(Z(6Jt+tU{CWLV3?TUuWejN|#eoHmQ#@z4NBHMeHeN5N8R0;Tx6^ z*Py*ZTCtRvUi>9w5}Sx8M4NM#GsYPrO_LIE+T9>Rn^9dGgwpRkHPcBi<-$PBy=z40zzH;$MOW z_^SUPU4WbZ$0&kl`hWN|s(=jUXybwYi#-9c>LqHOza+{5y zW^2yF+6UQ_ib{sL+3M=ely73!Uhqm~6i`7ta?#yO$KQROzwa*f{dsv8EMObX{Y-M4 z^iv8#H&hIUYP2)TGo}em zu*YG3F9%pmD;EPbufxM4JtzAhcCue2GG5V_`l+TsosvciX2QCtRv34M zAZp^5Y<&nK4ZO9LND&-@(Ad6B)+mbpR3H*mRAc?MHFWKK7{wXbLO5^<5Y>=^K-R>I81%h z;?VIvCf-+a_E*47q7L|c5%@3#j`Zi49~+OG%t8GLzOq%Q>hBoI&5UL|-cr4&>qlD33KYpyg9tHz#osvy1mG7 z+39$`LD%{OTyqp9aA*7vUgADFfl22E=$lKSxwwf!CxTNsgbv^bdOX(T$pYq0`r
    `WSq`EvnMzXoRfU!Jl*pt^LL6U*6 z-`f$$1=g9RaJNdlR|W)-JnSLgsUP=I2AIIj)UloE1=OW;T^~*$lFIWPUKdkfxrcIM z)sptG9r%a1R{R_H(7E9MQuv5h7S@9STw-}K9|&MHQ^FIRDWoRSMmk{wxbsVrQx<_> z$DoOkl`rxHs^5;%8|M-{M*BM#Ib)qNvq#543qI=MzvUwG6ZVhSLWx+Ix}yu98w-2b zh_?$dt$fG18RgMXHj)f=u5{jXrpL!*9UBUJaaNvIj=7eEwPfb|EDAw18QM{AkAPRm zaGuo+<|s2Y2q33_1RB7s;c4&&z0F%sK>@?40;>CV;|#E!z2OP;Xzh@?Kj03S!hMu} zgpcg{glwCQKFbIywkR}~v+1u+q%UdBUM)p|A%uMk%n4P7w>YmXp_f-%@u7-zlGoBG zZ$Uz@dE5lqER;J2v{f0YiHd^;RIp5V00a2R1R!QWn5gZn_Jg;a0V0`CL@y(Et)+*#n8zyW>W#3N$H-Q9KzT>0Y&I}O z63J&)!u8)*)57vKK#_MECODI~EGk_)n;$da_e13>8?&ofg~^bOMq48U1n^$JK>yF$Lvw&Gz*jv*paw9>0ricB?36I* z7HF^q9`eO~wpM+|$M&Z-P|K}d;kR#&`sfFW1WSK-G@!wn47Zuz^AH3OLHz4_8#vRVx>iBI?U9OHhWlii2D;fH*F|CAB2Sq;frA zGHodPLaTAl7G}cT1Peql+k2J@w4`znbb173z#6=Owy`Pbjj#yUz;+;j_Pq54Ca|Jd zQyhm|u*bRES%z7n1gPO2aW)Snvz$k7ybFf0H{W*)_kBxz$Xh!dPCJ_gMmUc+6G~;l z1@o9HT#VY-F1>O_(sOK2M{zBVqvvobnN7^MaBBFHzr~UK9FH5g6x#4AUcoFvP3eGC zRnDvA0SR3So8bnA^le@nUCl&zhL&bBAVGLJ90Nc4Z!jlx4^_ZG ze*%AV-#N3od7i!DpS&luHR=wOvcsu^U(g4v#P--YuB$}9<^c0}){c);%y8|5f4j{T z`hBK$M}V)AhMl2%TMt&{EmhQ5YN{qw@u5m?6p>%$Z*=({!3oX>wN&NYw-fIb1J!>m zSb)EIQ~?E)l?(7F3iIMagWZ{{ID#I*T#(T=^1xeag0kf3k$9234X~g~z>J?=!Qi@4 z%$3KW4Q|O9^ULjlK|2LDu1Y6xD;eM&wQ)9TVHX&+Dv?r;cxa&2CJU4&FZ`rSuudIH z&5%sp!%01SaNc6vn*g~5VbZ>2y8o(*OgY!QN@xPId(L%GPncCcH)H8yOPwb#w z%lW@iKdj$o2Tc$NK!69(4Tn*Pj^I1G2T%1c^asD|`}A7+BNXXRaj*)~_LA4!aGZCU zew+iVxeOj-A!?^eXaFvwUTMSZQZXhQ-fSuXh5K&-`ghUu%Ek`A zAm;Y7k_F13+Ocqel>>(U-`?Ops)2KG0=HlVtp3ys@W4m-!8kgFDX3g6JdlOTASaJJ z{FJ=B&O@CLOa+h-&A~3RO%?Pe--*&WV9cs$Rr zaSdwZJT2CO^WO#o7|GtydBSSphLA<9%6z~zVsfzax>G4hfOokH4!BpZtKHn5yA_txY3*~9d8+uR}zH;yN%uriuMez$UU~wPn zF5{?C%Y0`}#xHD%Kh9qS3~-J)p)LNc{(1gp>Tk) zGbqVW0wlnN@d%aB0Mr2WsjS*i@pq#G&=LNx4Iirq5-5-IIxAIAF>pXNIDz(Lfo`yh zgXyU(0zo`vh9E>~jZ)wt8Ltsak;7<%KDlz!t&Cvi<9k>Y6!Z_=`RO|CW;e6RJjw$$8IoxD!QAPbT(eqvl_Mj=v{!Jq5ilVFN4=+Gbi4tvS8A>soUrdWOU7 zx5G{Hp^?}uWL9L${CV>^jxw{!0pE?OY@Us0wqyg3o$R80jQeCdBfn7sB|u?%1kcF| z3#lWfk|7T3yFnBo%#&31UWRRWM`o)B`}Y)W!UVei-H3h5F}M-xhR?Vk4@0|I95HtYEpMgfBMHJ@lRK8ez)RrP zdrYMDqL)<$?*F-bm7etjIXifuH_Sjorrv(QYFEHJtUSIT55+3tJK>ygU5FNL3+r$W zo?|$!yDnga7tKIFxy9g)#lfVKl;9RjY(eMn%o|UKoTXDXmVmfCLXM1g)QIT$M z9wI&gNb(7@A+hK}Kcfsy$45(}5I1p~XhxOL4-RO0Kq#QRvx%X9(YJy zVC8}LAjB^)g+DtVh0Y)FjgnBSo^$Z;JT&mBtczgy? z59Cr(D!)*xuBS3RBe|vJ&NreizGY{4GEU;V!Z?@!2QM2132a`^xzCwj8YW$Z-5V(< z#B*pV&R`SK8iz1%a05*H4xh1YI0}E~tG9|9U=ClRC-&e&TGLt9nb3JjoJN(ALcAcX zLT@xth!7eJl8{4)cRX>Nb1ZZ8bJTVC9F=%I&T+@#6OIa%$Ru^0@0{zUF>+6(xvN@O zs5`soo9BeuQ%lQ?z(cPO*RXK-z^-f$iSpUl46q*^KplT!e|k2BrRL?MFOp3GgUrpw zT78;#lC~S2TyJz+zsT5Ksn*Vc_%Gnal@Io&I<8o z&IuG;ZWzI6aMfWLfkD&)RmcK)!B)@c4sM~_H$ompA7d_fU@?lo8C>rf@+eOGzlr-2 zfjXc(oM{zmgui*Iz}tQ*h0a{lx%3ks%eklo7LZ+Ya6hy{Eix8`;(1u%{OG=JhJ`Ra z@q(Gjq0FHt$F*tzr|l;-3;wG*an+Zonxc)THXg*TwoX*YZcubQ{lfWpt>mB^Fc7{f z1}3lB@AZVL{scWqEB=#`rM#T^UHR>15!nZ{v*hs` zFnURt&NV^z!P?GfML`JQq1e`d>6J@!h)c$1;ZaWc=7OHZYLW#`mxzBZg4 z&_{5OXb+w!gTthq-oOj3J^N<|fZr#f87p9lW(~8ixdr9eLNmf_Y1+(3e8z7ir@lX^ z@4vI_^p4ZCwP?Up;pWdmDUT=J1)&;y8`+*?>=u!)Ifu^^wf}5xqtR@{p&KH zWbHw*9_c+ln7W8$jwPI&dK>;|Hfr4_F!h_1gm#a8F6JBt8Lps5|s0JodcP^%*za9o*4`{&3181o2EkA*~R0fZEJf${x ziH`U+cZl`!l8-!~lVCaD_2pho>Hg8Sn7ZLOmg+5aamhXh25TBG#s=&qK$5gY-qJ&2-=kIP9ECLb`h= zIKQe8{}ECWX{OVOs(3#>qoeQ^IEvSB5q!pjK^F_q6BZ(`%oOUvGo}{4I4-lJWPqcN zqr4+Ky94GH!|XE);Lg>@Z}>;mOL-(-r9I1i2qk31~2aJLwGC@D5Hy zckm``%0O~}f(yV~x)x{93M`SQkp&hI|0}q*OZaysI-m*Qg1RsP<>?QGpctr5%-7*j zRd(@yC?B!7!4c$u15{}t)Ku%aGlJ+r%G^7h=;|IL!&jpcNJO9cG%k3J;q@Od8B+&T zdQVLb>sJBX--o+&ERT_7fSw@e#wcYYue#?2F0h&B?reI92^n?_xGb z-e*#84d;CuoO-H&2x@riusdoK`(rCJ**BTZk+azy)r3x89B5z;nxA<3f)O}M7bE9b z)4CP44O(9BJSKrQqU~R7JV)76!VEXN6aAIV;$~qp2ilM|Y@aVqt$z$n&@%X>Gx|NM z{=51SSpO<)wapG^{FyoQpWaXGvbH7z3o=pW)~>^6W>ODOOS$j>3nK1c;C6No-LkcD zXdu(gx!4;uAB|ak>i_bf@)+3v0r38XIX7OB*RR07ouY2u502c)>l1X!AHn;?vw=H1 ztYG05m_J#J)M;Y_AyC(oEahu5nMrAaD(dLHV;e7dYiXz@bRNm z56d~L>Vp6tQd8DtKK(Q&OkFVOH~MgKQUT7Lj%b0be9)RXmO)geTj1jdI!}su#r>!N z?g}x&Qb80hu~972ky$t+j1!&o_ZIdH@ID_R~q*on7D) zzoQ%;hr?hWF;aX13dlrNV4eP{#bZKmHWa;c>~TzUbauELDI7QKo9z?rZR~D)O8W&{ zq-~Kc%68h8#@^4K+_BW53$a3kn9F(1xm!9RUs9N;3Y+L|2>!jPwxe>a#-8Cy`YpY= zanEQ?M=-*7+V|Xd&$rgsoen@XUkzV-UpHSB-&?bZxzaeKpZ7k3AMcNbdn^-b$vpc4 zkx&_ZOnW%oL9jU0$pzM)sB9pCjGU3>$q1ovW(nPgnYfTpS?nOUR)D|F;fli{Xg10! z1q}2MO~5whfR>RB7f{vD=lq||+si;$QDlW4)JPSm|3wsqbx{qph8t)C_9{<@Mo>rGmeU4!nl*g)XG#+Ap$0144CeFEzkCzs$9L+h+l80PE@p#muw-X2Wm5BDw%Y>559F426%_I-qPNCcwNWCYL+02_QRJXp2)Yhf^1@%eIkz$OfdPlYi`m1x4M6p`tKuW zv85@sCd}Rw>HEm*YyNqx06{L}1lfu%=K`7GC2Ft~a7+bY1+8kJ2An}#bV38s4o^lS zzL1z+!*|<6UAO~;zn>X`qnr!J$Oiv;SROZ))74t^^@DMrDDV171<(<;`V0uYBwhG5 zDD^thb&r%{@%qVtZ*Y3Df{V)Z0{WesxPpup9|@y4r56a3*&mci*x_jB=<2xP7%ha0 zNpTZ@=nSH3;G=IpkeR}fQa`CH8KEW4qXqFEUcvqW7kfzFlL5wxZF$TD#eZYAaHrTD zRB=Y=ArugEGVI; zkP)5I0Jwl&@&sk7YeZNz{06RiM&kW43E!7R-m-LlOBi#E?Eg#(cJy`inZC@-0z752 zXpk?J?~S=0>^GAP@Rl>DuC|Uz?kTucy=D?+U?B2`!QhNQciV|suF6cL6$SbK!l5rI zvx{ZXcKG?o2kP)Y-NVBmv>Na^nO)C$PP@|yO{|=gBfhBk;L3G~Zl$i9|xur8l(2@aSI3V2EHqaMoW196;2^=PHJXX{-;$zGWC8YCg)$EQG86NLMAUQXM1F<_Cfo}v`#oX zU?PdJ^IklgIMHj;ZyQe>PUEB(^+ftJQ2%@HZ*LO%@IJOif73P8`t6N6bms~iKj`3f z(X+tn*u1CVJj(`rdv?%KJdY;Ahcf80R?fTKD^k(tV!CIbF&mUP6GdQaRK6Y11$Q@U z&<{8Rs_4vK>Y7yjo%CK*{NZ|9{SHw-ll_(b@D1t3EP(7y?Y%+eQi}S~r$%#jI6;q= zi0aUP! zzTpngf%We;&WR{;#bizlYtv0i*A;$>L%9bNl~>-+#7-Wf^a5S_?DXWvG7U6YS}3ih zyWbT};9lkeZs7>9R%jr!6j}=vgka%`V}YZ(Lv>67kAD(Yi5i>3Z#eHcZ}DADqWL)h z&%YX;Z?WJd`G3(djI%$1L&C^;hF1zPZ&RtNp3VW!jCI+-2yU>iPOk7xKN+bJfZ z?@AtafXrN8Me%qpTSR)BZ+HM_;WpwQv}Ec@<3HMjKFop4vzH1*=g6NMN5;%;O~U9E441 z%&b9SGF{NWkO69-+0RA>c*UvwSlz?b8LH>+Mz9|GV0 zlKx$OBdKvtAB_UHke&}bpuoj-C5nIP^^Glb^==sljA;g&){cvNpp3uiQq4n$vWHXp1$rJY7+uHjW4-eMP5{r*_r2w1IoH^z92Xn|gi!Ie*vL7G|J@LK&rDSNzc}9?GfS{jTq-UXchSE) zCEmnS=q^42N5v)LByl>Q*-97LPJ7*p?yP-g=Pd1ys&k&|F%aux(May3%+-LmwwA%l?SekVcp$!{3klYF13I~ z-r%hUe=E`Bd1jP^^=U=Cx1jPXZgDjC`Vx|<3H z_<*u!4h-NhIsmg^S%z}Tcc%95iPm{6xnVkppc{37r4DWi9vIEnEC~1rG~%NT`B-Z{ zZ+(0wb;B0aMVU|uHiBu4f-B0wNpj4Uhv~1~I0Y1hu~-NSNC1jyMNig)xxoYU47#Je`;N}GISyT?`CFU+gLVFm4A2NXl8?&#BN6$F zIsNuTQ4EY<25%;mbt1j>d1QdIRM`cY%sEJmS{vbqqQ*&Q97L)AH(XpjynIIJ+rj>o zaDz!?I!wVVV171^G2Qo#k!&)Ve&;i|#-(TuCXwf^1$v`)oB?9Ba4LyJMEOz} z|4lFm% z4`W`PM@=T*8uH9GL?PdTY%mZ!FrUg`2Rhv=^wwWc4J2VEJs0001ST(>XtwHsu5^Y5 z(cd2hGdvz;!DQ~gsR4I^X+-@L-k-$Bhx1jIyHzQ8s_XdMwS=iV1nRs7YL9Vtf{kAf zKR1>gAhBXBf8L0WJ{!7P1J@jw6o!j`{HNeH{}WBORTH|CYR;T-YMC z5I-{+9PE6FcCfct5AA?XWGBQ);I8mZC@og!++RpWcur>cLjUj>vALAzS?Kmb^CW}{wB6iTV{~|qtNA{O+)j9ehv8$k|xv)oe>%nTF$n>me;-s6i`U` zAY2i5IoC;x@f_&la<&;13Z@JIRsSBy(k zf!mn$?uR~XyIxEm>OIJP=}-rd$LA649nr>(L2J8#Q*}39Mstbu;pBmeaDiW`0@4yC zJ^B15c%I=XiOcfQ9rO;vP+T16x;FsfZRI%)q8GA}+TY>;7ZTY+U|ZV;`u%-~>gizn zv7GpwIrD4r(P7LL%_7q0lPUW0wF9UK2J&^5tI%>D8|W$|r+aJg49E#`S&rbrz zU!=$DH96Z?Gl|z9ZT?xIJ1T}54JO+gMP51c38#WF4Ip+1G`gKlK1GK5OJCJIsk{g@3+o(snrmG@1$NR7Y*5g_$B zC~CGShv*Ji)xalu1F2CAS)71?$CouX&=fU6CwKvCmUtj_!C+9q(7?lbYY>nAe69m` zWJT~pQtV@l?iJJKW5 z3-6^B!q2r6(_I;u`EFwj!aHa_GhLf`Jsifj5$etm5a3$9JauClZ&htJUM{+4ClOGI z3cn&}{4nNaPqO3f7S-KcBE2KAQ2-Q>lwO$%CRoA5`eri5FizjU@O<1xr^gi*PyN-K z=ja+L;qr7wf_X7x(5iL50O2INMA@67)7+VL@U${JTMKea6SCMZ4YlfRgqkn!9&s1g!a>k5u88=@+iRFQ6Vy0Uw!Q=|Bd!4u92xDj+|6r!^T6 zA7(xNTc-d2`|GMuo2SA_<2sKA@Bkj-DGKe*Hah)qu~Y#|IB`?p%{7e}uZjjg)_6&_ zjsTyZrta^{S-nBOgkHZG^Snpt>9seP)6Jhn7O0K3cLEc;&GGCg<(&i0xj}}T3kDdV zPKOb>%oVsvMP#CkIE{*MFg@cm;QUXV^IK38E%r|HPNv^b*IUw?jXNR^*YGcRi4}yM z3sWIS+c# z$t&cFXJf=ZVt*(nyyY9`#akjDTD%NOCUhgYc)K8-_>$Z+3OexmR0e&)2s1$J79((m zKH+0}13#7IAc349f%43X`%t3Q!AGhUd7vXzL1$j9hxKnK9v%32YcyolTpkn$L9RP| zw`TmDXzshe3LIY9g*3=s+nuj#&jc4QI?G5?cEchUV zoI)X-N^bxTc+76`+)RE|fivoX>chrVS2U`w&8WJ{>07DmCZdn?s7vYJ&Vaf7i*8sE zTzG5a=5&m$vM$u3U`!y^Bhmja1osakCv+k!j3Xzkk@xdh&bhyUe&J^R z-vuTuE~6{l%j@?jgbSdvXvD6PTS^|X`xBReo6%u(ia*2Ba0<2Mx4MHiqALBp!#L&@ zL#bMaN_7%^*cqbkITiRb)VEha$ZMHq@4_5WHZ_K-p+4SR$Ke5LQ{iM_D&PlfhqayT zJ5EG#|3i5|rsMJzHP9Axzz6tkg37Cv2-+V{X6`^-T6-dGf&H>yVf;73 z`1L0KDg`w78S&$Kjmje$7mXMAMSjOOHYu1f6B?4zc+iH!`L=}_7(uRI0wb`C{@@k3 zpI7jL2|)r`&t2UhhF&3suG=1ii& zo;u!LwQ&C^G90$2a>PdwY9U`(~SA`xP1;n%Gv_7G{%e zd2B^&J#F7@)9nQveTe_Tj^U0CR055K8JzWtgf>EuaEMOfB&*N66@)s`akI?+EQq;p8U zkoqA#LS}{>4EY}7rZV`;cGtGt-VgK8&zcB3iw|TFZZD~r1|Ccwxj6jpOHgM~?@Bym2CFZro}a*`DNM(v<)qIJqZ0uu z_{e>Y-oQ{?^a`-!@e{s0dFhzfV&~2(GQ(NA@FzKU=c5|%z@42%pOczx13kFrcd7K6 zlGT$bFPRp;f$s7uY~DW5{7O0m+nFBT&FQ`YMsPB?e-yc4C3xW|(Y_AVzz(ASBvJo> z`{X_hz#V1`(ow$^=9Fl_*>GLS1=fglRiMvw8n?CIVOilRTEkylb!WjbXc)68am>$` zC&rso3oIq(ui~O{k13lg#Kv-ZSiP9KE5R(wQSyc8c||Vk3d0#3*w6cdU0hGOo^ROH zX>BR|^*@jW@@omS+eFZKs^^7hf
    DM^1I1Y8}3#&0n7w~Jc*yWWiMoCkzI+H7Vf zH>bn&A1C@}GPQFL$Bru01yNLXE^|1sf5<#*o(2olHy`8pH;ZSrK6t$uXyYQf_aC?E~$!&)#9%h?4|J;3WX_xjls5X%N2Yk&PbV!su9X+b9bQ^EAt2dB(O zpS*$1A`-}dF!Rl+)nhn+J3U{S`LB<1VlOK4@@PYsGI8Ui$Cu3Y1NQE@ayPI$XEPQ3 zAnpVoc)t)%+LluMa^OCQ1let8e*7%cpbzEe0av*+bm>Y`8MUQRpmNH+wZl0pYPQPps)ohok8>d8Fc|*U~Di5dOmh zJQCS{G!>>yf9bIIr8g5A&TiaWtLg2UXvg+Z-F0It#68p~nYBn}x|hNNZlf1g5d3SM zf63|jccs$5NNwGPUSI*b0JmXyzu(mna3H77O1jX5+&PtTr6tP3D`@<)9GD*g2lcChkb+B*53IT zGQmrJf|Up2{(sd3$zkVqum`d!bAcoAE4mCKc>zO_M00ZL<^+r9LCN(6?fyOXKW;Ry z5Z%MfT;>uG+Vr$5^My2f(6zMFbqbIzC2 zo>K=zFl#IZe1qH38#%z_Q9&k-tlfaKv{$H(i@_WIhToe8vsaX}pq%F5-=x|jzBY=N zr%YFrq>oSm7WEF9G?#jod|8fJ>RD(fQn`;aOKxMvcLV2sX(InTr~O>?cB9eU4uacn zNhB*Ew^ZB#uQ&QaS0Ux42cpXjHAI)$O(?j_{0_8d575ao85P=7lFpT#k@PUKwp|!IrE2^Ux|A(}* zj&37ux_n}X(Lskfu`Ot|x?3%&TQb{nn3*Tc%sgRcW@ct~m>ifeGdj$i?5{Pm-=4F7 zd^_*AN5`2YlQ_2ed8%&Rx^)ZwVFVNG8NJ(KnA3We>lS@JnYfAju&aQpgYz66xIK<) zjsVALWwWwYnNH1}K{+n>k~7N7rQXtTX|HrgdLzA(g5`d)OG)oI>ZnA8Fil;gE>jn% zYt&0>R;S5X!udlzq^?l6s2A0Y&KhWUZaA}I)G*w21U+FByvFXk)8RUlTl+->XhQul z9vxt!v%2%1T3@~DXzciA)WbX|HVJ(WI6S>(jZ)`=&RfulVH?UuG zROVk|&Y&908*`YBxFz}k-LU7de=<6_=iGqD@QPOM`6}*zClG#0X1aI5xZNZdnwj$) z14sB6zpC$S=`!~7WoGB)emV$VdIh8Xy`QzjfMVc)`LH@MR0DZ6{{g?XPq+mH@n@}kj-s56+91j#Z!j#+ zZ5Ys@d|k;Anb0Q0(yy3?Ur1h@cc(F>nuYJo!#!`xOzvdnY0pr9p8|m!=)W?4JvrIR zbd*V!3V3ksL-!B~`gsJR*aMrrhnnUnKR?X`vay->2JcET-mc&NKd`_XzJh7Y`Ws(U zXZCBZ1D7W<8T643?zWinxbycwjb9n&wmfRx-@cRy=h+6I3eAQR{|O9tlaH6^e?qwF zlTh&#@^$v@@ZtBIkT&6>Z-DO;=wNQ#CnCUmW(%UJ*Z1+Ahg0WdLbIpvKFmXjl#z~P zM)*(-ebg$dk8PZi9w38XFa@i5myUv!ZZMTR6^zsl*Pp?DE_ELrg^uh2-NW9Wlu=92 z`KE~62lJyve5M26nL7J9)1l+3->Y)t1!8pw&nhoZ`906~0NH*aQGPVcZznV!HRu6X zLIK(Y1>PVq;C%l7Zm_@&p8PkaK!W{PFPb@>hV%=169Z;2bF#_bA3P5dc#LzDfdqn3 zpcN^0&`ms2R) zl(LR_jsuSKj*E_Cj{A;4)uC3Qmsb%LUz}P^?M@U(-$2;Hd(;61 z;R7=;3slQ}$JHISakDedd5XWa-4RRoe-icxugUiH4Q`n zR?w?_Q64+at81LiK^B+YGqw79A>QRa-axt^UMkl_lraZz4q6EJWkm-w3dLDbqQGdj zjJBX#e1sX9XwJYsRPi~Z?=m0Xf?K?no1FvoW)joDx4`>FVE6{22C_2)bexIKDePc6 zPp*xH6Ie=Z@GUYuwR09e@-kHzfamr?a&TzmIkJKh@eIXQd7|$L*w?N^^8_luI&^yK z!t+GYDU9-#V~VgI&sfG$B$==O7CAqeeM5mn>MTSDV?HAdA1SFBQ?XYdKba&S+>wo} zG6qk#T+|vD!b9l>t|T(0q%Dbh0No|twohk4CI{-6`%+Gy$bsu#_q=-zF^c_OX&3-hPx?(CcuaR z$xQ72z}+vN-rq?kzdA7c_1jk@A$!7gCjIX*$vZ0UA?W@wa}be4fUVqOHTpX)Ll5v! z)_5QGfI8lh+3(XE_!ON3-LRR-gmldIOvJrJ0To5FyLt-DNmptlEB-~ln77Qw?-%49 z+ko!>4Xkj%$OH6#B($J=sKt!#?@A`ZDsc0&dB6L2Wt^ji+XtFk3h&dEyld!WqnH6v zP~nwe4x~8$b?|%D;eors0#Ah%+C>JqPBriaP9PWYL-a;)O6m~ar(qI$a?W1DEk}56=-rse z9in}}^<$aqxzphsq+W1@ItDB6J-VTH$#GX^vF8%w^(O@&whjBjiewUO`h^Q&CEj4bk# z?E`^Cg-pyFXCe-i;cx9jG2R~KXI5r}$CIz0utPIHReUFK%ZJE#G%B~)lIg6vKhKK9f(~;WsDK z;a&*ab>N?^r9b{h)xc41StVjmW@11BeaKiA4_-ag+1Y;+#`+s5Kl*m6S?D`GgcFJ+&{eH@An`KZ^&% zj$%&nh;52(kgbPpyluTL*%mAA70cQm+51U9rGE73%P2jl+xzq5P-T^JNeO^2?CMzH zxaUxq=qU;l(Af3bRSyNgbyUDe>>Vc-hlwh zC~1{F)ciT*W70UOiBv;sz{@9vNH!wVR>>@HlA9BzspGT}C59VM(b1M6zG7;6M67>btv2jeyUm_=F1o!u&k6REW=OehY&G=*Gj=ann zU&wy7`OMlJjJQk%oDB9oOa7ZrUL3~%xg3#|ZovqY2amXCDMA0a`5eWW1IvV(_@aL! zWE37Fqi}#bL3Xh5Bp!mnwu0g2fy5T#`?rx_ZKhh>gx+H(|D8d-*cL5FE%3n~puU=@ zegrT;UNU}OB0+lQH($UCyux+p2{l0$P-YkYUJ9ngwo>;v@h@9Q_I?09FUb_j81RY6 ziM>%%Jy!Suxb8*n8Y)@Uilnq<+ zW1?d3$96&G+mH@G2tLnSe3yKOncMk=c30s3zv1S;F^nx5{3_)t8dxB5Q# zf)YOamNDrwJpNjoDQ*xoz-TbuPcY9&l#wc)$jK;`z68W_=xIP?3cL`5^)b#G_!2D8TTcqGp}`7jMEu(1iEiYKv3`xf27G;wGBnsf?6|W8bIvF5>`k1tWnj+v{;K~FwOsnB z!_>@u;PCr^>Z_oHPvU%!f79kvG^<~#G=7r}13iQe1D7bkdf4~XB7d4BhZ z(Pwx{+lUNvi4imXT9L-=5-f$^U?Gq}RuI5_zw6*pD#ac6IK0M(tp#}Ji?;$3V&~Z+ z6pQY3DO<&#!Uo7xBKw#U9EeY4K0LrG;sO*+<*o5!EWBWLx*l8c<`?LE%m=aLV|U$R zZhxML>p0R*eviZ<2fl)NzBiF(PDpp&!=BuKqf0u5es2^#;?HD* z&Uo+aqyJuv{`z#P{v7DO7SYdjd9rw(!AIC*1cJOc%e#o98*ddH_>!nFw(d{(m{FaVP$MI`39yPoMJd=VjVA zOk2P_enZy^=Up|MTG}yIxg~4zROt?fd7UVWNw(p(I<}Iw`@%$_tdLFkWPM}(WKAsy zLJ#4hP{wx17ADRRz4mAJdF15I^z4SqbL0zhh%!=nrbIXfzztZ`b!r6Nfm*PDqI(jW z;LJpTIIS$&;ZkT0H{&sM(N)!T#A$afP;;r{9a$VR6u0t5o(JRi8}4z4R85kkqEbF7 zll0Mk$9~@)C{==;h>@?$`&$sAm0)B*H8p?J2wg4xRfs(Z}PIV%?5#6&hq`_qC349*TDA72c?QGMaD0L3$NkO z|2^s>H()OuVFTjTDb9TH$SdUas;F3QqbaWglavqUC>vjM7>-qSsWJxQN3oNC;S<$H z7*U`R-OkC(As8{>9q--$o#p@gU(bVgDTo5`S5yezM9uvhex5}4!{cvTY*i3`qxfU- zMM3iueA{^S^QH4mVg^M`@LYMU(9u^!3*j* z@jVm0P>C3Bs47yE`-}PgBHEz@xgW6!^<{ND_->=S)x%$Mx0+F{J>iM;<_2f?+$O(I z(7Uo_qq<(69XTFd0dE`bmnE5-Q}l4%hu3WbB0+EF=jQ60@XEYSU62OEV1p5;g)X!| z+au=FA>L1C;4X@RpRj^?$p#K^Miov)d+Ns#WQqCw>l^&1={OnWB01$cr{^Z8{~EtK z!ztPi!dyd68O1iRN_?Gn;UfyM6;#)cT-YiM5E6tyVY9WDwW+nSwY9Z_b&U0tHM`JRI44+ab8RtVO8X&uGuZlqa#}iGrBSC#KG5nXvDzMgmV z7uL{sn$OueMJ~w-s~n5Qq#vB-R@_LQgl7VfRpXtS3=TL$)$!p!v%O~cr4v7=CMH>L*2;j04zI1IXP>3dDz-@>$xasRX9=lF_l;O@9%FoOBw ztFgi3ATgknuM!jfHnae3(GBK}`y+NMx})X%3z_lkc?AADj%VlAsQKXe&S3rK#J`3x zzxBD_yHHS^Bl4HVV>c%et^)jx@h;wA@~a*?uMH?YrlR`J2Br; z5TRev%^w7(U&QlD-$QP1q(`u2GdI52fw=2^L9OeK%T1k!B4i(3;yYA--_e2QCKt$Ph7G-N8+1j3={8R1 zIjunBW1z|dWcy>Bu#^1v5O;qE73KDQFBajC!q$& zg(@&Jn!r7588Q6FGq}1tFRQ9L+Y#iLr)L4OF@cvVFB_pg`=XSF~bJ@h`h;p8HuJY51+j&{%kwQ&=z_z1{ZUJC$o!~ zy_2VPok}f-U(=;=gDaxmD2KAEe0ViprRm`YGhMs|?zbb)y8;NX5In#UGQ()j##}Pa zMNdi)!T=D(C$9xAU>09zAef^$`Ft1sIuXV48C(Nf69abOq&^?EvnrKJ5S#d(!VzqR zEi4jwoHJd(&sBt=7TJcoSr?FI1m`-8K1EY%$9>c&zfm2i#D~^IiG}D~KZKWH4@Eb2 zs_mj<@`S#?f1(;5&%HFZ0%+vtWjF?&Mj6}(CD4*snMr&Ta~kL4^RVgVAiJK{a<7xo z{_FU3rHIeMkD20M;Lf?kuM18e?*#>n!R!BVd=Oha9>z~cH`picaBL>#ymz7Sd`Qk8 z3)?XOzNbIWz9q3Q7Q|MBEs1aG)?3eQEkj;?!#$qKzTF5tA3HIUnUcMrCE;Xwm_GGE z{Bx4<(Y%K%=65XvQNTnNE=OI^g%~gg)NoY41w;5Z4u~NJv_vItJm+=9fHNorl9>oi z4NF{{N!f(!r09rZ1izt#EU0`BIp``=|l3@Hq>^HKbxP>@XUkwoK=w=57sv z1-QnvRvb*xbw3_6@c(vV^F9#TQ?%Xr>DQX*-o}L2Aj`JmZ1rc#a~S__ZP?|U;DB9Z z;~`XV^|_A)a9i9?W|#{CIOMrSbr?@CVFS1?h<~FGU*lbWCD0#S^MrlEjj3nvMTRgP z(4JjFv0(mZaGitD{FleC&ggiKMYC{;*%2}P5+@}dr12ST(j|5roZ{Twg^9L$YjD!0 z@>O4jS;`I`sE7)AEev4@JE{7@Js#wiy!wyWfEDxrWw?pfD3T5_t@J)RA?9pMbrkwd z(fXB*-@6= zkBNBsu8m6@S37nwoq4T-^3nYSK@+r}%t$2!FPxiBPCiIkp*_e|K=AewLGiCB0V%czIvS!2Yb6+AM7@?ilO%y`w~h2VjEK?BFP+YkFC#fzE8dm_sda z931eD7?2MRF`Dk6;S*uRfDPpB({zcSq6Z0}%UF~iQMjKKYyxxK(;o%K5xHl0=aBCg z!7?v^OPWEAFq)Io166T-B8C%A`4w7|&g`q0rl-@pX^-8F-N~-@sPVnd&ai;5l?Y{q z{6(rP&9OfaONu>hr-ex2ptZU+(0al$!4hLhWqD)%X3l8IXK`CPSr%LFTFlm|){Meb z!ED=Ut1f1-Kd~Pr0yI%FI#xO)b*cJ`3Vp2eq%*s#5^A7buD7njOaV<`N;uj5m1^J! z4gs1w$yM65h8o}xHPK;m%u(_yi{%h`hg2IC!VY^EyG$?gAw9@hVi&QYSVi=SW#~>^ z5$nST9Fu0qW0Y>7jr8b_+;jy;xMkkopL!tm@j@0+ykw(Ts(&JY!3Jc<2X79DE?wjn z7%eAv{~cS{9&n;xlKWTS*;oeVJ_LP5N&2dJsL`{bw5Uw(+dvf@K{xOMnAeIrcmSVg zC%peXCI;T(QhXDRcoE1VhS>4|4A~l&;mbsmD7vvpbOI;9;7$XxE#uDahoO1v%>dpn zK?E=~ot3!%Lx?o1skb+h&j<1AXmG$QxI=@*=}UhgihjUFy2Ts#xJ;+02+U4rZs#8A ziK1w~N8t_gEnG(#FrPXg9m<~W%r!nhuaFDI^8xzh_EfiD;0dG0k|=d=m-q%_XDTk+yG`Mc*CVL&P|Telu8_$}PnW*fww$i2h` zSNH>-V;owp?WlO%o)qlCS&p|(ech$!(BEq3w5@E!n5K=#G3QUM9}c*^@w*=kHl5C# z{YEX3KXI3;AVAMa3~+%18i4~w;>BUafE#{3ATJa95x7FM00)dF;u~A%PM{rq$mBpu zIN>5h9}myI8h5(|YC&VO-XJ3QNczf#zsP8i!5~gd7jAz8YK9nMMjkeHoI`C;fzCvG z{ThBhOWgU~lhNT!cD`1_)V7ZON&#hnd|5I{J?)8NO0m3cg^*DgV$EXROV;;T?wjYB z|1?iDZ!{k=C!2#U36>$284 zbz0ajFb03$TWlJ&fC82W`L{q0u! zM{$QZRBR!7#q8oU+gaOgqRmO$FWVpDeX+Z}IO?EB@?XkaMJw_X+ zPxOrRR>C=FGOBVan23@#BV$nFzM*{!% zBVWfh;`(SXx!L=U=Xj8A@k8puQuG6B66I%5ucv@X=m2m37<^uZ+`JOLGBf(%uEeQT zyrz=xWN!afcFI>^kHk+Z`tj8FABZmvQ75j#m8=AvtB*uaqaL-LKs z9Jyh<$53OYpa$+owE4+Qa#Qg0p8pU9Y+**H86C+{%qpH`LMbo)WiMj-#Ae5TTLICB z!|6vQ^iF8b*7w;y!S@JMFb7AkHT=IF_&qgZnmZu=7E@iPaRs}CM({~o04%{3X1q$q z&1bTwcFZQa9sQ`u=75CCfO%?y+6L0~nT4N2f8uvudLOG{bvnZBc;WR7=Z-$Shu`38 zj`EH_BGQF{tQzyXqnYv<04{Kb{|1wFH^>zvfqYEy8{ z@6N1!Yh19K;IQ97YsAmmYdy3fM1^_m!Pv_ljNACz2I$%SIG_SCpgW#C^Vqd%@By#& zKzzB({ut1l7%&QD!75_@QKJ4sy1>8b0~hdj24cD0wRn0>VFfyY)Ow&A>;o$3MqX&` zZG!Tw60u6*oaFHSKx4ET1Q3SnZ&`i4mR@V?zRU*DV<`G(sCV$-8LfPfo5_h%kW|yY zfV*b5jTWB5{JpS@vy`@cHcvKJGF!}Ea|3f<^DJ|s`I9-yGT&0by431|5v*dnZJRI7 zv@ek6%Kgy^zH@ZI!zTwFzNOArPKT?bYou!dDBy}KJ+1-W+*64HL)bNv*1Zt~aGZIh zDe8MiZO0iUR#_&ek=skx?X~SM#RXz3Faz5Q|3(CqYsZ830m5$b`&@SOAo7NV3-0e>Dv53N15_CUIb zf1so<$t2BLdWOyU+~06%8%e%+O3ts3GBm*Z(XZ~vMSUI5GwV(i*hM~l!Gu>PY5|$A zpbrxzC*axM^16-h>w4;e4rHP*=DDB1&aEeQB%ld=K{mLADj+kwkc5h;5ntt6e9yvNyME>g$t*SCOX zPg9XTM7ffQOcXKx^wv*FqMg~5zKiE#n0XcL{_^eq81#KYL#*qE@ z(DMuNJRS$B_We>pe2yVgvrrB&4`(d$a!<>R9qzpl&gcV-XHXexr0Y}Ppm zOYnw$Il1&OdIgo>1pkf!1|M(@rBF&wE}Wyi;DF|!F(U@7fCWAb`+MIX12WSc422a8 z=Z04R3)JH|HevR}cs1oj)ZzCG&8dUiZ)nLr5x=*CCn|VSdKMCQ#%MRG$Y;7zyLvbu zs0qyC-Nb?Cpd2eNk)GR4_AcTHTOnI_;fl4q^_HcNrMP9Exvn|4`JL&DDWBOvEa+-p zXHIG9Y)NUIYqbj71>JVQHb$If-ym&}$0`Yq2acNRD)pOMj=AACP8|#|6#wtpu8pp{ zD1$Y&4ApR(-Oup_uf-0+Ud|V4Rdu(cuw%UPOKv1@mU2k#=|^-B3yUvN9xS$XvYBkJ zgG}F5D5~ZToFe;vE>sfl>##p&}D?rl>CGBj;ND0>*1|^l6?hUK11A6C!k~ z^Hk_|(?{JQ{-=o?L(TsYe0LH*#pz5?+R#rWlj}EvqpA}#t<+kDxL+3DWeaz#6Swb! zw+#2@Ia#k44ESy4W3s{yg)oOx6!qV0?*1y+6c!JaY zk^C5n?~k7Bpt7n&nHkiRSDEojOVv?{>Uthtj*mdspYe6RMGRO@4CoB{5UE67pedZf zQ+CrC{6T-{vnLx0LYWg;o3C#w?&P1m0+qx3@Z)&J2h-7Li+1q<-8y5lQ6gIAMzDmb znOmK~+*pS2Q}l--y>DQedZAKH3zl7|57GbBr{D~Ch$wJTf8p1u7@C$KcAXbNwbq#L z;l9Vp#QH%hn95+5n`~`uL`89wj==kW-4#58LbDp``W0{h##~@4SO6tsIL{yPOq2SHHU$9Q;lT~f5REr zgnHXR(i4c?tBC{KdG-sbse4id$!IZ?n5nNyEqzX(h_g-@Z2x^&zNI*9btBtXKK@2zr4tPaxAQxQ&?|;RBx%34Nvm5sXF(4-~ zAe`R4;SV{2S%T%9qeH|1V{YiXCnM*e1d1^iQ6L8I*z)B2%ABf7M1->R3p5zR5aL88 zwB#@7BJJVXwFX&SA=U)wt+bu)^zIg}lTI5dycbOTj^gHxmkZ0orK9#V_UhsWTNYba z;hMFy^*Z-FwPiB*{4537>4_-|SfIQ4xLKtR=wr6cym_=d_qPtJ$%FU+m#9Lk(0~=m3Mu0&cYXTz8a+di5pOy zvO!KS*Q5T=Wgj5^ur0B*vz4_Kw%ryc2r)ud;jZ<#^^EncRTm};DNrkfiXX+B_S4c{ zd8Sg|kx#v>j%JfU9(M{bRt9v{+r7=g^OK=!GTCzy58U?f|2tvy-^21xr>g6~Z79iI zy+GHbJMUr<<~Pp4xbLCXUc<*WrZ;bU3W4H}dkdoe*befI0Anxl?+r`hH0|N$PiF$4 z9v!j(I)Bqa{$lti&Q3dYyO*fE8sqlulWnEfioC1|$pLl1d_!S?E_k!h zb!^X9u$RyAJ3P$au^Ynq?}S5D!HCE7u!g{L%e1` z*Za^-J;WZSi~1cjt0|}oo}gH{4@Z^7V}~P{!fs>}$mp!MIM``Vcm_WA7`#btfwjK= zOD^Ct_`eA%+{Mh^1masbFD5;+`Hy4!#%b*F>4FltUBU*O+!qr8elZ)g!Z*t|nI8|c z+h+}1Jwkow@%7Aym*+6tyF=nK#l2s^RvI#9kUpKkJ>G0we_gH_ zI03|}GaYZy;O>{JqXuj)ZLxn4BgNTt0=f%NtPQP?VgFNDMoDF zRDc)AU|C?%tOujkSpOirx~uSFKL zQwu6|eO6Kb|AcEB2XNykSYObWKiEOH{H|@B<1(H(+dH?F{b!O%*wbQCjvw=TC<*??ctsf!et-h^n$b zhk8L3_$x8Kl~aTkQP=j4^hC__Q`bsS(-qtCBUz_$o&CivxiiS2RYR< z&=}Q$=XrnzNz(Ufc5M)Sz$~t2&K+thwTfe%l3D2|XO&k=iZsc7Su}C?ehdA%b=|FB zVEj^B#+gIRw@oul%}v!!olILzA5Bhp!Pn;QmH=yiRDyGadNx@sWe<}I%OB+hiiDeQ z0rgMyk?P})pJsyh3%&ul{9ZvVK?4o&1IXmMioaN-^NBi8O{b1=e8vxGtsem_wZ9f4 z#ObySwmCvIp`h^Cx|p8C56eEw2uoW_E11bmmWpK+`EkVf6S(wfo(ya^ zyiGN>MjxjSLalKUEKwQ_-WyMOa>RSDjeEY5^K_kF<4ZnnQ%h`uwQGo$=N5Re8BgH@ z^Sy(>*6BP)(TB9sYw0y%dwR1~bsJCiB}`8+9iPf5z*p0A`{r?gtJk6z%1BOXOAI)G z#`g*l;50~O87QC?r!_Sd>KYp-u+D^!<`T|4gNSt@~o#5Kc7x+UF& z`Fv$t_-ZGi?~SLDxW#wSo^$ewGtrI>g`459GU<=B$J!H4;v4OkR+3XV3%&X^{W&u$ zzq$1X+5a#`A5YDDnq4rZKmp@WBA7uP_iSq(Zho>lm{@s*7K+IYE0X8zB zoDt`Z4QK&J;0ZW^9UeF0d(r`v6aGl(p3o{GIw1#hfe)DtxJ+j-Fd<9ASKm?GK*D@~ z(HXdoe|K)2!;{z_FcLSvys-yx72q-AXysnydI$?R936fR zM{DJ@?2=D2f0sgPZQmj05l7oH+olP5gelfE)=`#BmPuwC5n#Njs!1mX%r-qUncxC$ zn(Lzxs%brMZ6ipwEaE5evHc`mU^(Tc(!z0z9^GE%_y2H?!6jrBUV;~i1i^TR6=xFg zx^oTwLJ~a0R8^u6s5=%ZflMWB1_6|@j}}kC_>B;<3%jlDtS0Ln%T!AxOEx+ZXJH}F zngdZL+_f}CnfOuoZTl_0x1W(_$-R_l#}CIjbqNl_V=uFn&>UXJ;)6^R+?R^ zr(t%hQuVz@owFRw*NQqnADYfJOl#-xoI$18pFCKNK20vVromvnQAC04D5-XW1e(JU zJzyf=!#Qfkt0`Ul8vH7I_*FV~K5DL`#M>62{vX_9DbX+bRZ0mm1t!| z|6=^i0ozlaDzGeFp-Je6l0Y;mU=~CCPO_EwDr-;~7~W8Kh#&o7AyaveQdL%G;X6ZX9Xqf~26;Eh`|E-qSWxV7-1~xKmNCgU2EIp)oXuA5 zr7*0;;PHO?XJ&peLH7*)buW>6I8VL;_}Q4a`bKG`q)&3Z8+g}Uh0)J`XvHIxs2J6$=+L1_o_MAE__@5Z? zfBFL3I5FpW3Qutp`c4!`%lD9;x-czw{}&9=D^C42aEtLh%;9NwL}~0{EA4%KKHbOX z)GS}n;*W&|$m49TE_U2koXRXbK&DHgbif{NpD(5t$Jnyl<_SfG@z$@FZk9mHTyuo^ zxoM86j>&0CFby_cGliJDna`PHEqg4Ab)B`0P{8)xc3a#IFXxrt%2QAUuXTi~bJb)R zdYd!WS<~4CZO{hi1yK4KZhsGF1!q3zb#)?4vmK(K=`=y8fqSH5%+guSRwqP*c7W@*TJnyK6TX0LW=|8pS z+==x(;bkZ|(!kaZ(l6*G(SBX@6aYhyrZ0ZMKZ)_2uF)+xy2+fTUsP%B{Bt2s$n_(r zw{nwT4QtF6Lv9(S0=t! zqmQtT_)-OYc!%1*B4^K#w0@6?wXD<$?}&dJ z{OsU;J%H{&bGXBw;GuQi%uEohg0+l+1z80nau>e+%fHeG+i>Q1#|DG6VD|MfY1#j^ zC04@urv>vsy~*<5eK`_Ru*u~#s=(b;1sm}I+v4W~`ojkn@SS2e$Q}HGv&J2zgHVk< z;eoOHarX#~`3rvGKDwU~k$0G0*pD;sFaLMH1g*?$nAFj9$=iVRur+;&;}x0W&*S;c2AvZi|4DFYRoQl*ov!~y-nE(Z`5VCUg|PAV z3+|WK*nDvu$D6%u#oO;b#8!+XBEdDHz$@IbQ!)pemr6k)VpO3|_;(Cg!(I&o2fXEE z82SLGUYZ!t5gag+siK2S4!+=B59WQ3@@s{A!{-}YW(@DRvwYb~EXx;3KZ#{omiU&zaU)3G{tb$)ogNog{`0P)7r{<%~BsN(0X%qa|-h^Q+<=m6l3aVIs*piOD@(eE9eN$ zwnhutZLe)d#Zh**^q6cMkE>uSJpJq89dr<uptWYPt3>kJV=d~)xxC)Ao zFYvp)sK0a3Tfa_bA4capi{~)4omKzL&0oS!^PXV4D4wlCC#R3L0i@<5{=e1Z@cK5~ z`XlJWwuHy)3Hol#t;|gg(G}k2DHZcXa%&9A&}4R|%w&VYpS*^_70=UFao5hE345!3 zN6rpc)87P?y{O032}Kw}4rn zX?_pj`PBY1e52X*;PU-I``3>-!Ig1h+!fqCE3;iN8JFR%xINs&{UBHLXtp1V^m{&o z`qPAOB{H@kK9=`a_ilPSMR@;G(Vb1EFLRokv=L-I4<~nHlgkjELq~KFRk?9iGXFRD z(8J{83A|&q!Rdwc6#8R&c^lYt-;2!{QCbP^|7WuQU-)G2V$N+1?$;~btKA#egt41= zaDpgs)BTu=;DHsg#9^Y;dK|Dz8`LGCF*eet(W@b7tnBmXrsWQR|# zO@`^`j{%0i8XQqtWEbpb@d5cwzdc!~DV(vot-CBWEEz2);r?@& zx0#xn+@>f~4^t8tV2JsaIl{8i5^SAfjTF+^ZrWCeb?rZx6D%*kmq#hVZ2L*CmSf-N zD0Q)VOnssTIt$IcUfM`d&Xx-w0^BjuN><3*AT`(I6%ZcVn7 zu^cg1H9v!coB{_Sn{t|R5rYPpzL`dt(^>ji@>_3O4+$&iLsYaEkC(pbSw?7D7$1rmLb25Hc`Z>k4RBSf8 z;oo$!oM-rg?WV1`&B5G{BsL;8BTHNWHGUu$rtlhZ_Zss$6+NGr{cfr|nEiOoomvV) ztjT+=!x7gZ>i&U73))nnXV+H@IxPexA?Ufm~D=_W252LnkWio%Hsv zg9TPo1$fA1i6B?B&i?Zo$O*nf{CZ7SC_lAdTJE<9ht-<9Ih=ZA4k+a$*>5!(f|gVc zD!AbWcres+l{&UIxhAjvOM5{yItEI)t7Xw;?te27|6RQpXQmeDw=)=c1Rs5fZHANG z2sElw$&>Fv0IR?%jp;4?!j+%_y4fXosa(TF;lsa*01^0aW+npU!y|Y-ZoM6;<#jfL zlxEVmv~MeyfqTWBo`%#*ArWi3g2&5d~{mhfQOB6rL4cZP$UPQ*9$oJNt zI=c;ho9du`H~d=;JTx9N)xU{s+>duAf&36ehPVOyw^Exx4zK6W|C!1Ecim^m`WxIU z*ncs@J)PGqHsLN|7Jf5P;1K`!GBM&MI@olug~iA#vBZEDsDy_5Yk@uFoty0F`K<*J z0}P$u-}-0S z1I6yPi-IOBx8|`fwp6v`vRvZ67c(cCx|+(E%9#e4&Y2YRd^Ez9EZZ<kbOybb;G# zf5OWjw%3xrNYmt!Z21x#vmH-R?dxhSwU;_WT@5dAQ9Y|}#WUa!)s7p;Y21WrI=7Zb%JoLmKaCV!pwR zq@o%gK-_)GcC)%f=)3OiY%%TNuIcu&$vB5QFIy9u@LZp|bu`|A@MPQJ@uGMRgSZcq z=#7o%zg_7N-DKigAg69d_0fVTUqpLPEqH>e@B<2^0$OoCvT8v*e_gA{ztw>LaDVjT z2f-H>s>?*UhPFJxqTJd0boN`4`4_XSPLh zf#<}6tn>!r;1lAg3u=IJ43&6qI>Z{NAr(x=Dl*$|&}=($SwYx|FR&9&*}8g?NMOb< zq7NL%UwRI-fz!Dg$NB7!$Sa0F@qIK5hR5k!{*{z;n}+cfdQczTp)1k^UEM6IfP?6y zo}mf&{x3R$KJa=_Odz#@6AzD)S(q)odi;s_cy9b^x_=#fk-k`>Ku=z^Py+<{ z9<$|P2+H5AIEMG5|DQw!ppyURvJEk7%rP84O0xgFO4J_IzTMc(_Xqv`Nid~_{gwV} z@bP2MO@EF&3_rFBEIpr7FrM2#fKFLkziVGT%fWM9{rNwPC;AP~%QH;4tziq+Gz! zC$)e>i-!+rNemdl$usl;Cx`*hi2*s`19TYL7Cevf)M~r9yASCiWr4}pP-fL9Qw;QP znOF{b*+mpM2rFQ`68Y68zw^A|KiY#BUV-nXDERFumE3Z&Ts?5!CH~EH+E_OEG(wC2 zN_DDz9D7j%#>$JNU-lMM;8Vr&;u~8_+cBY}Fu|JEI-QAtG+=;1=2GU<6J{V;br8VA%zY(bbp9I1-(sXeD+ zGrLjFkP9~8ka!48_{E)pb5N34P?_G)98h33@Y#A)c+H9GCQ$n=y6v^-Sal^5l%{8$ zL>*t2F3(R8$2-1{Ox)>L{@Zzt8+r*$atlO~4?K_#4*Q)aJ$bJl*w>48AOkq%E|u;m zdYqrg1fA*o+w{V`N^z=RfdhVPQB;U4V4pLSHD-e)a}g&E#c54?j|pT^V-l@C(Zq19 z9EXaj6n)F%;aS*$Jp{jm10aCo_=Y|Cmky#;aN;czlZ%&?EdeKEboO+lj++?gh`$E?BTu5L+f8)aNHjEZ|0F-g>BXID0mE4toUM9F z!jh!$yr3h$pIbAIDy=S^zYvh!d)N}={*UAS*W<*563@T>bN^SlXEX0I6zBV%C|>|F8^{`l5srfhavt`7zDSS`8iD&iMKqt}9 z4nVtj1dYd^oG=yKw~gHMj+6ezRn4`OKAc@0=r~LjP*z?82IyjcCJqw?@vN<~ZLd&@ zPCzE>G)si#gLyl=Ux@iH(=1arQ#;dC?q41AUsU2FEf<&%n#`Q=4xxpuka$q6YQJi) z!|Z+o`M6v`Ij1ml=vanR$W6y1$0x@xw*CgP6YL_lzdz`|h~t5>SczAXWLfSk&47hG zVGFV~7Is;)TWeaz@-Ny<>$&y!LN|ua3Y{FfH1t|%sj!J*!LR{g=4EEL<*8++wZ4#p zd4byE2XTSDwvu1S zeY?m2*FfjLh;O_39_Mr4UwbmsFZf2@zR%xEq>JB)^ZkZ6Gmu)PI6~;q=><;u7+ZEvh$} zrhkH4$hUui0lHKFN3l7~8&jV8eQ%5fK0hVu9t+z6s!{I`@wFiT7o+CC7M}zzFm}65 zz%@XQ|IRefV0QZ1@BrGw4!^wk0LA0?))Cjiz0CW6$G!76?mfxu$azn{BAod50)%{= zOu3i4zX{yGobPcSIA#E`7vnF#i0{a#W=8tIqo(Yiji&m~MJ02O`@fiHUXS~qRlfn^h(!_H0zFV! zJUJc^0s1+TlwhTqe3+S_arUo7fMQ~zt%B{a;1X7%zL{@vS?-$WG7pg7e8sfTG|<$? zG}rWw2yhk_V7leLMX-)V5ipSn!M|)h#BBC?_Ch!b2gMzHH| z39R2Nwh**)#5qbhJ}G;Z;phM#%dO>;Qh-#{ZWF8776?DAZLDYLKnUh`rW0ZAuzjKJ zLaT+whQ^0B4jmhMC$vV`jj$G`d#3v4d*;Cw8(hE$!2=J`SuAe9W*;Jzln=>ul)SJI z#hr~@qurCW#xOcXx%qB#_iw7Z8N9!F^rL9CvunF}KhnF`bJH!Z0M{euIp=QYTBeL9 z^IGUU=zQyxTto0Ui-X%K3>Ckt6ZmD$v7hvbr+$gDB^Y!1%{C^mU1Tc!X4k{L==E;oJ%!Ohsa_ghTjASv}5A? z1fBxdnNgZcEpI26-R5TR;56Uke!qbS{)c+O9Tnb=Q;I|BRDfWA*@7@!p}b_OeS zh_inH{(dAV*FtXF!}mUnne?%!+B)k^(4)pt+blwVV&X1rL7fnfM&>5!r+7RE+R^W< z%8a6y31$nE6Dq2uuGA*a!gDYw-3_JfDXRb9XzqW&111vz{*5kh8yh)#u_dSr8$0^P z9AdNEc=P}R<4Q8$>%kYGHTOTi?@Rmv_67E4w_7*%dDmm^H(mT+%mCDhi(|)AFgt<9 zu-R)X8^~5f+oKP&^E4o87LLx_(R{B%>AfG7S5fMIgX=e{alQf5?lq_(>$vMPd)vz0ncp8m%%8!Z+DNQ81;1qAfDHZ^VBmn-#DH$-1OBcB z&VtCkviYJUox#fZiuK`~EvE832|x2uPmc?Mjjyya&$1KT%utZPc(VRv?*2F!ZG+2b z$qA?cIt@e3{S^)&5w&-J?!SZk|5V!n4;88%2Ay6)pSKi6phq2z7FSV5$j_Jy-UAQ6 zTolQ}b!^v!cp(ucaI;0V`~?e;V9sW~ZdwBhm}=T=`fMs|-e4|d8EUy|3AOgN-m+E_ zt_a<11(@D%ZhvEMB<+_9$y4O)%0MMa`GI4I&7q@4Xl#^wXBvz~LL^OQ5Ut1B^}Ja^U( zfBOO_qHr_=P3YV7V%E~hWXO0p#9-|X88>}_FRQuZ z^Z0QyCwe_U8wsK*M_#B1tI>uJ85QqklzjQ&jfZmDmw*+Q_?aPN7kMExVF!5!7E<4C z2IcPHwTxGio`K9Vn_QWne{&svAXQM!oeF;!o;D%{dr$77P1=pRXdBw9i_9$KMO)FH ziTT}VEx$zsp|mc7A4(eLZ9e>~2=FfEGVJ|ocJNG~ioY0B5=GGW*nV+&@CVEa-*59} z^}USW$L)`fm)H>y8DD{yfKT8KHip(@pIAbi9G8;)-~yYTGB5>jk2&C!Q45&Zd;kJ? zjjrl5d}tKa(i7t3LI1mDOMFh-&XXU6rmrmiy214SACUjIf*vRFB)f6j8*=+Axy!l}c$H=fzN))6 zQJ^(7L4VkR$^Iw3n~B)#em)=r%Hc3_Mgn~C-<;qK<^~gS5qSaMlow7Z7RI){zYOr7AmKeyKMV>pj=muD(jVrN++cuQ-Fn)C-NG(zWh@fA$`D?SQ9JIgG|DEzkdq+?L$-&U3&{}LGqgz9uCQ>^a#LEmgtyFXENQKaP$WDTCgWCQ zM4)`q1=Pt_ww(QP6m`~j4Rtqy^@=5)d)bosgJ?d98}}V-R@MF4HPK~toky);a(-o! z;W%vNR&|@YS>2%?QSY#!-0E!Q+>VlIxa*^<8P6|@_wf)4nm}?xNxJ(soS-(+EeM1A zI|v)pgbl1a*|(~qd{T)5f4b(l_TgM`osWC2m#(Z#Mpfr@G~`bjc(DuB;yzR(RhTR< z4DNfTyU0yOzu~(lnC`z7CNIF7>^XyyZvxM`HLrGjGzGhQ(WyP7em_s0^O))K4dksh zXqXP7CX@ZlaVO5lbP!^9rcBa!E^;RJQMH^xk942i4~^~3 z6JTzKb8mXn>u5#3tcLD81}?`;d<^pZB6?l`CoM*|)tMU@0aua<)x=fwKZ~i@+tJH+ zq4p2Zo>JHEfa#ma{qDq*tj(QIa7V)+>pWi%8#H5y1C`x%{S{zOkiY~OMPdIx^5^$+{|9mZU1%6yaQ~;lJE)w}xp)H|a>cuL(vxqh zZggaJbX9K1(eftxflKWf?7hU#_=2ai4HZ%feXXA?EiJFjv(1gnvN;o~pxdTLrWEEv z<`{D?^LZwOS6KqBan?!J7uH(BHDLg*f$zk2_Ote4IQ+ep>a%GqgHoCsKU^8148Q>} zj;#MnevHfKA-q64Q2$?-`Y;PP+`d;ljwfjjIKVrW=9Zo2bEfxURl-h$)(XuSdOc)A z$f%HxAwxqhhcpk(61FES#%tj$NY$XZvhkS< z@ZXwvAWe1c!6)&c>zIF&dMNIl@?oJ6=|hzC8XFwzi3PH85d_)R@Gd8sS-ZZ*uH z!C@Vvce#v=-(_Pxe?Y~V;^aw>_KF)q0ScI?4`?X;T<#<{ymThZO%hZXeTs`{M4i^ED5XKtJP7#4U}R0u#_FE-EgW zZGW%X-#s4>@R+D=cpIUniC-_ z(P8s)qfB($3}5e8y!S^zNmFq5ZGu|EMwI_fxAX}5J%a(LgU5YI_T0Rp%fB0BKY>cW z9kINcy9~GA#r8cL6`<8E@O&M_f>?gPI<-Md&c#5gf!Y2TaDo`{)XxItMRVdrD_o0b z-=BYBnYKqe&x!g)m)L@;q$ctFPx`m3h)U;(*&p=OFqNfXp<{>vwTNI1VKExPW7Y%* z#!%-PNG3h^{}xQfV*YMJ`rJ9`0Un{wXwT$gChafqXHoyA&I2IbF6u$*@d?Uzxh}bYP|fY0&pC&N`54#gKNkM0mgC%D5>#Tp>&6sp-C*;1w|PBsyme$y1>!(|HBl|#9EQfIEnR|e zBKd1~C>^~HenrO`IGj=Nt0mEeoB-?9quSri4%LFL@BSUkCRoMNcri_YPh98P>N-vg zc;os-JrDp_n9&_XU66-Z&<%F5B-){inn3lp8=r_=@IIyeefa^L*>0TJN}SZRo@CUb zN9a?p0IBwb&C81~)f0M2S2#O+(KD?FN4kg#f5Id$;=TuS(i?+vzv(;Sm5j4=nHca^ z&qnr}0PpXl_i&u;Q~A)#*P#b_Biw__!KVlrCxzPF?UwAtt3Z}_amOp-x6vA}k(M|j zw8bZFC0?m}aMGNKPeM&xcM9RXlmag9zkk(}Jh09P>G*2%8&|V_S32qnZ0} z4c>R)0+c2Gaokosg9gP7iJO5J$TNI`U&o#0_ZCnI)MX-ITWn$NuLJkHvOAvJE;H|5%3Tbu zr!XJI(cB2+S`Sg69Q8p{{$xM$$4vA>JN%rW!3U(L7BGP-%D^smz(ZuFKd;<|Ys$#K z?fPGYopqd3=l1n+C{o;AXC^tx@pF=l#RqqHhvE*!9g4dYcXzkJ-Q9}2yW9Isdf$Kh zyZH>4PU%dTKYp=C73gpJ1fDz#ou|s%D9x)e84Z~N0e$NBjUygHMiQA$Ks34xY z5XmI-H~t>~z+^1qZfFdO$rJsabh24|{Qzo&d)$4^oEe?Vaq8`5OTY+ba&h`vtq8i{ z0_+B~vmNZ0)RY|oO~fbmj`r6i13wTNlMlAY+Q-_|TGLw9T8@u;*0$DhsDcX%-G#kE zT3bE(fK>KB?Dy@x#B9=ZDXTnO{wUW_R*>uORy(MpNe~^#=HGg%n||XX`~PmB-`S#! zRmv(~1{BW`o@yG4|Zs2{O4qIIM* z>RD7zya`pU6RbC_WrT}DM_UOpOFM`k#6P5eq}uX*d9>0&?FJLjg6+bs97XBZLfrdZ z_?Rxvyv|*8{t|o5_nLj_`7axN44d&v-wjLIU+<)M;G>T|PG7H|XMQ1|Ww>rsWbcuI zuQ4^fU1VtmNgFog=Y&6{YNIXP)a6384PkJ67;BKEp&fq%tX0r2Vuuo_lIYUc1 z?|blBA0rnjk+iM*?oaOTBodz|g{UX#$TpHllK-DIpdTCkO8Oms8U%fNe0{j3g{5f19#c{mcu{TcZpC-wCgi7y%s$N{*h^P>EC4`X@}mNdknu7(Miz~8zpH)lxs^Y57{#I2f+ z3BX(K*fZ3}&<0o%DPLUVzTMko(8AeOmsQ&fgy z=rwkPQNS-yfDIH7;sQdc4U2g{9H+AnIkr;sdKM$o#R2Q<=5G;)Qb6avC`xTeg|qE8 zI-(WSjaIO{h0uMR=K1%4zsT=;#&;e}P5QtNKgF@zj3J@_y6^CnO#q=|03zIFdNKkGQ(KLHbmW+hr3}4`;U9j%S%jqH{tgv z2%-q`a}9DYWXB77m&(wayWj=)y%*=>cQdQQbhsVy^Z_A1WIHB}W7wcRk2*5PF^NAl ziSA&uV<@VFO=KuKVFoXOE_&fb$N>Uv#Va35kxitYAAqx4N}61#rss@)3oo@4{5=EfSppSkaffUDfZ&EEl4TP1!!k9Ws2m_G+dcx6ml z_LcpLEr;r8HD09maaqv#jv+hG#Xh7BY(@UZ{eo=0_hjncA!YA6`;mW<$|8V zWN${1!=bV*A+_hSdltwbn*5!#>{tD746qnA?*#uuuzw<_-^(5UhAkl@-~lHFtKj-Q z#&+kvfp&pvV0|f2jEBOl-wDOQd>$hLH3L~m18(F0?rY^ch7)MG=PQYbzq#kc$Hza2 z8;0`xI+-c;;7^Ov2_!@PeV=aNIFr)la3Vv{bA|SJMRWTX=PYFcSAC_{-iA%t&B>Vp zcixhYO6T@W0)H0L08e4k(;%z?Oi!i1L4Dymi?u#3RVPvqDC-xnrF$#jd!!5V5tCwPQNdcw;v zj04~=O3?crq!X#-%Y&X5;CWAzOQbJp4FX+irsS6Yvy1b846X}-NoIOFq z>?!O+Y-w%Ng#gaHSJrFR3)buWddvFI`UH1QF)F}JazY~5BQVQ$$z~zHC%-sXEGo^D za?0K1?eYsb2itxcD1Rt*nKlHJ5=t87yZl2=0`GW}?St*)g7OKeKJ$mKB!EQP8VHwg z06nqDmab73B0EL8BXdT+g#lb2F*Ra-#FdDak%gl!MAfitv1GG0!yQma7%F77ZMD_0 zzq1b(Q%Y^6mr`#zl`@OBW;*S?_Dj!BKEXDJOyA!W4m6!}ucMLU5j)Bf%inH|Ur56k$+Me5Ex7OeNHu9gUyzFTkqDZ748K$!*V%daq~0tNhc1vuxw=)da!=+6}>9T*e18YmiU7hJ>+;Ips*b-@2e>GUgd z&*w(@`^f)~|GNK)KLZ+oYJtu?ngyJJU+94<`>(STXot6mceLlHy9eKMJafRy{B0x> zpVl))X#y9Zq6p3u`xCXqL%7wgXhQyiVW~&YEOUl(fSHqkt)76JPlYGD(_!B`(0_+G zz>o^)5}o;6s_h@(D+SE{gBieKy7|dq`ahWaCBXZI&VNpR{;9!#zv%FOIg*BZyx(|L zvVu5^f&?7!Jr(H~+A;?kK`*eB8W7?HpE-XzGosUVklN9dn|dr=Qkw%iiI>z!c zs#Mf==Kl(lfKV53Dk3rBYJ@%VI0zt{Ww_-Zi(&0>^S%PdkVXKcWxsCWz>>{NH zeMEsg%BmmLliG2%3m-6hIlek#;NH?Z&yiD9z%k#9MiafA+rP3=7;oZQ&VL@XQGb$^ zqG+;KMr)xBVuSfv6vp-R1G>}LW_ZkvW(mh|$0LUUk~+x*FBf-z8oI)V_&{$s&v5cu zQSTpe&sTE9k$=_;thE^2znw&s<=puL`Aiqiel^ZK;#$;3`FS1EIOVs(B2J#^*kxg8oAEM*A@ zU;2&rWgF*w7|=reH`7tF%tOt73;%ydx`2O}0l1kWT_Zu|a%?4X1oq)Y{zArRL$Z&u z()UkrA7>wWQ8c!FJR?cl@5A1#&g|Fd;u+)_&oOc| zsp__~cQy6@(Fgn>6SQa`o_l^b`$4L4^B)g>2&Nb`vHe0XOso+|Xl5eyB|q zka1C_MNjz*J=Hq;fIs2R0^FN9x&6Q4%eoJtqAguUI{2@}Jm(nnz{fzI zr5vBkneYI6Pz0<1@h;S?+BUT|Te=pqn{%?9LhdUikp_q<#8LL5_M_bJnQeQ75peWX zg-ZDK{uFu&?S)1{9ic86LVpX#g%oTR_|vxEmfzkVHXtC*BhR;?v;?hgMp=`q%1wAw zlgn`COR$e1wft3jC0&;`N!=tvdM8d3(}|_*t!lD(qI8vN0y9KK>^87 z1N@2*B4mZ)zq z#+n|-AxB#3@hv*>fa8MM&`fG38bjD}p3XR{Pv)jiPg?RHY%6@GUQjQpPt+7z39SNE z;4q4&iF$f=pX4?tnW;HpryP+?fKHMFla1NxXSjuv+`0SF{tltXusNSNrh+nRbJ~~D z<=;gQ^a^G1F~?eT#$CDfeGV0TkkgTcKH-*m(Y(z@r7R$UzRU}f!clH>=H#Z2)Yny|F^MNCjeGyG%|LGAlsAKsu3DTtDgtV%ju-d1Y4TRTL@> z9fcfM&B5gJ?J^RW2E^(6wQ}qX?4?Gj=ak0Ebx!I&$t&#w1)Q?C!Kb^&*4&oKc2Za< zj3qmG5x4$&HU^BQ4s_u$M%d0KA)Bq4ZI$hdtrYse^Y#Ml8NMP~K;;XW(cg!mf53@9 z$|mCV)P>p72&t1)PjX0K#L!k^k9g3Y(_YHfgQ-J=bvhov(NPgm$0El?c8F{kSuV0- zWVOf^k&BrFj*a>e)yi@aHP8U-A!`<#2~UNdw)Er%<`HLz5z+~%tDIEni$9>ZnisF| zaeb@N%Pitph$`oyV*}_XnPUPT#Uo7msu+2V%lc@&EWQ7Bt+kd_JED%~r_fs+qRv6p z{8crm0nfE&WDm77J{#TGeNqV~uLzT!UB^5=y{MWFpRU zoZ(JL;`|BzxJ?Dx%ul`#=%6@y<6q_rPW~aX)Mt~KaL9aW=66)4d$>wyvw(<-lSm+h_*J8i{A6!oKQ1xLHu10&&3zkFmTbUf9TX9L)l~xLu-!-<4jdq`5 zfHg7?1TJ~zEX8&GZZ$7sE72$Ky?BguKPOc4})^Gtg;0v3(W5da* z|IG#_!0=7Q4V*DpFE}swPcVH#3HF4>Clp9{j}CBf&_M?1m_S_MyZ;C^V5EPvf1Ce< zKaxz)MuB?Zfb@YQumCSm6uxBV=vOL02G1N)fKQ@QECCa+j2x$UGLc@A|F;gWWNVN> z89WkEWGXyIM?ID5SDyYk6Ri1N&eI{z|8nlwp;X64u&mMCy_uuGq60j_X`Dd)t;H0u z2wcxIs{KaJ?jX=!b$WXR?mr7NoiC1;D8TRWI^W^rHov>iKR=@;d<-Lj47@K2hH-$G zs@wp4)(h{@OkUHyVSRWKP=Gzm;&#ECz5wKY4%b!^=6E*l@+znUyP@Np%IV$!FLWFn za1;HgZH5&@+ZQfZC`IzN1wg&;3-?`4~*v8N~RR zT8T5H7e>g2w^+}8Io z4Mn-%W`d+QAmRZ}Oc2;AUi4<&}Wjys_cD4;eh;|ivMbIJZb6I+2?vU73C*dNjYk6#Kl3C;uoM6qdT zy61(*B-y_c>E0dL_F2tagI_~C$Xlbt@5rMKdwFtuPr?U8kjpd2-5OP13FZMQ|FaLM zN}s=y4WTNkzr^4hHiU^}|Ha|}`phoyCBdfn|BeSH!1zVr0D9zq;m-+b=+0+mzy`MG zv*-QI&=fWEJ>ofh^ZW%fxz=6Q{f=ctI6@Ek0ew($s(zI)8#ohX&@t-I7gvU`TeuuGyFDmi9A1{CboqP1ENAFkZh-pl zf?;k`&(HDq2-UGEOn(~jcgV+#_$bf5J$FcYI)DXCB24;}y_|%Sbe_k_@O7K-jK6X2 zp3|G6&>yMg(blO|)OX4RrMR++O+9<10Q_8a@g+IEru~6!nytDm!j{tZN_ffkz~{m> z;fSyeR4|oJd1l@$j6+1F={~6F&sg4 zNeVb?$;4c8q4lS=jqpUMX4`DDQUPMc$Kv0TP7lyfxyvMA134wh_1pRmqp|tXYz*^0 zjnwjNj^!j2tToD!OtMFxMmmv0f5xukVx*-vW>R@q*{5t)4luXKtX5WMs9%^Vrlb#u zFm@V#lFno}yPPO^j>6)mgk9ZFZEXu9bBpD8bBDj4dxU=o-29E^+oQDN$!XA{XZi}a@XRjwG=Y5)Ym3J%K zz1Q*o%e^bf_uSx3^d4Z_=Nj)U5`PWvJ(vO;`%)LWJD|&nf(c0TpYwofRDi8)2TBNz z#`W_hSSZ1j;Kl!+JK-&iz;bj!vB6Yq1lh_ifR2HNf!1sTSkHEl>tu{|000LAb_>7z{^#POkzWc*Y!Bos6Wc0z+d2ZdoC==-fR-jl&gcCeY6*vzXIESbE z7%I>$)Um0g3$=nZwvzsGgQ>zGatI2$UeH+%M4_0;d6_P_9z57xd@uFP+~!H6A57pe zy_x<4jeZn)!L`unOjC5_r2Ge20mHbbr;4I@$lj8~z60zGu49vIS;_2tPZhW=TmlDd z6&4G#nF#KoCgila=@tgq=Gcyb1OjCIUa{v85Tb?#7QlR zvL`(#E|Kh~@APo%>9lL1?8^d^#t;CpqaAsJfLL)#3jnM^=9N zTg-l(`>f_`;|?1Sv*Se=N-uER%m;h0&XEqrs0NQ(yh|#;Go@j>`Y8U(i`@GLj_wU; zl!D-wy?QG>r@lvPre)F2p}U&LbA7H#pt+rJ7sK#mS4ZJ&<-a(Q~56H!q;E#bj>;XEHzsNf$Vs8Pt@J zKkSP$Gr9mj%Aimmu<(CIvn6;5Te4iuq8%qBZILS@7^aWfPyBV zo|;UZ%gpYXJXV(F{Ze_fK@Gv^)5r^XVOxU-s64ryzq3d9F&N;auwU3n1z1Q@&=z`w z&t&#Q+p5|++NRSDq_)S{d)SxS58LlCsr$&sbNdtf133HdWQrB178vXS$tixaAFvOy z7bBDKg-{+XfWvx#n?8djF{){l%;_&1)j#S)l$CUnU1S4ATH{Czt6}YkKEW6MLi=0dg?dpQ5U_?>AU>G&1%3cZVNykv6GNmof$9L=uBN9ssY zUf(K*P+%@s?%<284syxBzssqQ)sq>$jEC%P*~H$a1CDacD=IN*GLyI0ukx5xX4O#h;!@cT*itLkg$Yw7FZ>+kEy?=;^J z&_Em5_+_4e=M@{&x}zSH*vOUsKPQ6Kx!aEhlA!x-z(&B6!C&+N1;_w+96TIc7MvFB z3qM#HHXwg69jst_e$7ELXjD)PN@#_EC|irBMw1e&0r`@|i(5o|pq%m9>!dAHI5 zq~QEqJ@OgW2tNcPCx(YN= zfvp8kxTSi*S*BtJFqZdHCdWzMZKcTw+>a7gHJ*ZmN1o%ztHKG zmLEyIq}0+xQv3JW8-fCk+r~2UGi}*zpM+b&VS0dN!h8_G3}GJrfbIAM-{BLAvL%r3 zI}4rg2U{V#-`XxLIwNb;OhD5E5x)CLlO>*9n7cFuJ>mX}i_7`rpzJ~=^CuCu_@fq|$ckO?P zrKMEzM!6!p1P7^iNe>@_8|hEI1ZSW(tov_h0C$*;%#X(CF!Jf5N9s4U8Cq>Ey|z)U zs=iUi;EZ@i%Fzyazx+VXk6wA3;!uyV2{9+BLrsnE#wZ*@e>*bp9$3%){}z63EA_QE zs?hIXgGzMh$8Z)egpYr2W<(YAiTif}4E;>*{e9f?V{jSyNoak>?L3ZI^1b8eNd_|&*y-}3FiS}mz^0f;a)gqw zV_+5=7Ts+AIE)vdI2GWGyCQslC6NC&Z*iZOQ{SId-?=1vZ}sga)8ja<{u$_TEbQkR z4jZ`JQ;i*c>p|j`VC3@R4@mJJOh60z`Qw3~0W0UcFR1@C(}4S=gB)ZR&~!Wj?QsP( z4wgk7Tns-zE^hu@Bm)*jD=e@j^eaw*_Dl+<`3w7(`s}{V>>o--I#^3jR?k850X(3O zB)_Nv3W1#QKTtYvWGk}~_k`r6I;4iY;qTrJW$jlG^jffWAFy)`&~~T;NJkdH zJyKgXa}I~01gr{6pBEj#Z92Xs^zI!{`p0vlW@qQ++i;(ElzV?G_v>nAzDw!(mh%6r zsRUcYRp1C!;3_yF)D8S(PMaO}(2fqgEL=iIy1Y5g%}fLy(Ff$C4=9iOuphVgYIcra zalL{K%z-vBlq6o4=hy?a!Z>C*vpMlgIQOB)Vld216hK2@3mbxB?D&A6P`@Vgm2^Bz zM`5XJF^_z}^J<9>=n3eqR`80i(`H`k^cNV z`^7VGzYF$Ado0=i&Fvk)1%vEM>?iT^r4jQ|1yYE&s0`)p7vUN&GiiKkZEk%{x9_v0 zA{{KVMX}VktgxiAx=AUSLRQI9G)XV5*+>r`D_j;7+d$h>)Btbov&Gs{9yw8N#r}{L z_>voGi?nZAPdx`7ziKd_m(4wBfb*McaQ(a`!_dp7l!aPlEv2?qZ36aL0QUJTZ;*${ zJ>)*}6#1B(UFk;R*(Caam)dMHh~F|-EX1o@0OoIt^8t1HF+JQay7iWH>Wgt(ePut& ze5P|V(Hq~U>KwpvT%E0m@gV(LoMW5$gOs$1Mk^dhv9Pd}jfQk$iAEAL&TLPuxCB~= zfa_E7E1Gl@@6C0*T4~LBhSRvG57r~}M6D*A?OL^|nwzsfhS%zM<&-=U4Tr|ZK(rSZ zyz}H#vGWz3+7};ZD$UY=LulPVkBdojq#EvD6(N>FFS_H&_f@_ z_oHx=Uv*dVT=z8hp7RR6#+?0azRSKRzK_12zHh$wzE{4Nz8idQu&*SY_#&^@dj)rH zI_}{9C<0V;fxrJ}1?U`@7dR708H^_Nqfc-WUZ9!5#oYe0gQM65R6kgWec*Md4qn`W z1=tOo8XOQp0vY)=2^e4>Spqgxf#uKywFZYQgriL1UFoUH{`LdzA@nf?*$s0hK9Rk~ zquBagnarTi{2jZqALp4$Q<$VR zMSW#QdHI%mdK>Kh0AB0z^zsGa_P%hcuY&b=bLX$(d@VrhIXnCj(tR$02?|w#MD*XM z;RHfB-~)U>20F$FFoYj&zBN;&X)r#AsW0E0*<2#utr56mJUZU(C_nF`3iusmuS`x+ z#c(I^CpBO+HERmUWfl*%@u0{eNzXlBb__ldWX zZz>+X^nL*aj)osUKXdpb{fG2Rx;PJ z#~md@F)H>3uBZTRfKYhda8Iu%3#2C< zU;?_jyvzXJq4qcn{@==tznJOo46xf|80V1Mdpa0y9#vp9Q{Y6pfit+nAD|NW=19rJ zs30gH9!*y>@c9Hf$^9gUyhmjk#doVi*3@uxK^vGw-ar))$_%fzb2D9U@)sXj&`9Y?88m!QzMeEZqmtCM-6+5 z{9d2&P2a4yA*t&E-d#<*O-HHV)g6j5_^Lb<9^e*Jds#Zqye<pKCl(OzUjgy`hnCo7k;6R+|VOzV{F50!);S+8`19FwWRfCdiOo8Uz13dc}Oc#hhqp;fa+;zF!!oo2mn%`PZpmBgV( z>Im*w$}}<$NTV6sghGy_8)TFvkyc98@gj^;N~m+y%vyUAhy+rJRAar7n$EjA48Rv- zI*En*m;feaLrFy~lXgrUs%q+GrJa&l*@SAT2wJ6E(oM9*`B62$l=~`0)!XU}_93S? z{xPPTu`oVP_?sKd0xc-I)4RS=1r~5CB*L<01!EnCub&DISZ1!_|En^yy9j$X-slGV zAfrIKgaV<4UO{iD55aYC1g$}4lnLXgQ+G)t$Z858hEhD+1T(X_!)Rh8HKvfR@|2W? zI@%Yt2R(mpCAYGlXJ?h)a_W~eX^oMJ@=Dc`rbwI7SRRm4P`{qC!!4OQ3{}KsZGs+z z4f$x^a_n|aaWy0lY%KXZ1@~BYUAFZW{68u{Z~Q&q0}^V0 zE_i`P2ge78!~XRNc7OqlVyDQ`z!LDoWHJIm`2aio z&B+SiLLExwo8`554}02sM9(jH%#H53RHII8ca9^yVoiSih2=9z+)~ z5ocfs11#bUh4?cM96(N{fY0fnLma>~Zqe54_;Hftmdy2#>CZ||Q#bTjKGZ!qnDf5E z=Xrwjy#ejloG|Y@7XEi6yzOW@?g`AE=FrKlp$6=QDL79j@Dvn~3>1);nShHlkp|2a zNAd32i7Ma~E}W9GR4uQe! zP5o*O{;v!JU?mCQBU8+ke1(d541iC+uW@RA=8{o4S$L{TlU1W7II`^pUzp z|DY}9z4e>69W0zt-A-ChIyQGUl{3kSQfn!Pw3mrpIx0X#`)79dRcD9CB@lmK@On+5 z0w=OO41N&bfRA4*QU$sRqd)>Tg^YNLD%zUZTG;BtAA0$HL)&26QrlHqCX&c!*&o|o z;%MsEjViF7{h$YIy6q@mB}(|pt-lW!LUCajNhF709?sxJ{!Su6dUgkP zB%yS-EjbLuE_(#C#Te<4G)~ToBcNcI3+t!d*D9gtbsNjrSCEn8b10Or+DA!~MUQnV-*0Vs10KQ*W~xH}$1>4lC=q z^cN(iye7|70D*NRIqfk>#c#BSp_mRHIAk2SM&g;@@mpPD|HToX^#h&PX-nTXGZpSOdWUMfB_XLSwQy$1xua zFpbp2hcRW@a9Eoyh_&znpCId}2uUAx+#T`wEyeNI(gUvc8ooKcB>qzVZvLStb9$4` z?Z?rV!=KcDpL~z`WPQcL#f|kAfD4TA+(Z@F5EpTw|Dyu*B635#S3@C_x-S-6r#c4ibt^s2*pFEQimGQ8f|wsl>fc>wG02$433}z z=U+qz{0juLhyJA%N%bjQrOEzg60O{kN6QZRp)`RVqOVZel@i~8(xchmH{Ry4ePi-B4oz?kPP`k}V6?!s zg-5`_@BJkF*J88ZaB#pqAp;tpI3|ROEgy=)9AphtvyEg*kRRXiS$mW?NW3KqQcX4# z^pqN*4}2kx6-$Wg=o8M_df1BCo=|D}lSX<$h-O!4U+Twb+g#fw+Y%VbS!^tQY|CbE zU_WBd#D0TMVpk~}PNeuSdzYvNv@M+4?(8m0;M`w9D|f+I#4ViM_*>WYOE>^ZXgA@@ znxX%>Lcjl=9y$kph)z<1q)G~V3%f~I*+rBFhe3C=f#0=b`ZA-FS(u9N;Jxq#H-9W# zYXG(-wQD!YaIdKPb*Qrv=ow%rZFKxzwAzuzZ^kygE}o4Icoi<;td0Pw^d?JXI(PqNX)t>XDZQ zUaZP~wHNGD|3*4PCw_wC`PjnGbvHHO8mX;sl*8&KZ7e?NX667Yz+u<1=-Dww?Allz zKTs`Fe$&yrH*$|)nzzG!#C;M6py*lX@px}}>yqJgAc9;hqk78Z>ePe!^)irYo?xub>#r62F$D!yBY9exnO;#C#-sXAbvhGwxTD zQIz%UK`CnID8w zyHEJhkKYdu*MPY&M;pVQ@QZW}&(H>>;=eA8p3ukFY8##iZe-5zfSjo8|5FBbz#lM` zRFYj(qdTOBhVrN)&?@_21Z%?Br4alVx6M}}|mohk+WO|s?H~~(B00yCAEKcXL z8O#y~2e2P+x|d1VHV}ZFZ5>ODMn*n(<>9ztUoh*cq$SbT;0j2kZc^$gsgw=ehNV)>0kEt_PqA}qy-eR-9#1Ki*DU5Xx!7qcof1ZBnU1(;};TyvO)vcfl=`E zH_#2FKtuEyt-xK>yQyrkwjpo=v9JJ{K>zndw=_mNDSaVdG(TR1V`zv|<4ab>JE(k1 zk{G(49%3Bx{%quyy6xrY9-7*dDd zmzxe}6;tteHkdAEkMVd?%F`KZQ9!=erfCTv>WykQCTY)P>!x=Am{3nct^ZR zMX^g0r6TeLe8zqzi>I|YdS9canTi>IcCx@8l0jUCUaJXQaWN*Y1LzH3GygpTD>RON z!0E`%Zp2Ocr z_O+p|se{u0gQuT2lW!nikWfM|o;MI{#hYX5Rpx%lF(n(p$*8 z)>G2+3^idRD!~861pa{^_$0YMCVfB)SpSA_e>H-&c~seKBPWHBnW5{^4;@vV-E z{3MF_c;hptqp6-lKf-NTTsx!oQ3dh=`ojTSkq2?hT$Bb#HWCAe!`0nK=^xE5@p0sV zeL@2?7(Y-nr#=tcgi^3sIGvC~u+yWL3HJmQ=??1QB>am>;b!&CNO_i%r6-9GZl#8_x_+KXapl+{NHoy?*Rjx4Lk^Zp(nV-Kg|LKj36K6H2C2u z86qK6P&ZJR%;53 z*6;!BT^U27-fI#8rlPhB?F0xZ0g`ivhLixyVbc0?4lB}^7sXfihWv%Za0TehsdY08 z%)i=_HjXlv%Ui?86k`4gF;cqX2x=2pmE0xPK~e z8!l8Uq6VC=lwlq=A0@y$X%?E`cR2hik`l0tIbKrxayWqWw*4UdN~CyXBhCA*^+7l( z;2j&hEZqKexcwWz3D%)QXaG;x4Xn_EIYEE^o5?7LFSBE?ukEvKggr0*VO?4y<&fLU zyX2Hg0{C_msUZ={LDEVKp+pGrTUp^C#)}8Y{jk#`2vU?(OiC%;+EOi| z{zFP>VP(5qNqzt+F0tKF21#lyrRvl=vuJF9?Y8yEF0eG22wLcXqiMo~awlrinRgja)Yo)T%dvU&4nZ1sO z&|NoWf|A;P&vwX`2q$uy-1L_)qndrPJtY_`1x!H>CK{`h^XfM(ui-KqIJ!GWy8ez{ z5HmHlRa_JkvvThF_<$?n`d!Mc`PP%$8{{Tkg$|&yZ<+7Aue5)v{~;-UF<@>huDm1s zb93ebzxl8D7PGA*H?x3-r~)T)&i)}us0NCn-0pP$nG{qBCT|uf;4||82i#vQzl!kw zG9Okn02zWGIP(|a{~nR_mGEtGw;bxq}F72 z-9f$324wmQS86*H<&V*+)Ms1oSyU(i_vcy8rDm}N?o zTA&C{M9rIB++%NT&xSj&r7b7!z@c>iIfakbyJUnNBBgJ;^`P}OSs_LFd~KnH&;}Nu zCFj2}bAtNR3Lo7;094SC8gN!9z*HcUeS^J{_(JRfW8EF)O+4EL9xC~naTQZv<4!II z+I=K%W-1>kzeMMog45ZBDP4W0UcbVQ;%RVo?Wj;XclHprlq3T?tR7<2@0d);9UXwmnP~QpS52+7Ya;wj!-qlr_g1R;;Nto^*R~0lFqqOd%6WmA7 z&|WRBKIY%GWS8Q3c@(bdZ_NAZlcX?N^ot+ti&0i2*t5gU9A)AO)9&bL&_>sAc6JSqo)9x6wiz>k2l36o|B7d{=bY!Wryz6n zNhtn5GXq@cd*+kC*DL(D{e=RRar4$Er$6M_oy=Uo?*HLC>Kji&$4~SC9`6kpxWb;3 z=!q-11@QKNtAa}gS_X#0?B5_A*iIIBJU4$tnETI(_9sg)1vz1Nxcy%SQU{BJ4qW`2 zEO?8G@PLYtjXx8b5&lDG(3{Hi)4!ED#V1q?l|Up#eYx05n$-8fd&#>DbP_-*u-((f zliRZeoxqLwM(mF_yc(D@Cc2MASw4&=SGA}hLm*daO)Y!J$YS_xlph%WIK z{NY!0L3v;k>!NzvzS+kmwEaQ@fIZUap}cTFi}94>sW!`6Cm+7&-9*Oh=KP1uxKWrc7T+!tMae z6w(2dq#s@c0{8~UT$-~mP4Tilc${p=H#k>z=?YApAYKGjTJ7gy;w-lFD1UrHYT+u1 z+-26;xbw!67Px>7eovX!#lZo#h5_iw-QSTa(2yyCEaWCzC?7pTLtzR!LLJY5M7P>c zEY1YGihNgY#`&@{v)Zj*R?ms9@NCbR=2Br|y)+Ym;zo7$ll3T=@*Rg zoT7t{YP?=ve%6br(IfGWv;i@O9Q{kcU}N!PW^iq$%UjLQeW3Xr<;6{Af3K;wziXS} z9-?6M8`5uOSMn<^GSdz!h4=|PQX{k&Ew6T3?ZnUEJ&3HCA}AN+KiTM>S-wq{LJ#_* zonkdHnYa(+kC=S*#5U&#(@=JvN@DKrmi|zo39@- zKA5VrnX7;F(3tMHf(yo9i0?qkUlUxw8N8aemUpK2saJvFzu>d_yZg8JU;Fa~%Furg zqW|t1s6;x~1@by-koEhB4xt^r_YL;-7W3{!nV;6P9W7B1Z(vq3LjEf$%uVuNPq_Wd zsDcDexJoKW)?m`$=P=^`8fO0=feo4%P@a9HW!XrS)As-uQ$MfU`^mG|Q-&U;D{1CEa1WP?Tg~R^Ddg(E zL{U2&HZ1`qT~6FIZ&2bMLklpU`?o76DZp9E1-g5J@@rez6VQPQ5K;tYqyjvm0vv?p zTZ~RLQ~~pY~HZ=klsqg&h!I~jwnd<}ZkV&+YzO%-67_vqbF0-ghJM&K&x4g%P( zv`{iBn_-$#k`q{o8Pi;`G>qS_F#5@ zmb^Ygs0;?^0p{-`45SJ)5=y}mrV@Tyv%(oRM>qUUsE#_QsXZNBb#3XBG*gaIjw_Ya zy=p;b^Bu`5tE$=1=zdf$Q4yA_Q`Lz${9eG86=b*g8nrE`{TerYH>D(74wu0nj6%bA zOU?mHc2j8uuhs`IP)E9dkvccVn1w&?r18?YXY6PCVUPvTQ&&g=8-fSoJbQ}LzyY+P z!#*ds;%_~jIoc7iCkWsh{)M0RXmP1nQc5YGBz3er8pFHV34M+6r)gsXRDCMz|35_sutROA=2vejla=y(-|zA_ zITycMpnOvrst4f%GHO@U!K$R*q5cWVZFz}Y8632ko@_8(Q7i~xChXrM`)GSvl$I&& zcWm46Yc*%u>SDV~X*BmVgW%;^B~64r@jq-Sh$^eHyAwANA|VeBwduP+=R=fZS@PqZ)7wV=O6h|lQgE=Ti*N{8-gE_%!QbR3tCJm?n8`(rO z!Z*q{6f`j2*9WCg0pESxjIBu$Jc&{ujc0;8vwH-pfI4wI*dacLoXxkm0tVxz^>DLh zB^B@m_vm46-PvgKJ5tHL+{ih&PeT=8I~8CA)4P8wKnMebx_|>zfF<0r|9E17MFBgEh$b^dd2kPP5FaR6i0K1`Jurmj| z$X0-6RGFvLrxt9k_y=uD1vZ52A@^1`9_w>qoRaFR!b-p;Yz}@6AMPR_>@Qh_1MGo& z|A^RH%qAw%X{NES<{kD1^?x~f|DDz$`0~6~nN6bkt%a;sYZ-L^M+cJA~)H~B91O48gbiteHf&bPnXphO_xJfS8 zIX+IngzeV$ai6EvtFm#dn{MEQnTBp5J?@3^YAMc0Z!n8j=>(3yq7=akm>P|rOW%Ss zwv#azea#6JJWq|EMj8~5*U1B{ZzMA|!hUAZ*K5_OGUL=d>K1TD24#obP);sSl=4Yi zn0zQOY>(`p?E+KwLegDnqufQ2)t77^Si%`X(VtwwX%S?*YI1sj-E;sQU}(zO zO2N|x(Oyg@udxseVNvRA4fv5Ia%ohO#Wla)7*+F8M+%o3oq!&=2)V#h<7M}LcR9}~ zDnLu`9PbrxPAb54Uv2++zfMy3dU&^UFz;Krv3r97GBJG{?vG_-?-XAt_J8m5_5nMD z+`&?c53h+*s8X;Lb)W?k!`i3?BVh+p;SdOI5sLwr)I*_g$#}Wk2CleM))eS zoAd-a0S7yU`r#Uw$#WZrOP~>o0Bh`W(vm;Y1q>!HA%=VP_vkM$X%}DtR)gk-aQ

    z5~G*}{$y4k+7GaRWS@@AeLbA4&@}K_coq<10{`ZoA57QZ73|*{T}X32{s0Yh1{L%} zBQyzJzzW#m!_ zZgw4_6S&Js|AIy^E&WPnnEy;D7?YD^@&YIGG47&SpwcEdnR9|!wlifcO|Np6XI6#{ znET8gc*~xm53d6nKEz~Nz!f(fM(iJ0=?L{WJAShAo~uQty-+GCy%Z<#PP=XY3x4?o z*fOJSJs3YV2|hj96;jBW!urYb&~n>y-}1py030yYdfu8g%m%g=dV>J^(hIaiFQf?h zsR9X9gu}w`w%RCo1NJxe6=G#h)&RK(%zXCE_GPZhrV+9;A>ZK_Rql{J-~UN4Ifu7`mrTU3EuG9p1>Jc z+g#62yq}($EXJpB|4%sYbrnO&1H1Q%9Mx<}ZDlpuy+)v(56m3;p~_mO1eMcrNosLV z(o~Ysj~(JP9~RHSQZ!&TdlZ*OIlNR^m;ju&twn7)5Z7i`?*E#$-nI?oG*y5Hs3SfT zd$URLwA@~ir~sN?!RT%-bewX2aQ((svbVAO6(B1ZAXEW%hATj4oS;kfwho%pckD`8LGiP)Irry^Q0k5xT5$=TqBicc0XJZ zVZfSm{@ZYOU(v6kT>GxuVeo38hV6!T=>%%|?qq4rB}?ZAQ;eQQHQ4=wdUduP4g||< zS_kwDdr0?guV2)?_-zYO>o%CXaOZ8uqchnYfg>l6`N24a3Zgq3%wMq+z|MVaY8OcZ z%f@MoW&YV+&LGd0MCpXskqYn=2Xhip2Lq&|`|d8AxDD6RNw?BV8U@XN*h&7`(U_{8 z4#YK)JL4L!%Nth;&cBUr@;2;XDc5-r-hM|BM?3Nevm34HJ<4c1QC;tZ0m!F(lAp=< z*lO@i7L}3Ynb_68)br{;>QbuGRT$Z?=#zd(!19nI=8#_ zM<0yY7CSkv3QnLN?pN+MxB#NPy}|Skyc$k`jNJ6E{iW#vmZHB|$UdJzsPKfq1OH4^ zfsaAjMSKUnJ-spTY)6?RI6W`X6SYQFSd4_A|7HPx#pfXR*B@vS_!D+vI$cIc?bjH- zp#nL;J^9=m=71;A06Y$4;kH*n0rhbUcEL9=DcCPql6gU19tGhHpMn}H1fKJ3OZg3d zH0Y$H-{ZIVGqO!+FM6eT-$#5yao)?Gj_eee07p52B*Et7h$h4yWotl+n4Rc>D&xP+ z&29RcZac&RETEh2i`FAl0V3e$LQ|fLbn1&qgX)5gF95@yiw^sh<7U_ww3_oB>H1dVS1J)TAr@Eo7;?+%=Cm_b=!-pK$uG<6_(k5}k>Uu?tE984tr< zd}~8s0dqL7@qO!&NqGhqFq8)Dz&H9-;(P)$8Qy6=n+1oSSf&R9bo_ zjuU0^lD#Kf(=P6nxA^c4_`f0681DW9ocuAC?v~b;7MA9g5tc+tI%^f{KstfD-~a(d zP*dtfA3j3UfVQxQJ5dN%N6D80M^IXEGkbk<%X{DeQ^WjK)1GKu>D*;>bB&nV&oa*9 zz^h*Kox6^Q|>*ddN7*C0_HxWyzz;A&xU$qbj>^U%dqras1|u~)?CM# z-x&QvIsA2bapd1c1yPwA@C=9GDl)a=j4R{^Jz%_Erzf=2i$ur^Ej)uL$Q#~Yu~z093BflBL(Nn`G{Lg$3*)iwmSOIPO2b*{7eKgf(9Oe2hQ8R z+I%Fmnn(%#t%E|A?>v9;oIp$M#jj=qd%Ga7)J z-ihAB-rq^zy5K9xj4esP3tDf?eO(%?T`2I@zuDh{8+H*&zz_rIBBSqsXOySB=Xa8V z$D=7WaRvRi9x#+6{==U;VDMF&FkxsNXcK4=s2*?!w1A7#T#tVq7FYld*ozM+DR}?| zm=sh)G29&o(YRo1c)*ZPI5Joy_*?KYn86je4?Ecsx_<`6{aT!WlVJQpJV0m;&@$WugqXlkUgW0YxTD&zfnYD4!eW6;+2W6#2t?>-jWeL@{jN>I5{i-cD0iFoUMiFlxcENc@9kA9&~mpUd2peVU!RX$T&PI)seq5 z4d}@J5kW72!*3XyfEJSHR~PJ-iWJ$UyeijtHQu>$GnY*geGb&7xHfT5Y@!CWHCMvB zSo9wBEeXsX8uQ(@p}HO~uS2hwSLwI}pfPxCI`fa6vYRa`4Wty(TCpy( z$>f~;px8{TFGew^IEJROH#6Fr%mYip309yd@SzLJ$<(H)eXCuhcBMumbxA5IpO?EU zrut6ZgF>RS(a@|wR*=)>h<33pEK}U2xN-4zeEouFtmh$_fZe^TK>-nPXmxC#dkhe4zhpU%*}TMMbD7 zq5t^;u^<8qZeNKSV2}mwVOIDTcYCN82<;6`%~|(@{r@0UumeisNNR$>^dJYCfIajL z4qSpu$POOh9|RT{;BV`%iC!U{{~x9U)qTl*i%2v*>1hm8`6v9u2zY=Nc!Vp&UZnzL zjM+stKq<5U>Ddl+kA7|!n%Ws~x!vff%fskKhB3fPD!_hnJts50Zwk6I!|veEVJ>h# zcl$zA!6U%?-MIH#!2q=6&T7l=yHEl8qZAm=yl^3vB9R2KD@+kTF%Qg(KhQ@`NGlw| zlhB#(f^EEqLofv!?F+#`noO80(oeQV88A4E16GhDp2&@V2)6PNYQepn{MiLeFj zsTMKh7<>nNMwOt4VClK7-Qk8PAdZjG5yEV|b zdk2C$1b24`5F`W%?he6%LvVKsZaLRmbf3MyKWlwwpRx9+5eVr((v^DVGv_^TLCK?L zM!ijEx=dRN&%mmv?p82aXNLKM^P4nLCg$)$K zts3oLfM5S;?$(Cr0>k{@a0Te>%jMhTZAkyWA5CyI&i`vN#HQgB>>;}^^xw_^sq$Vb zOGbK%QW3@YwNOMTJBAVwh6pWx&KZ%P8qkBgJ(e!u3JzgUBSN_MYf%GQf(C|x0pzC! z6b1))8nFp(krd!5#ll=z=U>5hJJR2onV_8i1KWXiWQ)hrtDJ%F_=#QRPk9)-fL2Ta zb;N5_fXqSy>KZ>gwG3!DT$cN9M7~ljAWFNSK z&OH(J!E4k3+2{gF1tx)t^!0yG1NyU@n99wvobN7ctOmkcQ!m^$T~)z9eJc#h0Qo?wIjlZTT!m&3)Ohonbd!(sYbnT6SYR zoU?bRfh*{b@H$JYTdtM0_hIlAATz8|_(Qt<^6HDKkt#n<-rvF=hb4z4@^}zdLe)+c zLyBiwwNBkoJ&7bSHG9AT_=hgRLF_heA^kP?V5l6_y1}wq;NlZ&=wMWtZkuMKxcy~` zvsT2r!pjz=BkH9tU?#f*ebNv7IP23JeRULLzuA%J;4eC}ws5q5@Lcr+L21N9)`@NE zAM`t=Id3hfe4AibXTZ~`6llm17}s{kMY=E%X3k4n61~GTs=z&K6I78taF8(b47dl= zK;>7GUA|3UAGZB`-JdY-8gko?)Lqdvgcsby0B6|fGW{^!GatltupGTfLs*`vc7eI@ zA>6YDS(ybo(+9ZGP(H_9;RIew zt3dx`4qek=V>W7SCvydqM@y}p@j6b2AI(MQ3D-V& zfvwmGE|V*upbJ6`kU#=JO`HLbd9!ePt|isCJhQb06@D83J#hB*%>Olg!M^R@&H;zu ziKuT%z`8%_UPcE{pFKd~fIry3%MP86zTm0<2MGY5=r2Cw1fGr*kTMZPA~HsNO>;=+u?w#-kTyz7O*c_&#|IZF@=q~$%o;Zf(2A??VKhGnPPGt$c0nPco z^Z1i|1K|h7fdpP+8>r+8eUKyNCsJMMgjiX;M4s|5+%>zqB=Fm`t{3#x$3WDUbKeeU z{%%1R?qUk~T>);=TW_Mf9s!TH9ur;|Xnqh%klQ!_?d48d%qbtkYfae(DEq)J%m97q z2?nDO8XxEZV*cg@D$L;b0hfUC0Y*S;)H@TnwKnsLz0A+%BV9l!w|RNkfi9Q<_1G+R zV#Xgvr$3bwzX;545y-%ND%C{%gnH4f)S*_Dg^BizPGvrGg-kZqMf#5BVA0p;0BYJY zfJgOWD|Hjc3^!chMdSl~H?0cXIg8j#J!TJB9?p3i{V%kDM%_hjm+aa#Y?$t`;SV9n zv$Fa%ejPPbxl|9rPK0d=TNk!8Y!w;4*;LK&?>wq{uF9*fuAZQNN`^;2m;)<0|0hxM zHrAZg_&NU(Fw{CR|DQ07LTQtRRIX95Y+nQzHhb)4n1^ccXwNC01ulA)ekd3`Z7TiF zLuXnhY<~RkHYzi*WpbTi?>U&ClA@iM3?omO)=JYk6=f6Bik>N&Hy`zICpwN|aH1yi zQ>gRHa1B&?fMY0v z@{!481aavH>tdCmDM)`Ce28AaWLib4qMK=KFtb2I7!N0mP3Xv)8IoZD#Sg*%}nU6=*&ifN;FQl1L35?QZM#yUYJuF3|5Zv6k=(4=`6G z^LCO6v}`O_y|{$_KUK3 zl>F_tIBa!*S(l4V;6oE#-FCdhg*pS1Kw-E+2EKy`&UZ65gWX`B4Pzb{&-XV8+QWa7?3fmSoJ8XQ|C>;G~gzXB; zq-v^~1Uhh^9KTv10oj-V6vwdbB>H|NN`1Y?3UcK|Z8u6E#^k%4SEP!b^nhiGwXQ8K z2#Ok%wJ4{(8UK$H&}HvquD%Z1SpxUQ&G=cJ#m(^*S&0ROFg#tZ;*c2a>V}@P7a30* zaY|{xZuA*BOY1p#OHg)S2btT>9H(+7gRyp{5BQ8b!$vA}V@~7>n2}dO9WPlbSyr>3 zlTh7N#}TEcA(LUHz6QMDW1OKFv~~M*nNUY%g>{sQzAnVH*E9#VaSl>MOW@o2ntpl$ zKm9P6SG&j(_VUU}0;9Q1B^b_5HNGfD zHpY;j*ajb>&-jqYpb~yIoVU2QGmzMjs$YobM{fNsbPyZa1Pq`mZA7s&UDpJdFcsy08#3)4_a^dOz3mEozOkMWtYF`9$AI3JH#Kdr3pb|eBDJ##&8(FKpfA^4TIIPAJUI0Q!d+W1`L^ITxF){gyu zTJI^`f&WBDnCiZQ?rtK=yP5%iKt&JmuQLOc|Elu00lVAa-@@Ax|6C@GIRA0~RqDWP z^oNiAX(P(v05TwA9U9>u*FbJ;jxCI+%Cx~HdCWbI3hoFeyh%6+D zWFckbmVXmyKz)BP{|#76h42w<=zZmh^87>t^@McclaeTH!8LrdAPUL2>@;D6lZ8#- zUFNsFYDd2Yxu<-8+-~;7Ru)wb%0oMZhz%}&w${e8V19}D? zy?C!bUBPH>pjq??F`UU=eC{QXs@HUop`24Q4wKD!jShpsy8c>OrhwD?5>Q`~!Ttf?-MY{qm z?-h9d!Ql(lRyKgqDidjbJHn=i^$Y6}78w>rB{)WgUn|u-Ts+g@;5~vY?{K&PJ5lt% z4$nphF-emHU6GHzbb?;Q$9s=)uBkP;y;MuGHQx3YJCVf>H5jJ>rSo*o`!y0!vN4?n zlZaMBSR=dmOn*=qZuC#M(?#%l zP2?2noDZpqhj3)?OBG1tI7baAWZzC2?qX{StA6VH0Dk#8e+<8WE&f0UfD$?7P;Wkc# zGU&$NQ@}`i?53PsBUoSvXuIMPlE~e@mRo)rr(Hn<`*8dB=GXqzgW;gplLHlCHB*4n z16%~%dS(B?YrjN5AzUBaJ}NK=Y@!P|&sS0=fnPWVDYHNs{0Xd1H`S;PSYI>d;0^&z z`k$QsMtsx>f2b&Va&KW3Zw3A8fZ8CZ<0hy>7rZ9lvbpL2JLU%3_{w;KZAJ~0A4iZu zaBpvz#?h7D1P2SpbEdl?n_)d#o4ahDbLnDm^}LMVZwAd`_`K(E?#zsP?;olHs-&>_ zVg19}hqVgp7B((yP1tQ*ynCzSRG(CWI!b+3T@?0j0uY5t(NugefkBUCvw> z*y$b1@!s5yLi#O^`)REmEZgx#XiNoY#uO9@7I`23r2_S}via7*x(0#x2$7-W%5A04PXH^B(=Io9LxKh^dCCkD4= zFq?p8u#k__1B4paqQ3H?b1H9Wi6Z)%AwAe%bK_F{d~%=%D$9OitTByon4z%YHm(N) zQ9%vHt6(0P>|^xJ!7E?W3-r?2!3Q$283=|WRGuV;KX3*)t;@~qa2dC>WJ7!M4#vVV zY-v7eu7Xp_NZ3rlsMA(Dx;P8-ytNh5;1yn28ZI5jC)B}&d{i!v%g;A=Gc>i|JRb);K8&KO;Bqi_%UV;a}4~EkJSH~N$)c*w!;GY`s*p~rk9~+MU z<-iz<_)FvQ;YDrG)!(1ndoFXqH~2{1;UYYW$PXvT1}C5leqqmH5AA|Iw41jD-2Wv> z6ngBx=D+EG&vqdv=RX@gz#V#v39tl<`A_?LQUSJm>v+F)yXcJn#Fl%5540ULQ8jS5tN2=;+W1yEQ) z3KFo79&;Ja5#zz$22ca~f(P`Y3m*hiFdDYdJUm2VsQ`P~P$_OONkmT-kh$%v<4IGGT2Py=AOhBq4Wu$Z9N;(n ztsVReePJ0EalAmSG>mkLboQfUNlJL*ZAK4V96j&^I)FFmfg9iox}F_$X47V7&a}oA z1`m6{LGVsD>ng(pjAFmM3a0sGSUu^<@bIZ0tERF4%cMFUHjVqgQCL$d!1S==VQEy= z@bkPyj_-K&WpxqQKwI$yX{?#4xkZl80PR(6W8DYcQtNb=9zapB* zrg)^SN7oU9vZEWFTwR<}I`e){w3A<`<>Qzs+VgYl2fNeeyh@cVic&{s-vp!JIo_NP zP~)#bsaw;u(a`)MSK>@=irB(3>qmQCv6H zlNxRWQ@e!!)&i#gZtjL`0Ccbba*-4CuTnz(IsMA-*YF)q@x26NIO99U+jZVg9iAPVPjFZt!q24nFH z6(NzN;nDs&Ac4nlInVA}kKXwLoP~YtDp!z>I9d8Ab|p2WmGBYQ?KY_FLUGo3#Qb(R zpa>Wb53e)Rbq&xQH4fgH@q-0BWgE4QGd7%_y$L;lfg3yr72qxB`2txXn*$rciF5&j zIr)*C|NfkRWd@iKzyVjH4pf|iPQW1e-2-Iitf~WUfz7EZL)Zr_0SnlTzWfq3;3fRP z?~Zi%Q05Cv18Oh<8_1v+gv-M#%|U;n-2OQOY=tCrOY?CtZ2&^~gMGtH+^UL_jx*oZ z2qxfJn1BLYxK-p}hmsN6&s+ih$(R5WXf(IaIYVzlUX&yUAc=?u9kD>op;RbLF|IRU}Q|r+C z=Y-303oH#!8@#GCrp)Gx=B+U6TcfTk!+Ck;obA$*UfE4FOK+q>@>w|@X%i;Unt8Gx z-o`O$gj5I}XBqK~Fp-~^6<^2Wc%wF@1Bl?X&jS&Nbxp)Mu|72+0`HV|aJ*;J)n#<8 zMX56bpQR-MwnPKm5(bl)Fq6EbdE}+;fETn8weBde5VL7M8ofp6@4n!xHH8Xb)MtW+ zyPZr!zy6%Qu3?8E2MhO8Q*a|+kJ@JlE{tm9drtjOYCs#qKx)B0cJ{Zx18UIyf8=?p zZmIzqaG0OWDs+!I3~%%)boEX&LhVp6No;JEf)5nXKVnlD$<5!2jMkaDt$e>Za1WS< zUb3kn(NNj=z!+u9W*&~BsR>-mC~H~UE!zT|4f4V(X~neFhYHX_JR;_!_AVq@BfYHj z0f*(ncm^fAo#X~z^JF6*)WPIm#QW8A&a=eR$z$+*4PgJnao%c(Bd-PguaG-u;Qar) z9l$?T;JEJuTg4T)jrZ_%!i#hwTIAin<8XM+`ySFC*g^6(vn4R&3VxUxkOzH0aa6%y zQ4rh#8{8c+lMX-?@e1d%jc9|U-%2f{)1n7XaD;H1S5I9uK^a`HK>^MO6ajO&J0iI|8iK;xnZxsO!+zklI?LHy z4emRXpRj@i8vm{U@4*5uGTm>3eezo)tmMN*1tx&O+{DTZFp~*EaSPmzOUQBDg>N%E ze1{QGh}=O7yg+3Rhy)Fs&BPiH^C*#ebDOI3#_`3GmI{=Ed%h_9tqPoZ4LznF|BrIa z{z`WJXFe|pBx(uYStGuyOpa?H4n4`PNr4B{3xE2@XaO3MEqMr!8olKaJbr+>hSpM|6M3B0~Phfl-#=QJw7eCnf|bWs(mx*oPVEIMp3 z8GcK{&V&W2ys9Pa0HSd4x3m3E4Q~P~-2y)C#QD>t-=NnS5_m1%GLA9TF{>;;Ew`*& z;H7qQ)OA|Pt=k~f7hj1prOvX)ean3wAD6CZOK-^0vQ>Uf#zPzFi#SZoB_7Aw_D{hK z4tN3-umzod9s2&Yt4Z6W#>tHr?)y{xz!+|7VCs%?xu|KGv5fH;p3O~o z`~_=qEs2Oppb`pZyMf8T2YdS=sAU4P|65MK1r54}u%a}9N#MJrk{gp7bWK*{rg7VC@bvY>kRG1I z+24zI&|pt(JOJLh54z{GSNp?V+3i3DP!gtX2poW*e~}RK&&mJi_XOXY&-zQD7TAqf!25^~XoYU0Qo2Oi&~9{vEl3f6#s)#aGivchQ4otAy_R;jo&OAJLDTuwNO z&#oW*=ohz9GFb9%P=MKJJ$k~%t;bz!no{v984Kr7tB zlqAvlRGF=CgHBKbZm z@m!9_bQ*(6u28Z;$Jo4Z>9^AHmH`8tVX0_IMN`wxT+p0o8i1zevT-O1)l+l;dDw+F z1_fWh#yJ_bSt0EXO?Ay{SUnZOkE^??3#reN*;7|lR`ovYNLXyx;;{IzgJEyNDyaIx z2kfJMqOKc$I=rUlh$c+CKpO%hT>_0BiSl)sksY|Hw)vGg#xl^_#HOYDzv$TRTJCQbMv{^=n)hRkrSWbLi~A% zp_t(u3G7kux5D*B>00XIt+qgaRi6u1$09>o+(+IRhnVuR1$5(;R+lY6cQTW z`PKes_?QmB%lxdjnfHdLmS-F8g=66Zc9rh%fBjhK4XU&eZxAaAyANyvudsLC#;q{} z6hPSo)}YhYa?-Lozu^gajVW&n_v~ak?GAwoU;@bx4OD%W=-E4iMBim{ zwwja8k!+&pSZk1B`_LZe=;idg$_n{Ot2-%;mP_JM_sjjBUGxojWs}`C*d@iv4dnEs zJ9HrXd70=JzX%6~`9cRlgO>9I&aNYINuCA*a0Fe~QqX|TbaIuc01bdwi@Ho;sMv$1c*jCy$#hTta6LruYvkRV{+BAo=IiIQg1rzrG_JL*e z+4PxFcrj;k)1YX0a zz;0m()5HL#u9@bNmIO;}>uqZ<+Yj4Bv<$Z#L!CvyPs-6%-6u1wH`&^0rK%tS#{w0g zo;*NaNrG@jw}78U3_qQFIEZ{eJ9L}(H^BV+D{%YU-D+C-^Ic=N7zMYe1Fn9NAPtSt8M?t6TJX`8-lty4w+vq5V9vG%y+GrLKVb{^VFNIO zI4xtXN>HAK)aXIfo@{D@9FUb;4!C}%$ zl)-z2I>H;0_UbbOq-O@W!zS=h00o!?@2oSZZj}JamJe3R2kzpFFl{!G5-}bI+V2Wr z2vmSHoViEr0~5i6bKJoUMitv`YaF_pfjL)1) z_s|MNu^8XWX(o}5s8Qabj_b_?@Bp1nU2da;sA|=g2j)5Wa0H=ODjcug199o2TF0vsY4Bo$77)$kYU=^%k=)Mr!+nFMO945$Gh6R4`74BDW| zjV@S?_s=LzIoRqA;LwcMtGTmQu=O{9oS(H!wVF8}4M09Gf&5jW_dhLc5$8w)<*M#< z^p$o`e$N-Mr*p8=hkz+R2Lu8JmPT>!mqLf1PM@mF3*t6e{{U|7RJe7+;qCM^-7$I0>&zJ~O~@U+ zWhr6pjt5DQ%}f&W5ZiEDH=6Afi(4h9Ku1PjC3zQA5D!FY~)Jv*GiXU4@S zIiJ#-R5O$TCn#>Hh^8x&d0~ek9gd63jRmM4rOdIokjGlAD6M*dyw0%~;bv(CyK26x zq%ci*#QAS6E)pMzWu$gwYhEEY$SVIKkC2zM6L>D?V87SQ9f^nd4EG$~qGA1Y3QYbs zPJbzP0kFSpbpQWa2mIg9{eQh*na=+{ZUk-N>z2V~G_&`I=cVT)>ZHw{!=B@wo1RpZ zic@ea>jN*bCAWHtKPS7svY>;3qvmf9((7g7F2x<54t3BYasU!R`8RUT6(nFhH~%ndz)*f47uW~RFB~7Gz=|=idV=@fCz2h8=`tPj5fQ1R&!GwvA4;828cG01F__ z+y*UBqG_N>N9xoJn1FAYLmPlMZ_{_u7sh|KCmNJQ*nnm61n8|Pq&bGZFE44nQEG=e zSbYmc@O(6ZLsX+x)8PT`RRybi;}Nyo zliG_*P*Z$@DuM*4Of$JzBh4pBBWq|`MA}anPGm8l>`$!Uc|5YNK!3c=QV1`Aw|D_0 z@-Gi$x){lhQPMY~!;wl>2V$rL_Y9ehwO|Kk#U(Atl+UaOqo_op zQ6k#SdM2$Ylucr3_7;EPAk;VT^Bc}QaS>P7S>OZL48IIHjb)i5qQP9e^bbDsWpjP< zi2T;$IGm@UKdr!gSreYsBv)x+nUE?}1Yy}MK4Aw_Pl_f}?}JoIt|s>Y2UvrHcrvQt z9Q-t7(!lG}^Vi{b4>duAC&?Z_&U1I{&Hi7m^6pc)NM6-t69|p8cN1 zo*|y*OdQ2MW$^f~gpO|9VI&&Z?rriPqQlR?srN+Gg9%VMLgxK4XbXP7 z6=xIhz#or7s0Kd9XHf<_eD_c~1$!s4xoqh^CA;tl4TlRP!w2rl46un;jfp!V1wQvB zW`ONDyC{l)K5%bpvwKrEfgx-HUvS<|f&;GMwjE0aXiWw11u8)9Km~XLBS1+G+DfOd zcm^wTz)0?YB{yXJ-zdN;JOq>qpzH#az;5m~X?`tjpYaaNZe46COKMO9)X`1g1S(1# zKbZS={Y-ry^f(qKfDme;i^@2g4!a2VYgSN`7dY>qH`#C*J8aH{o5@_V|FT=1*7|H) z`=V@af*WbPrL-m5{K3?c^RMCjU*_Zo>(7GMozkVC*ek^BK108cT(a-_5JOo~3R{y^ zx)Ut0GA<3d*wMVlGpQ|}p_9xV;BCBz(=&`z_qI3)>>v^OCma5QrYQJ@r|C;-!DyD* zBhDw+Q`p4Q#(LxdoeG4n9Ut zkRHWiI`TsDMHHq6l&3q$3pd~_tfDsl3OE?8@-<@%Fpmjf1I*>ce7}FuS9X@((^cjW zSHUj34~wi8jt*&<7;llNuJD1Eu|XPv%C1FV6R2VrpBb$EDf`poY}Dc3%&9-h+hK10on(#1pi&w| z#b`o*TNGx}HE@XGaNmpJ2^>ojbp;#&=cA%eW8H4)!kv_49)laeTa*B;O!@Gs8bLD{j$m{4Rlf;O%FMiiFPkr-_?c`QW1s8Tj|L@P=p&YvUP|lbR_+3x zOP={u_i*ob@~PuI({OKT;t@T0J=f?o4Y0N%<$NHvwWKHF1nPCL_(<3Vd!xEgLP*CP z@Y40!l?i8uSKRjN$x$BRiXuyKG&9{g*KVpp9J|0Vp#K*5oSB@Dc?P|>b#=rg;WTa` zHEmx==qqjAf5WFWZ) z-F0)R0|%)CS`da#sIcPn$MkRXCFlo6q7w{b&JQ)s#xtp|d9rzr`3!IK@I@=iJaNYY(xw_n09>ol{PTqxUzzzA0oQ9h|w>z&p z55I?zec7<50VO=bM|Yw%c3hXkvljAMCdW;C0-ni zKY5yX_j-%rNxA^$z!#qp%}-w#e>2bku7)+BFoALe9%&mc-QThdi75I!f;HNz!oPvT(0^uOll>#-OJzIfDkiD_61ZQ%}mr(`QapJf9{fMI% zSwW95iHV^LwaCHz|DCQvVZApYweCIJsUbEOuk(%8_9O$I;x%dn0a(DRHXR-{y>X#@ z1}~*0-dN`i(@6*~#wKtbTJj2PmKL)OETl`qWzt1T=ss$IP4k=#z+w1(6$!tJJ8*wC z1O4#_UQUL0C_X^%!FyJ(m{A z&D&5E9!o}KQh_&G<)A@Xv`B%LSOHk@>)n?gK4 zGfBwDxepey3wea%LQX2cF*bkG*$$3ntGk5$e>XVcQP>@w+5R8ma3=cS!OV|l?)VGEs+=mLV20w!c zkh?<0@zl2wrbjS?T7j}1Hh(e~C4;=9C7LYI0hXGUtd;}j)>M_oI032A8|F3)0a4r# z@Eiz%wOd~|1h4M|c6V9HV=PZHSsNG#XPGnnhPfd4{a{T^BdNF#JIC~vl5`Wym}_3kqgO2CV)1efRo4&jFWfEr~IXmx_7!?y351k z+vN#H*E1al(~me9)Ocyf=J9Zh8<1x7-nSZ;(5FlQ zX}#m{2mQ-^o7B+ll3Thcb`XCG3vdX1z}BcXelEeFfVcnd0G6`{7zKl@11NyP2QC#r z0TfNpIV$Kz$5J@AL#Y6NvJ3Fz5KtcMJ!?QAe3vtQoF0EOcl}cMe>1`Vr_l>cqZ<6q z5RPFA*uKG|0hgmyFNug#kmjrlvKfg`v%4`Sc+ls(f+X3@0rG^wPt z7o@77_(C`WC%847;OuBQGf)Q#Qvq_|^nM6F&|G@C*;IlA*FNU|Gu;1P=S-fLbUZKL z!CR8}sSL*@q%6 z)^qyf@Cf;-_rRJ6=7fGT_F+!XYnH)OMvzQ)#C(%F5Ms$?dBL;%r#TN*wyNoXQEOa^ z>(Cr#tL3_;aCTp#;=7K%w-VgF1!#}X(HCsfouMBn3yXIx{Zli;1;Zc4_r@vsCeJr# z0&DD#m(y@kPCGKi)xZyFyk)oLxh11D6OJRB$UZ8M&(juWg>L4SXuTJhPno}&U6wJZ zfSX#Ml5uL_wN?|nNRNY5M!1sCaR`1&Uhrnnf3MV^+y5RcpaQZAjJ&?wi3wn$yns#2 zHu;ErLB21)r2?c0ocXkYJ3r0;Xy*Ut-v95vOZ5FlPdO0!M=*;g!`A&Nucia(2nun5 z{Ngq^j-`-Y*xWOL8gR!Gf*V) zf`K?1^l=J!-%Q@7^4@qVLw_*C<^iXoLXK~o{{(7H8(3(;=ztdB2Uwg5V3xHied!jw z0CHQ7fB=M%3_6RH+#)#fuVSCXt_~Eb6WIXSxb=3Dz)_bu;5AIRF?fWB=uVODT}NA9 z`x$QkWV~o2G#NEV!$*S(6elInO&-YN@WK<1G`I*YyHX8b*}>F#ScqK{aKhPMEYKO<514b|1b@1qqew8qLVBesG@+k7BYlENW75an!*WvtUkZQ93Pmu0N8RasvDAz$TI{^H3 zCQbp${eMEf3<~fH9N;H2`+wr0B>GN=Q#>TVEHKew9F)7tdfCCx{vZ{gEtpUmszfd3 z!}joy2ccNp>bc@chcclTT7^XKGj9>j`57?6Nale>{>dbo+Wf&d0xW`6l-aiil;H}0 z`#clCayhF!SV|*J6U&RIgkHRQu7V)f$7^3f0q@cQ>Hn zUjvGOlW^|WFqe<#X70+_t3?H{q5Ukz{T<}^Ku3QAZNNeH{qbM{E13Hia`G2Y2^R7G zGOEHFdVuxZMhPg%6kgz2YKGDWyoMJL#7-bDy=nz&fQxfo3vZj2-0)qP2mazK4xtW= z;MN~S2NK0cItQ@G2o!+%IRDA~i!<>fknABKU2AOJZ6=aI<8a(7zyvT97T{f8on9u% zb-3z=o4%q!i-wt&3mkbix1Nm(@LGR?S+_rFl*K{7kHawi1COk`xX=v3eX0~*q1QCA z_Z4O^yYuD6?%HoYBJhJBG4tvZ#ylJRv+|Qgdn7pxLOgq<^&6Vs=WpkIs{2I1^0WNP1d`FwXFPs6Mn1qHe zr|vTT9b<4@8bF@kYpsO$&>uRL?hU%$uUb9HXURIFeyTn#$%REh^Ty-p`NZ7Ia+l15 z<~XA+V$*Qex{KU{47Q5+Js!eEX@jjXYL6I_NGe;4l1FsWa>?=$r^Ug1RyjWBHEw|4 z?W1v=n@Qqil@@p|bAhpY%%(wDe`oL~#E4rj2*sPB8@wownoofQzDT}uBq(7gPJbi1 zf055EK%aYuuQ?YTVr5jXuWSkA0{Xb+4q69VjqJP^&^!KMd)=I^(ji=^J*F(6UQ5W} zaT?R3g_#M@Tm}aSHayZFgi#hr2A4^nQ~zAI2PXgVwtlx|!SOV$D_95;L#4*@H1~4P5U z|1#_YjDiXr=L@guYjpj4`Dw<(4#?uFOIEtxF@Q}-JsiG4Nxg708YSUVN? z*j~KEEo=gCCZlgpVB>a^jr(bId8Le>VCJml6gD)t(Cp>n5zdU%3`TBkI)E-Pr>>Jr zIvSpnhW%V?>S+(2)1jbm{lM=hfX?ek_|u^<$WH=k3+DX0_^q1o_lnUD)OOT%BIRqG z_Kda&cYkG`+wHKg6SUvSPB@|y^_%qhs6Y9s&!b`T=0e3O;%Io^TEJEbW=9{`$I(o9 zp(ws5@yhCJFJV7P4zy$|j9=nuZvD;7{a>sexJmD9wdpp?u}{|Em{1-L z?o0B0_ht2eB`07aJj1m3mo;JjU*QovN$ytedvbI6D*MhGXihVT>rj|x6OOqip)D~4 zTtSq4fFtaUR+1Dtjt-y;dw^P~ZwxqYr`j@CB9k@hWlbe+kiDWNIMj-Uqb@6?#s0Ns zH|&fPSYeAfwLSyX{bgm!|S^Z%WSQiAtP_=M!30=#fNg%fa`8nB1# z)auSLFrxmlpXJP-qeuQLaC`3K_Pk4C&(-~Q~Md* zxovdrFW~0H!qy*-cle*|=(?k@n*{G>AkWiKw)VGRIX5)M;JOoRQkXe~(C`%}0VF$> zH5lH`2HX~x;W|E=?*AI7Y7`mXue6)AqqKGL^6Y@0-$;DDvf}h3;rzLaRODE)zFX<; z=(@n@YhXBR@UzWdWa`EYke)uSoNX-keRgJ;%%qQ*!81uoXLj^VG1n7 z?eu<2Y-{Osa@*UnZz@W+`V|H6J!d_ho8rP?;XF#ccJT5kieXQ3h;pE@?XRT| zSj9B3g7c~L0LubzzdM2Te8v{$1!XI6hR)$8HQ<%~8{Tc%xz$Uu6)?l^jUY*&7C-6w zp#9BBC}_skuMvN)MD0=bkU2mg@9`C5VI8!<6+1odS4(jM2uJz8mXz$muz6JNAOfp#Qs>>Bc$dG5w2Z|3#d{yTJR; zgBHq&6Hs?+Hy-2YrK8!|yLe_k!Ra4k2_rML7qk2xlM7d_NK`qcsEQ8^PvGc3<#7>Q z?h=ZfqcC}w(k(3@-~1NL{A%n`W2vLtjl0P^ybfD$H`<5s{0r@1{%=F`KNmjH7X18F zIF29Tnd_{rLh6d0jPH)Hrq6){G{%Y0fw#wb?R{+-H2sCBy#-(#q=Rvg+jI&A^)!@x z8n!xS&iQW8BZX6b%WeRN+6OP}G3ed|?xAdsr|h5>vgsHB5B+E=9WkCnFqY+Dng?t$OaSymi0!)Pbco5cxmAKXY z)on$oFq)lmB@_i=+#mhH1#7}GK97S*Den$a(670NqgdD~*F*^z4W@iRY$0Y6HwsO_ zkB+f9YK?-t5HrAQm;k2(TtLMcY#1nDTfBHG!XZ&~w;|3{(tPj1z&S((SON|=j6S>- z6(9mGzm^?d0ZwANzk7g7)aQd#fGx}c>o}RK|33fAm;@Hlw=E3Rf#rOB4K-pDKh-^f zY2X5r{6jRx->CsP_!kv+fSC#-^Hr+wsK(5pJgR{b3gD07bP9?`=_9s^>)ASX0s+Wv ze+&zFuq}d|>LY#yU8aS#l=J4rR~@X6_{li3cw(JDFBEtv&wXm*oHcVF`uU;3At;@o07(Ckov!C4A=BNUSN^?Xlb$gM}78IZe{y@dp2sRPwv&$(dWDy1u(1N)PmLI#pChKL)*`(l2nnlujXUy4)$gV*jq)Hn$=_NSieubI-Cx{gVGZu{7`@xPg-8Ubi2f&|?+9IFA@4Si z$8((SKUJO!vUo)rDydMH^$|;o=jnx1@PJmk`hgi~*cyMw733xrU{3%Am_SBIkH8+l z4+;Za{06POnfHDUt z9l+AS$^VTB&H)#k$3xMNt>nM|t^!Ju;5l%_N8kb9(F)~+9Z-r>u4m8hq8A{Fg|8OD zuOg>k&sQx;?2vrMH zG1C)f%z3J147%tNT9Ha)U0psq@Ea1W~KO5}8SG*dxvJJ0qe*rLrJRK zPF7_-_JdC}S$H+uwWYb&Dl;K8)m1=|^3srO{Ap@#Ib|(jpWt}wEG%Rb--<7#8*(gO z6URJlyxF+(-+|jCGPk`Uk)|A;FrEAZ(Q$V7>;1{7xN_s`UWPf~A$s#j`Ml&H-_$HNF|fZ<6JZWxwSZ2}IZ6 z?!UBTC9|g_9YIlR1}eZc%X&5>SuD%o-TX97qL<%-UvGrbgjbReAAsScdQHc%dlI?b z5p+wRng6eoar}!Jpe*@9m8cDRkko=O{=%rGcj*pB!^&?7da#EL|30?uxX*xz_GSiRt24`(Bo$_(%ZMgJqi6!^T)O$*FXmVS6B7TO>gwdfcBhltDi7^*(i=M#DTA!U&W|S+h==$^FATx>7D;tx4imQRJSxArL z(qwVJ_)yF&8Kma0e-6R@EhE=r?j8sB7Z2`!J}~(!r~j?|f!qIw{GaUp|LFnp;`_2h zTrWODlTcM^!uQrgS|^oe48ZECAepvB<@;ED8p>P<hXa^bIx61gP=HL_ z#wnb~TU3CPfeN7X0I|&d%eng(a_Z-EPG|ErgU2*bd*x5cjzCchZe%y0YzLJ@;YaX< zzrhm@4b*@z)B*-D0SD*a#_wi&jxbmQ1*kc{Kpro$0a%9isF~eDCg5$nz#{2?Q`r?M zxuDO;#i|JlU?XYuIn4XPs;s6@B=jw&%WU|!I(;u1vV)}7>@}>S|7>lj3La3 zSE%I2>8s&Tc?c|^4X9Nqrq-+4c)aMnocjnS+RixB*X2&TuI;5Ot^c4uX4q$ZXKF+R zaM)uU!7iiV5=9B(Hi&MN=e}oz*W`Om*MFGvp8}V|g*V)2|62UqcHk7*5-;kRzOue} zugSXvS9jSREkEaVaRWwBQSqFxR2Ys+V0V6o`-CLnI5lBDonFiC7-_KLLw3s4*Ib_7<-PTWZH>JxuRnplRPl+P0$O#+8BE4?6>hMK=%0gJ55Tcc zaevK)&At>K^j)VKj`S6m9_9Z7!66P8_lfVsJaDUO({<0n2k5m_2*j;>fcw7>N0u9) z{x9hK-*fkWVf+8{f93qA%8B9(ah$jmUUELk4pXP1)JU2m6`>>1aDIEj4=l|oPGMe1 z&(%|`b3g*mP1!QdT-zpbOH=!7d^m+00yvxZQvZv`*f56 zQ|Zcnyyh9bm;7(jU&+{)lVHWsFuDHSwD#5>Bfg4{#KM>B|u^b3N z5m?BX`Fby5034uxOke_tzzHbDc7)wmQ(IA30E@`m%WBfr%haDH;-67^DRxtF`5C(%MyJn`iu+pVR4Dqe7pP;@`U-+eGilpB2(-(K8k)`S06anFJg@E5v(bz&ni zih9VVsSQp zt*8Q2;FrQ<8pPA=o8|QvA%Ad=|d&Wm7@P6@lMXvcm zru%BJdyCLFmFC6|!|VU6;VRGFXf~;SgBtwg5>xyjeN&RXbJG9U1^b((^>hE<)+{4& zwFz0i(VFKVCi}J7VOorW5405yzzy9?@{{wzJ?@Aa!AOr0!vx?qr^2V2YmK)337UW3 z(T82Nl1H4wm6uz~jz3})%Dy$QAg0mF{()CwMLw!=>0J(7Q+l!W55`SxJ-pw#;(YO% zm`&14HBea(rOV#MtepkTRa1Gmyn_AP1^EthzjF3Jq*PK_{<*Oa{S8%tc=qfiAHH{t@GFC{lZtu?^@AFCduo zl2>d6qVO@g0s@$Vdig1vhIdRnVR!*WGD$vWl58pz67HZJ9pq}p9-Sa#H1se^Cg(v zRnG8n&ZU9`uA|FWSV6Nn{Zlye<3MSmQ3;LWZ8(onAUDzQg=bJBmT;2e_*+Nm>XWG? zAE*IYm<96D?U&?Himy|W_Y1-p2;r-J12w$CSK2^riL^HY1I$D&cpQFp?!UKyCOUxG zAl={Lt2HnOo42yHDrdS6f*pk;t&3OiTQKKEa8P4VqZ~r79uL~x*6@d+I$c0{_TM3R zPmF~TAF97jk2;M>RjC2_>1-3U6Sb3>W%p7GqNoA!+VmvZULXaaEMA&5NY`#)ePa_G z&78wshlNzJ27AE2;B);&CjI$9uJdi*XJ0{*C;x)U^~RqET}P__f`7W-ftIU*FUeb- z6xwW_I__n1200pS;3aXaSVb%(ro-1Uw`fKu)QCrYu^R8^W^I<{6M z0A#kDgC)1nJON()BJ(QJ$KP_N*1#XN2WiPG$RfS~i>4jEJ%{1)WH!%3y&q(HfhIQ{ zbCMpNpxfktV_y+ozspq6^vbxGnV>sWz`}FqXHv*%yl>cI=nq36BbuK@u=~BRD1Pda zxX}mV;r$TAq&BnvE6q90V$CQ`Kh03h4oyj_<#VkG7uFrJp%!Gg2%@ZPW(C^ z@pvMf02NIGUJ@l75OT2hTPZ#k3rdpIOzI!5g!IbfpO(4#{i~68QH=!UFUL zI)D=>0b8;Aeqvo^ZOO!Y7%u>&0~p4x>lS-zFB8Bv`rCTEe)G`39yZM36+DJ25JwHz z%@oj|Dd11`-fnzyOop7?Y7^LJYhVfAgCDeh3orR5tRz_4W2W_SW(4qyp4O#}R^#LzdovVGZQWR}yQ89l13YiOa<`;tFvV zZo;+2FfmBH;~L@2??@yAWS!*`{JgU8azpVz2*IB}x4E3TBgy2)%`aiu=CHWP8SRCt zw+MA&q`3(0Ag!s6A^3Cq(B#g-4SYXalT~;E&*RtCrm@t4Qm81lfcZ5C8>|RY@RRMp zWLQHf@P#|*^RP9YOU_s)W~DN^FVx6hOi4x1R3tO~uhlG|3T)GS(zMi`)Rv`|?xE|? zt`9?jJecZnh+MDN`cOKscZN7)8x;LHm{*=yPun)yM>!-=s;2m$JaK(;{c^oW^LRXP z&VRXz!H+BkCnATCCBT!;i{F)l^os%9{&$2z;NCIJ{>A96+ra&ujP`%Cbczi?R@6T= z;s4B&_kjIB2KW2=zt;Ev*XdW@%g9gmrIS?Qe&ugI0Ri|S zF2G|p7>BuWOaQrsYhZvwaFOsZK^25Ql1jeIg8(B~(FFZw1o!y62l&kf`0c@Uh0V(j z)H!qD=k|qmt{bM}8MuG^I(LH6m zwSygYEH~O42yNRdZSMevWoY&%6Zn+*f2lRG*azxq-+MeLY>o6Y;sOJZw-Wki8Zb>TOQj&i1 zo9odNEH!U8Cz_McEidE#FKfPt6IU(#H}r6V=8)Q%g*@>pW*z#8AT*TkP&hv~Z6(jo z&%XZz6|^enKZ7wDcki}ves;p1ddDVDqkF`rWE;$>Y0O0i?N`k+%|p#)&0)=U_N57^ zs~+K*JRMj6dN`10<>v1~hqV>X@h^QT7)R|u5)ut{@bp<}YHO}ezIPoMmBrXXt#w*p zI|Z@(^az#Me-wuY`Nfr)(_fWNzYZt9CLebTRfOh3Pn=Zah3i5laxhv^CzH`)d8M|} zKxqo+KOP6L+icqk$_^NSL*y77KyEVsfBcWKe*Vuh|9}3eB0t+^OeZs>eK?bRko26| z?Q&+f7llwk*n(SNDNK;($Qw~8UFLiJ%1$YQ4xk?%MaSIfar{{0DZt5}0sF5z`jSs* zOuOPV6Nl4mEZl-+Qh8|?e)HMzn4QK1P*(VWx6CXsfO>F8%HkW5865B>nxG{7fw$rd zFgKtIRCWP%@CP)Y3d)5GUkaM4OK5VppvF_!06pO3)ME2uKo?kulNl740qzE7fPYYc zSUQ0DV1DDdrIkCsFK4wI8A894#FSLgPH=d;@lmA;jASBEYCtS_z<#y~R{}L4g}p!; zmXGdtCcL+X82he7J#oOoPn#EwydC z?cvTft}t=El+|tVSeOBVeEEHUpzqx0OZI*AmGoElPxRmOmyf7HDs_>FEB=1CI!*GW zl1H-*PEb8}oLoZQz-y$C^odvVQSmrEZ4PEyAEa?2a(ZbqDLA_hM^7A zBn~z1YV$Z4{&iss)`Rz-*?h&c7@z-C;{w>e`HasD+jzcez#5*1r_u^tQIZwvYgKgp zY3ciqY39L`9IKgvo@x$^i8wSBS2UTlP1vLq0ReogYpP!f%JK@GftP1`G8oKbLnzgG zw=u%>&9v7%$1>Zx!M55y!coKd(K*8P!6kFP`_S9>5E|ocD+zw~BHh71Ch!=IX1c#H z6u++(!vDkETSr%wZfoAS2iL--fbG84cDE#0;qLAl+}+*XgL`mycZcBa8VJ_EwW)J& ze_xN$|MjgpYa|7!6dX4Do$s8_eB_w@oxKE!*c}|x94Ar!=$$p4UGe{%hyG{3^Q!Ze zGd13eURN_t);eZ@d+>h$-|_zczvun`{Mj_PKxdqHNhv4=_oD^>kAAp9BoEE!j`xB7 zUxXXDg-+!(SjB79N%{F|V|O341gqQ^(G6EeSNPKti@R8J`2QKayVwrqXA4*#E=g0@ zeWr?+jzNynj;r>mFv```&TD8#hLbcCjVDM^aFx`yk7$A<6krd0phXczU~hcor3&C> z3Ml!vJCMW%*oQ7~enb@{;eh2LC_pi~^z`fj-Z8u10-2XO0BHtT6X^h^(*FtxJ3N%qftD4b+PfB$8E!BbJ*q%mZX$))7mH4~2OV6mYw#DVwgXXaO@BH?alGV%UvC zy@5=C8*H41gI^h#U^Bybt%gHQSI&J$I)GMqPmX{eG!1;9E1n^lLAPJv_4%1Tbp;L= zUqG&_N9KTSAOPjmCNjlpuJg26?|aJ;q;`(@pTNT5i@+*d>y?9VRJRd&&7*JNN?uY z!p@9nI-)>~+w*>2g`3?KI@*o&jt!j2j_UTA)_dj{@iC5HdkpCfb5Z%#gz@0S|1chI z-+0|>lKEovd+^PYCVag?0e8POJ^p4Yz+{xc)$!%rLH|7wPwkwzh7<%#c!oAN0j1w4 zbodGq1(q`;T+ z0X)GysV}`!IW$*F?JU#=W$+2>&i}jXFo3jd8&;ASR*ht@ZbreBk5r#*=4`mYt+$pZ z4@t+yV~Twdo}LTsGwjpwNg2(ZHXRIf8_zm2m6r44&1^`L?4`g*dN^h}cGF)MpjI|= z_H|BkuHpP&#Q)=~GYTeNd1inaFn}(y19?SNh z4S68LnIM+31zg4Ma}QJEd;1bL$2zvg4{iJKmg@_4>SLQy07cLbTqN(ZRXs*t)oSwI zCZP-N!7f131^%Z3NNj*RxPLeFW@9vJwam4_?P^7y>YU!1F!`F&3v|F$d@%K52I!%L2p(X{zXBfc zm^1$t)!`eSr&O6cOb8O+U;`|J33L|q&3KTujs){en zORR(J^_}lrMLeZQnU%4tS>%1-Ee?C5FFS$Uq(q(Y7YO(Ru>or!bzr4m@NY&bFy8wZ zR^SBpcUMo4fE~Pt>wpx8!HULk?j;|KQm|S7aQ))`*ut)-uw847GhY#!n{>u#l0T~I z)9Np?qictY<}x-KGf??{*GBVa%0(5_!-m#UBcAFTFzK&GS3k+J}%jua4>*k}QG-xK!^^YN0C6nr`ayE`? z9dTFQq&%a1s?4WyqoY_ra)OHqA(N($=9#7%c!`q#ZwtU;e(J2G2d$z*iNzN%gR!GA zHJ+X`gyAUq`@`vzfdCYT`>>D6{-ynyJ<)!}ewu8B9rjJ6D;>69;yGu($VTKciodjM zyrRLqC&T=|Mh8$9_D@Ur|BIbFK>!~*KReUGyfrfe3}6O0=(-O7=L6iI|5^O+zw3dE zzu#HR{qf-aY0&~-cURBvcpg28%Q~_>*0&M-;9Z2#9`3o+9fxUcQP{9B0 z08Y{Y?B)(%2MRcku6_(GO({pbHK)HJXTO@c3f%q5=8AauRERtkBUPXw6G12XfFYdf zS=5eo)PRHZ6H*Ph%dP*I59#z@M@4j!9%BO?#uRExYknQUoZtLWJk1QyNwnYxvK`-A znQ$FNx!iP-Opt=4;x;p6Htc}cl8^W8YVt1|p#)5$y8wo@k_?*kDB+9YkLf45Vg%>^ zk?te!%XF~duEUAF3ObdHd)*o))wgg2-+_3AG^sR)xc7^YDY`+m18?vfumkfk<%Tr* zsVYZw$Mv@j0aKzd(p=Lj+CMtxxE{NQ!r)ww52T8X%_i?lua=yMN4|Mvec)|!c6Vkf-XUE(c>SFWa}A3P zvpD~|Ie&eOpUBo-fX41In!F39t)MC6OsyDUGUF-U-S`VXo>GRL{0;?R08IojT|>HH zaZMfdE|pnz5T^vEG8xb0M8ywMKKhU*j!ZZ01r+%OP z2zUN%e*DhJODmBGvETC#RH@j4j|HO zo%oNU0KZ(*Tz4b;$M5)oRB>N`H+~;y&}eTC?`G6t@7xKv6mKDy=ou$JGo69k(*TWd zbJW6Gy8S5hf@=IF2jeZX5skoL++|)fLzHnR@E$qH{__^okfZ}@g1>Z1wt)NC1CGE` zx&q$d#bE=cW)C1a107=%xQ-cM8Yn(P%XN^1M-u9ml-bb zUU33`0A<;Q$D;?%g(q-3?ydx5EhgQCY`UJo0`#;0TTe&a5-)%#?*BEo-VDdj`z}~i z3RplE=Knb;U$euEH?jLRa!;!9o~ytvyb>&K^3K2oI)I9^ zfWIec4{!ZB@OeugILFVj`X`Z0-_d&pR>wHp=+>~gF6R2~yw83Ao@`4y3i7eMcP4=m zcZJpJaeZ=}wH>v*6#c>`BRW0(OJ*1kTIbR1+P1Q%^lQANpq3*G`2@Tr7e3(4(ctNE z-e0CK%LFhMEN~&7CT9G03ZSmvZ~AD;O&t{lCHjFJbW{gX5QuOGx`GbQrlUHH5C0!H zb^CP(@cvV3%Bv@+UMd?Yzmb{TQc*!sL(x^STyaT}QYqr7@304Jl7+!~XeC7j#X8^5*B0Xr!L zd;BWf(s_7FH-J5%u@wRZNMVy^fb-VFc!RBhO*IKW**>tXo1qITk2{FUS|s8TDmerm zgb_TOO<>&Ln?M8XoC4tVKj_l`g8>|*1K7$9y%H2~8aVwRdixGc{|)H&t8mtXoLG<9 zZFa%oxAWmb!xEqtRHQ!C11IRjrf>x4;jG9kuqC1xIL57ihROdVJA%XD|C0aEOs0!C z5QPdb0Sn-Hb5-0xE?@;QHxAX4g;?PyYJke@#Ad+-P9zz;1YUJN4Y-3HaI|;TLg_gc{5A`n z+7?eba-5gJ;%I|1z(7jmW;~w0^CbFb`knsMAO(AIb{WJ>R|D6m1{~;Qq<|p&XGPF5s(czcF z34JtNoE+LM+Fm*hjK3_X0^8yG_r=h`m}rzy0Zy9UkpWO2mHhJ}HD%m;eehiJT>UV2a_Vp}X;iv9IX~uF8km0(=yAo99|)!KV=E_0u{m zjxgMZ@{U?;_$oR?@@`Yp3A|(KPwmJLC!!q4e^>7QG2nko*{>%u0TgkXxCL9n0*D7S zdFV{(Dok2t1y^HN54eEK@ZyqqHt+wz8Q>Q;zk}YtFUs>%u$k zv*$YZ#Rbm`PkL_|Hhq=6b@|YGQ+bb&WL6V*p;DeQB$sPA`IRDRCZ*8=wZmPip(_zT z@D$EDymD7zMwUlU^1*fjbP8$l@6c@ zcXbtb`{Brmx0$VG3%$F*>BT~uO5mmjlw%rbNDb&l*D#zKFq>IGQVeXP3hd$6-A`@V z!Tx_8=YKjZ!2Z;g%G8h2Fo9m72cC~3hz%~#A>3m`;jw9w$%^WA5Sq6GAYADUYq-Ue z=>XcX>(5Kx+#bAe+rnZQfcj?-z90|bqbk@3+{6Q~Jonom_%A!b(sR=Dn!wJ&cnV!4 z!}0>C!3xlT-JGlCOaYt0xm>D}s%$C`%(p7)yku;}Yy0TB>5rohC@x+%Pq5armvBzw z@7hSM?*WEWh-!V^QxcDt(@X->e2?*Wk(fcZVFupE@2x%ifGNK0zFyvQWYaBUGxQSA zx^}KA@YrjyEgH_xwt!+KxHj@Wp5qF+ybh18sb!s5LRf38Z>Xc6##FOWTY}a zJPIGx{R*e@xH3j{5*L+yYP)8K#-iP!^}{FjL|nnUv7e}Kyku-@`e14;Too#bq#2m) z%B!~QYgF&*Qnh88G~=P-`u zXPE)^@uyF8^kOnPXz#vpd;TMR-sg&uku{GG$V({yS zY{N>k0~ih8?+;w-r4-r$FwvT^<(sPAs6B)$KsxUC<#^TmP`Ry!2m26iT2*{6W*asd z_Q8;uLXPEgs>2ergTrtT>aBUpcI!HKTSHQXs;RoE_NroF1zgk|0tZOeH#Mdg){3ny zCR-NA8s{Q-Cs`wUjwSAI?)sjso(xO^OT4Mr4Q}-P^!fecad>-3^6Occfp-5TzJ45q zS9j7W$Ky`_6!pqj&i;6GEb*NE{p^P>)5RWRpViG(!(p8Ik2it;m1oivy{7Q?%-XEqo)B=Z1 zuT6!8@BGf7s=p%^Sz z$$!Wm$v(>dl(&)}m6uUWCP`tUGB2CKEb5W!EF}Bpg#~1w0>q%vu);l37?&9Tq`m}j z0g9%c*M$$d$I_h{;Hzx`*nV&LPYXczXYqL{TmHG6_p#vpjpzy5Iwm?29LF6O9G4uo z9gpDur{?w-(b?2TWz!$@WHUQ}Pv`)wxBzrua+*j5UCoB=Y{UWZ>pzA9N);fM)X{!8 ze`I66-w9USo^8=Q&i_#O{bxXoZ+dTgZ*lHVlO&doY{7!~eqHkp_m;)^XCOIdZYKZo zhK7jA2=j0rEr0_GZ%fpTdp~KfYkPzBumYK3)B=gpq&a(kRITh^%Xea zS)2hj(*w+<0t_K3s2z;J%CG?>PO#(+@E%>@Y1lwZaOLlgUypfz|-1_Ss4JNE&T z`niZ2KvD!sd%$_@^+vPbi(}K*gtJ=79L>~k=ln}2UrC~zlKH(X|5Q^2OmqcazN3=4 zE_;D?^a1_pAI5|A&15^ch&r&0NAehu>dI)kg!aq~vGfmx@dJ1)9>)=&8xAtL#GAZh ztD*RFXR?D;04urJOY%c z-i?}fnh#p9ezhT=X@gM3oZp&g+w3rMX5WxI;YRDR8eMmF&jwQI{oavqIc?-aUhowr z<8?ook01RH{A+M}PwSuMOW~{T-9w$fL5j5jeaI;^qx(7Y=eWBbfna}w$MVCK*S*~} z&p}cEJ%CZTWE^Gasb7jWcXhNmLCrHf4Th)%^$A${8B}MKJ4iM9Q`KITs2YJU*Lh77 zww&eYe8%Vi$Q0zNq{C79siL*=m9h~?No5?tT4|Cr zLr5N2j~n1YeF%@=3dXa>^5_+M3fW0{E(r?U#iB;5GJ;gKU3L##s2ev@`@0jP@-umk@Ta2ub5mT0akJ6!Ti&S~UKowE;vIaSd9 zo;|=i9Ho1aFI&mxU>8_8QUP9AZ$+knZK#44zy=se1(1}16+i*h5ftEiBq`(=nH}@- z>g<9qKrBoENu8UO4&W0zduc-_ae?sUtzkJj_cx?dmE-Q)WJwDQTa0=)F6C@8j&lm7Q zzPK{s6H%1x3c+2DY?0LN2ae6Qb(VW50y3C(8OG^n>8_EX*$)N7Fr3W_s4wAdm`k-u z*-}|f*$U6|pUU3sFjuJk)PNdPzjeCyr1a%RJzytQX|w4xTYzh913u%>*F+f1es!oY zT z?AOTkK8>;`zcZclEw}t-#~sIe^z^0hywB=P?M&rN$;mGY_sxX1E{ykQZD$*2Kk)y> zcz|7m1N_q|;r}79lsFKS>EI_D!2r&H!oPuI_fPEse^;HwxB$!r>#yj!i|e0s{yTXa zGV8a6)P$^HL`}U}xgExV5ccr&ByTFt)1Q1}C%92h zJOp~V-oO@n;^E7qug=`J0#s6KIjx6DB|r@ewmXJE5$Qh~~{;x`HoocH=tor5>Pk zm*WT8k1f~-?)zDA{MzyK=KQbV=dZPLcxgw;tgXXl>MApFH$ws*xXs|jJtT28ySELZbn00R55MH*K9_&ex*tqU2FjGKjOc!W){MLQCl zeYvv>lLa~fF2^^w864oeCnp@Pf%JF9@C!Zc%jfUp-%H|S+Q29OQU4(L!Y6zV-x6G{``8oF5x9LC(iN%H;myxMh1{$z$##6gM3)^wD>Rr*m7Q z)6Bu$^pt9js;MfoYB%R!r_7=JQ(0ZPRGA;1z5)O6OYd6!WvFp;uZ98qfayOgu3HB1|N3x%hTsCcn0ab9d%zp;Z$8sQ{d4!f^gEw$ zA0?SMial{bvc1=X0Ce+K#5cOH_ncSb>x1XlbYENU{yca|mLdJi?{ktgc-K4K8v_Gy zKPuo+>;(q!-w&e#SUs0u5Zom3WG_m?{f?Tbf#OM;HQ);VhzhU@WmR7^K{advR6!;1 z2b6XJ_u&H_VH>zU!UvGt0osui5@WSk|0J0^6={L@m;rX-5j+Kt-nM80rKGTu2~e{>x4v0^Q*V{7xS1$EL6wdxhrw+rK#f8goH&I+%cGaDyI42O!{y zd4@ee)rc!dXU^(wV?EY~85 zH_-p9*m%D%R6|dfntpc-oAILfjaL)`LQ&x;8?l+}7aNi`HWPJxYu!O`u#DOlY`Bd4 zy7O_kn5tW+FJioIS|nDt+^}}CKX;_#-g$#7Y!95BKH~k}#S9Y^&Jdq(70%LK#On|dCT*_^xmYV|38mP|FiI&kNYsLTjDM@48`#R)JCHX zm*7~X*ZqJYwNkZMc}S5`QAK`1HbB-;)>bxIc0=Zp?~!{I```vlSEfcE_(Ii!eZXk4 zf(~e_;z8CQtaY=YwlN)>2B&Zv9*~(^Wf8fag~&l^3i`J^7q33I}QIY4X0o0a)Y5ZcXf9SLu0oDHQ*jp zHrLq#NORObd;Wj9(!%}D#kTK|r=oWc$>Ep1bLav(^ZBXQi;Lt=y#EIK%K3^%oMfdg zz~?jLA#=++8|_FMYQSQqfzh6kouFQA#J{>i2yg=(F$r&6Q5&8B{VVyR-8Vzc6x zqM7oEaxPkZEj*#Lx;wg^`e6o*aR(XOZSm(nX?kPIKrJoCpMIBz!;&%gbJ?|%kTR=zmjg8ijo`)7jx+XUX- zD5~&6@W1V7fiB<#`1Bv%0{*A+R07TG>{-bca2Q!Y3f~{Tcc6ZUKmfDg_P+!tsZ%6^ z)btg`{VScX1WeKacFL&0`%|%Jg-m;B%uemz!o$SW@J&vWxA+3 zXsXgt0Zx%4G2b?dZD3>O0EbPxzV#&FA5gFz_i2AWU_B<;X&MsX#6C6`%6 z?Z}EFSR$TaD@eg^EQ%yyUqlbkn0xvb4){)-L8lni#v}Lwztj(b$G%rrUzbj|m3zN2 zd6gb=fugmYzyQ<0X_*Q$Cdfui25NYfa}ZA=RbMt!<+%UO2zg1@=qxr7>ykm72;VRh z=_7;D*WMz3d_GxqOF$W$qd1tXzsB~Ut|2A4Ijx1v=Czhs+a>!K$4;k(3Xlm;mksXk z?f`#V=RH}-f9k+~=ZrTexsD6j2g*40+t3KTAopduzmh+te*y1?QE4z$+!qe%j=&Km7xU8@;mycJqQCFrPcd`LZ)Q@2bSV9tTBRIJqOr_{~VmSW`gtvkT z#nl9HAsAgVF}*lfC?hOq%DP1=*baOH(ozBPYO`rRk)iNYVOLC)XObt#X3JK|F3Fp9{~b{2ul>!+J9Pp(H@?(|Od^wUZ9naYNw8#8{aE6A)LgfC&GGN`Bz zrKu0GFem%No|5u^_JX3Gr~7{Zn(|LFf&X**rGL%>6TVM|L|blui?5Tf8!143us;)+ z-*EI}mwd;3i}<=gwoEQ6KrG)eg~~9)*BsW^I5H;_Q3pDfjHumRr4R8%Be z@kYqZCU7+RNjYwkFKw4>dvOPr=783=>gWQrwjz;zprj1Ez#On6f&@&o4g?9TjnkTn zoPadexA1{a!UtaZwpVVT+dJu<|SQWJ}RhDBH;q+-7?jg*aSAdV@_nat0~+x!Fl zeJ?zS?Ic!BqZ_DdOksS=#vlh-mR&hP$;Pp!!NLWxf#nqwz*0ve?yK@>JhQu7;_O(O zS#394069qyqrGdqkGy~4?Y!Oh(Ptv*ZJYlZyTG-02I%}3$bot6ZN%PpmuCn_KswJ^ zSmE(_#b1UwlHK!%N5)s%!vwwNx#?=?P}=faqQ$MIX2vpxU+e<^gr(D+3J|M0uWX^r zt&CR$75Nkjsz3+DSj8!YL3vm?T{VoH(>QHYbPOp_4;RBxq&OY^Gl&|^a2X#)O}&Lv zZ#Qun`<9zH_6|gOwFbV$7Ffc!Q4a1hyu}}|sIIWKfF`p#S(#N?PO(~ELViY;AUiMn zBD2b;%L^-3D#|D)ldDiybzCKaKg#f13BjFi%kFgrYJeoea$_?v$8W+>5?1x_PX}2Q zwtKdPcE97gqcV*CEbt!N(#6l>#4nBX@u%2@-r**Hhik@DFufCebs>JglAlHoCjK_? zermD(lg|GPD)1h@<07a39^d_%4ZuIA1o+?2|1Z}!{5_hH8ugr=&`|cmhkg5Tk6uHb z)Dqu5IOC6Slsd-O2l}dj062X$_^zG4MBfX(vxDy=oPpflW84BG=mk@eGnJNHuy<@h zQ#j|rq54J2%uqb!RCvsPv?Y=_zlnX|a6FXip$!y30r2I;0*zssIujXe*kYCF}vlMKHTA z>;W2aet&NQoe>;BssO*|0O{_RI)LAOKuOR5X%>($L1Sb)=l~V)bK^%x(yk;Xp)E2+ zlmh?D0teuMcnVkGnM?rHM3tCAJTJ@#wN~H@w1k|wC^9f=g93~-6gRBL(ee&RUlbic z9L)IA+9)zCQ&0n{!VAvEzqzL)FH>KW%*g<}^bl!t-I#eBkgk=BIc6PPC&}|f;v{x} zeKc4cL?UTl`r>=I@vbwG3}Bkh2JMH*!=1TOu;Fak#B$WCwl{SYVs_0)3fu-)F8Z^3 zZYL=Z55RoNQ}f3%13dK#zLCBYq(7QK0@slMyPFQ6mOnKeKymy+jozzFd9^w3_wj?6 z25P(x_t+oq+@2!vz$#H2_L4Z9$F;#e)H=Yt4P|gH<7>7aS#<_&b!}6pEY*QBfV9-hL{;Y2`vyyn3BxzP7inj-HLFp&WU8<@l52Cr@xVET9D8h481? zUED4{6;qgh(4j9Eqj{xcg;O|?onXq^Km{nF7j!ahF-=Z&I#n@cBgJmHmwn(p*-x2T z-c5c}-av6rQCE42O~5==T6G6DCRH_8;01rtj@D`Q=k#qz2fSvSZE6BNEFE}KUyA~4 zI?g7C@jHxHa3);d8tm|P!{Pr7a-WIZ?lNGab~G~qeDtc~nG?WCvoKuPPi*)v(&s18 z?=PlajOCdP|9>CI|1~OxW}j0qa(cKThFvOgu8z?{*rpSL|ep5<`Hb6l-{i%fgv(QI-n$M?7E3^{5>oQ zhvO3-$%E+u4EFr!f?tw0zl&U{aU@Lt<^+_%A3$;ldWb*B@kj-jheud1YjYgJtmuNH za0h#UKj;p)K-2IAi6hgy28sYnL=zZ=FVIJnd;ie{N{XOWkxk%O_5eMY-2cM`isn|A zc7YAk_hBLuldDTmG&bS~`bfXn?YE8-Eb* zbN_GV{P#i+ETRW|NK#Bc(&W+$$4x`oRlSA}>;?shLlHC?PrE&+WZr-QR@N5Me#h_U zD*ja8HI>)|W+nyWg|3S}C0-g)_-T~}`5VCPKUn-BHbm!8hNPm2_#>}|53vm<#Hq-3 zVg-2h0y>(RcoM!Bioit*<4^QTECXJd#q!yb$7Te>KI&*p9<_=)=@{(qk?!Ys1#UTM85Dfo=-L#Mb0* zJQedWrxk>IaZGGU5?f;!S2ojHcCAy;Tl}ea>a1F=rl>lvN~erd+>&>e%jJdT9{EuD z1-S_7pi{174=@OQa5OH#c{C$68R*88D3hA%QyJ#acV**uT_$uFW6Zf>pANI?NkAEF zFALA75qN%O-1DEg3c{Ul0H0zY45``f#jt2s^QvqI4Nagonn8+25BRk)ky;St{>fRt z`Ut}!&jHlEAC}~{GMds1MHM8au*oL2Cu;$pcc;HwVlskNs5kl zWF!o?*RwlFn9PDZSR&}^TKquY-k2>%Z+{^1!fE_Rb=AaCUgAWu-=6qrJ zz#lBP(F95;pp+Ke5lvt5>KEkkBUm6iqwlz^!)|s{4l8Etp1 zLi>}H+O3+^d_2{-(FA1D^`Zjw(?@|v)xk?|rm2FEEQ}V@gJZllw}T6%$BTL-Y^gOU zr@YqlBqpuKDd7y9wSM>)&86Cn>?cd609b&^b=cm)TF%^qJ-|({`S-XQOwc|wB>ve;+c^dQOts^@WY#S-e*!lQh_i->;xPT320LN#j@hR85pC!2-9-`%?v`${)xb zidBkY%4y0BsvfEbDxZ20xhgf-nO4!>({@LvydFQ0TV$;MWh%zL;iNd*+|gpOezq>P zMdN_l4`=_SPB|K$B)qeGz`AS%b+CdYr{E_Mb)b|QJe|zY4r~Gf;DGt@ z26}}eXg~hIQd)3dG6EVzQbNr101_Wa@&%BlfGc#!2iXKjoPCM4Hxd+}8#v%^6d)FS z-^~OssR0bk`s&EJmUFg$pLeMW{ALJ9Ka%hPX*MYO_qL!AU4Ksc{?s6U@3@U_a{KSW z6MPEye`C&nVcwBv!K*qTH27xPV;X>>{R^HJ)o=z|U@#hvvg7|i(p4^)Yc)x*PSkAT z4(bOMbrUpd47J(=o@SX6i|@^s;`jhHSm@sGJUpT8WNn zC$;htjwDefe(*nUdClNDC#e91a0_bb?}}?!Y5zfA$am4(!25{~UqfZ@!^Zz7{q1Ec z$vanOa$_`P3f6ST!6&=xTIkT)-ka|tv-oAmV{qwv>9*k7GZP=9A?nXKbSJX^Kc|RR zT$7KH50@{2ryHdhpb(YmRLQE$+{S0n2f6em4B24=bbt#~P;d&-c&tnlUJC}XD;U6e z@e8j=TJuwKI;)CT>9v-aQkXix3$BI}K?c1~*GSu0(+ftxCgpcCINcZ{| z?4Rb&=dh`+xh!bo&$@GZ!Z2SZ(D$qY{hGzAGZcS}Q9OfC#x-IpGP4g$#l&=&jID97 zCF;{RDBM}xUqJppMsELqdjJ3buLf^?8vjU?p(ajroo5d2pdnmMlE`)(P*2kXymO2u zZT1(c>IL{J)y7{WpEX%9TXrZ zDFILD$@ZWKnhqPV7a6_{=!5;Fgea*1+2I5yaZgGW;4~;e0-L}^sCLKEC--89*D|6A ztVjnSX#uU=|0bpY19N~TQUeqbOt5U^<}XDJkWPO|Zu^2{e-n^a`PwA zVc%un@u8?7`aOn_(s`pr$^P;UafY4DbKP!bW)Mugu*oY3PUw+m_n0 zpsQ#|YG-GX7T(}Xdj^#1o$VDJRU`H(r>qlr#UvF)d0s)Y?Y?c5y&7EA^lYv#;`%s( zF7&yp1TGJIaCaZ>x#uZ_pKCp8z)bHIuYoDxIKH6;{2u22x+nsYeG_pKn~UqqNm!ph z@Pm`NPs3(!;;M;LKpd);dH6I~LwNL3&?o`MW%jC7?)luzim8VklW8BIQOFxe$56R%eke8H(o1Yp*Ku%PEcB-k5 z%++&36zNOtz&~f`~{Tllx5i`X4Z*GNGUS#FOm#;&}_6ehM}1WEgVw z*^m_V`~-E`L$A~i-jtJGAg%ic?4N(j^#9*=;4g0V%z=r47lGG-(}5j_ z3xR`y_&|?9`@jfJ{ISS4r(CI@B((gd3M56}hlW+Pzt#KQ+( z#U|u9?5IzUdFX=kI-Za$F_oO~DmbVXk8}a2&ZPn4=^8} z;5hEJ7`On%ND26iPy1=hc6>pmMbd)XkP=dv3Sfyi14t<$->Co(r~oHG$~NQiC%J-1 zzFJ^ga^)o{^hB znZExyr~fKw^j>=ZWuWtecvsd$30Oq@&Ype~@5$<@fnKx4iZcnYfme|ak_D8in&CYT zd4=^G&;y=DDN{y!PZJN5_b>c@Yij0d9%zEN07l`Z;X?(u#4ylU)#N6n@|8H3`TwFN z4u6_+wgBF9ckDUQrdM$297(uR+(M78VbdD6Z^WJc7`@XVSd@QJJ5O1M*+RI~Ep~iy z{K*#UhSQA>v8-S5OZIJG1H$U ziWMhQNTAnWB;3HOtF$N=i;>J5B_;_c&ZC&{E z0Z`L?-jAr~x6mE*rz5c9pOMJ!bPQXVpt}^EKq?Zn{%y}rf0n@LfIK)gxGXp!*dbUw z7#(zRzD+?@Fn{nv;9=lrAWu*cEEnt^oEcmnJQ=(jd>p(UoF6P7ypFHb68|^S!WP2~ zs_jYOu2{*t;tF?9CY%8}^PWvd-edwPA?-+)QsWZziF~;|wgot@w`U{hgcT%ZhCN{$ zxEE#6G~UVWtTmZ-mH)K~JRV64o(vAyJ(3et_3xB`68QH2b_aTZDnRn>-2fM07RdmT zCb%2C-o_|`D*nv`Fh}lxJ!fA!{l9gA5;s8F3`jG-)Cow~U{TJ09-gd!pZ<^HGfw|y zaR2?dfW?c`$&l^NR=Oe_zykFD*M#+CVKyKi^PA}qT;OtS0gf66(gEDZ9b9KPjW5s- zazKi(2dJjagwN+dk}R~El1$0n@%NW$2WykGlgX)jpr2r<#a7xWl%eLVHaE0n#yPQv ztq|@C*&Ve}q`ifiVnucK*-;qf=}Jd3-n0oeKY2Ba$y)8i7Il|3KTP)Vb_e%Y8kAYB z;iW0zqOG6?ym6J`Cc8-1<0#KLPZIk8Bk$b#-j7~4+|MBIRbE=Y5m()izE3`dH>eb>7QpS{E zO2(!81=&JbPzALYmZG${MAG;?VJt2Ijo@3og(>mb*v@zzhk(oYu0GfG(S1c>mB_0) zjBF5-YAK!|sg#-EARbYM$O@30fwE~@;t!rhTbD%Ef^f4w;ZBqU1Ho>5Wt?lOj3dw) zahkcYMGg;Ot*yB|FCKq&oiCgnnBgmc`K6-&AA>tal-I|}pNc~Ei1!#DhvCi~AcbWO zsOmiL7!)-woY;~*5AoTWL(fpm^OWi_mef5zH6RKF#lNir=sEwnf-8dsL-vp(R3?-< zbS=0$xH=e5MHm@LMKqv z+r@Jn6m$!mhzDeZ$emZ%2Gn+xg%^At_vA6;PP=efPK8t8QP{!b;04t|9Uy}loQzla z8D`rh)^W_SP0$3H*#l%}26#qIJ`4`H*fJSKKo2TFBapyYya6PS-~#w}ODO@5KmsM_ zu66K%r!xZ#2M_NEkEcG|zGx-@3#VV2|E1nv75OaH015B^T@R$)Kv_BfX*>7_Xn!tl z|Mccm-2Sh{N8%0M8~f4ztfUJa%MPwRnLq(YWe02A%!&QIU_a6tjI%B#e2G7gZ{pLl);EU zPA=h`-=C zbECRQ3-XeK>bt}7+F|FcCOf?-`=^je`^hDMQl&-(Ivq~HU6f!JQlAfcGs6DuK=Si4 z-wHV3t;v2n%dQ~FGsC0sEN90x#g*H&fyquy^(l+~MagF)&Y@=KeHX`oJ!2E{#b$yA#*-?Xn$)#QWG~jBD~J+Ozy*GcX0Rg(EPahhh7P2Q^nw?? zo-NBOcvk7P9W@u!M)e#x$h(yz-~c~R*1#F8rTT%ox@M;)H<<$4abao6{4c_y%4?Vi z|6sqd6WpWg!Zfk6If{OB2syt=wl(&~D1p{GJ?v1dO!TQyzR!U7kc%9ZKJ3nqla-wY zm23{!^7;9k*%!r=*7t?XjE(3m8&L;}d0(QoYXE8}F{y@t2sqp&{)IK*P@q(BK~NEz z96A+x6uJ^x8|oV>9}+^UkTC{5^H@L}+E@MlmN>KNJ)`Wljjb>W=hbD_4O7xV=) z19#Dob@A=@7WQ@pG1h?t)PNDW9Nolc$6EB$74T1aiGT7^^5$xg7@mze_5!Sc>1YHS zf(6Q%0=}ROI0>pX2NbX~Y(NPGlzc%x;t+lTXP^!2!luvz^gE4%ie!tOx-%4SLBUFm> zFJS;V%~70xY4U#!=jS@T{~qwC#UOu!K&2XT`#WK!WPzP}7QM&OJ~ z1w6YW4*1u}2o?-ic#r;}-+~M1eN;dN$+Q@uiRS#L)}+wn1e02hcV1Vr{wC1_+|ze9 zWW^I?rWKX5P`0QGldD z^I=2>WZ|FbNPg_Wj62gK;u2WXeGZP>F_iAvosaRodBSrSUF-vLFxWLZ8rbJrJDJUb z*SJ(a3g1JUcDbgs=774R+M@mi120O|NV!gtRWV0iM{bgTm2H>B%bv+v%hM~iC=$QVgynqe$%Txd`l zwvoK@5mz-IYRl1VSr%z>X-2BQ;|m;A6;jFYOL(s8h$m5Z%_~hU*q7PhVm;w6X5L!8c0_J89@CID=Jez=x_ySBLvAHkG z;FgxUYy*ODf>iheAg@ss5?HtA0vf z8YZ{)EeRhv@DBFiRax6`-OvwhTtM)O9!in|!PJ9PeA|o9CPC8%8%(&R4|u$h#bb zpb+_a(>zt!72d#kyAz(fT6ZCLW_QYe(Jb&R7#-ReDiaEb93mQshKp1U6cK84{!2wsH2ZZnmPYv{zmuF;-n;le zeF4EL>0akjyOuar=sZW#(e=e4Ya)NAQ~5l~(Ttp+`?i3!g1MeB)|lS#g4FZza2=bG z-P08h)3vIis`kqHiraEGTAlOU|BGakWE0Wrq?9+2KaD7NIqVvq;4}5_$W&Z|>p~CXGh=ti@S0ba+N*Y`vZLQ$zZPMU>e0QUXGO4NA^bk9j&2@3F?xCQ!su4f$@B^j zsQ^Q$0N?y3e+SKIIOcyZF(hV%2 zA^U(3U4XO^jDi{b7Kf12RDgAC0>;Ay>IxUIHW;861VFR+yZs>CUqWdo+<^}z~1OI2KFbE$@ zJ1(}*O*>Jv*D{qx3$zATFcs+lv+xA?hO=jk{*`X5uC(qrYM_+bcugHme)24LllQel zeG#{+E}9RTnc5(%;9B~4y$0WWh4HcRndy~~%ACWJ9j4SMTS?sM$2b-^H@ddF`?7VK z1U{d@c0L;p-TfRd>_Phm+*Y1({(n*dcH17Jzu3ep{0mmlX_CXoJI;e@>p=1LISa7M zyW%Rqj=CN1?Q3o|yX^;_Y+gBtfWn&xz4tfI2dY9m&TsqO(eB%HbXT3#nD>V(D-R(LNx%@1eR1D8Mh=0E#He%lFGh z%7&oT>nW?lGgx*+mQOwk%kZ?yRH}^X%$jfbn)L+>xQibU#222(H8$DM>U)OQ7(>voph@GNSQ13HL3;66udXHGVrPTcXs zxaXE)`aj03B+~D9@l60XJw@_zdM03>zmC5(zKU)A&HPo_r^@~5{14Dsj6y^Ej9DNE zMt&UZ)sMUW4wzIecZ1_&L8|&Lk^@KC+Sy`x@8%#e;07*XOWA#Qh706l z4^SYI75ao8;2a*|J5dElUBDzZf_>r0w!kB#Jo-RwWDZD0iswDl!Taa|=HTJe8!li2 zFu(x!zY27(Ag5m1>8E6~_e)I8KQrR)orO(*4r)P8aK9W>hOCkANkRAjn%!R_=l_V9 z01JJ(I6~|pHWDj|cJWU!oA?Q)>ONr!PCyN~|8om3OuNCZ>Ty$jFm4B-avHz!4sAoK z#c@(7^69rSdw$bSLIreA(~I2Sr|MlKe2pj7cD?$ox~b-&W)2nLm98?5z$J0Z)f(@j z>`xS4iD@jqERU`8KmyO%4>`^_zq@jJZqtii#Et14ob)buF~4QT8VMHAA%do41zA~) z8|zBE80YXR%h6&R&pN}UnnE(jI@CZf9n+iw8vc6ttM~T2^VC8?k(x6-kZ%8o@1E~F3`#5P ziEel+Zt@={apee1xmB?0dQt~;RDoM0GKH80CeTx5z*n~?)7yi{X0R2fM2-Xdzhx4* z8>$#y6aF3+q6b8ujxHS2C1y*^k(h*-sWB~MLNS^cb4-PpwlM=@CdEvS>BogAiTh-xTI>GKiR5uB}4I>{R9b1jnN6G zv|qAqi0Fgb;uokz8So`i0hWPgcZz5NrA=UZYZBgIiDU(ygaMlXD{u)8K@-^s^oAMO zgpEK5Zm^UXl+p49m!Ql1J+8&ycQ|{%=4=5&oPPz~eI8EsFYzn;wRfEDm*N}oElChx z#AK8vX?Ze69*J+3g4_QC)BhvTzcVmVH;7Bo{S8I=(+Kp>4*H)R^#2ylwF_~rYQp`W zS9ota0&d;Zq$eNrxN$6gemRUMnKGT=)N}M6HdSNj0FKfD{KCH{q)8&(Z!E4}wbdcfscx2wE!2smq1`#w?_wYF+xTJL4sx)qdVIXr^A_SQ^aDo1O_P$u|~4!?7v^BGFv zCa$3<)l#sZTHyYS4P0v&ZByt5x^nWXdtyNV@_J6-0`h<@;3Hgc&N*5*kUBVmcw&wK z-+kSac0b}p0@-Q2LN^C_gYU5DrHf1lW$0KP2I?4B(`Hf(zT?}2B ztGeQwSlysEWMB(8NncK%Nq>yny_L=m2jL)FRj)R)_8OULo!Gb5#*h4^rXidEo@B4| z)qmD^1Z8nEUE}~+cu6k!McjbSvjI3|j%C)Y04p6WwXHgvmnM#ka4E~P2kZ|EXr3oG zzIpe(CeHr>c=3PWo>al#3Lf1unDO`hDFgWf`2tzs#(cqD;gEkZ4r`Us)qG*M;`crA zPJ}6t%vPX^C!6Os*&E~N1N_Wanf@&`Ak;RzC!8YM6FoNiL3AKyVa(&0l(DH}KgHaN zxfpXcCNU-{CR=Ro*c`DbW6x6qa>R^{ejBb3UJ!Z^EX6i(hyOK`QE%@noagR>brf(P zVGhu_UXqd;N9J^TCdi)5tLYrq$Xsj9eEN&D_0_iV@LXHiD%$kq27SdT@IYh==<+uo zxDdVoUoEfT16^YdI07qh3#s9YaR?ZXTX+w+fpsIfp&Cmu6oS8S3cSP=u#$v;L8#|y zqvN%K`xmCKPl<}}mH33I{ua32O`bdK_n)xke?e9FN-g+_0_PhQ;UnMo^uL%t>zNM6 zgZ_6E8;CKYHFE!d#zE#F_y1sAYdt~{{OeDV4A#+PAsz4{>0k|v#fBXdjCG zJUH0ZLMcC!4&Vek^1Pa3>JcDS7Ti6xq+HHZ|3MaTO)%=+y4G~SUc)K0fp?9EP1}VN z;!E>&%TDVoTRr^fvp8$GR=VeV21feIi(vW3aO!H}ig&(Z+p@-<-F}e?c0L*Q_iP`? zw|>BDoS8J+vG!BwgX%f@<8=9g-C$dstDZaaqG2D7*JmkafdeGLUKrISnmuYQMKprXj>{&TWX$b$E17G}F-u^oKU z7z96x(2;|nwZ8hTVuY(6o}Qvx?;Vtv9VQSTgCQ^oe(=JwkJQ%5xX*`Y|LaT zKqx!~-avt1&A<%*ezqT#m~|?8uCS>pMAqm?n8E2>C!CXbr{r)RqyjiWji1tAbw(xl z6{iph2keMKxEx+#1>gkUvmS!iHo@8zO;Cum&|-K4{UWpRG2Pi^wzLOP2X3MU%ws1o z5`|C~GDB*>3=%*CbHNFC!Y*eQY=Cii`!&Pe!^yU{8dY8D>kBf)+I0~!( z91Nf9;%yW@&pGw)c;54U&m!M>k?+`v>VGy&)L!V&YN60K!u`#}{h!GEzYP9QbHOW= z6uzV3TSm4;(3ID74^NK{Mk7hr35Je11K+|M+^T;7^F&Dp(1Z?PrpCequt42NT^g?Z zbJcfMaW-bpL8|QRs5j|a@E)&cIA(B2v#;rlkR<*zKeue70?f6yaI|o)b=`Mg^sM!s z@OGiv4)A33w0G}xWp=f8Ca`ZE2Rl$pBFjr#lwBa#)&}>Y4n5ai(rk2&F8Er)jY)q5-d|Vn`$#4&@*XGul>3l-nR`0-R4Vs)QUMp^hPeq0z)SjL zUpk3I&VMuVFCMa+Na5NE@5ApXWWQsbZE0xsi?Kpo*!t}awe?nAI_(MdV3l8~S9FnQ zmtU1_m2H+Cke$Z4FIiR){cfCmk^CFn!1s#g%J<5dswVjOf7DFY=3-;N5M-nni7B1& zSM0BEqOY#6r|-^>M$=i%(oaNdRbO99pQxKc!g@i@|50kkI&v3=vGaFp3&6Z8f|v4A zCV(NjA9#>HgZ+EY&>Y{T7Pyf2h5s{4%ulBDM{{lNmVC^gneeXqV5@6CYZuvbxM5P& zhR46y?S|RoWyfEF4&XkT*!KRVoc#~})ZF|o&i;_Vyub?Bv19pBH+~)tl!Zxun~5OK zZ}4Bof2{~JaxJ=mWiYJGOjkE}edEwq>6o(8{tIfrhfvkiM5IZr}9(ydt8M7q%YdAVQHIx`E8mt`X?O*7-0Ft!K zWAq$AJDJOUo)nqN%mFv?O=}7gaFVT2*pbiioC?q$Uf?_1frw{#b2?Wa`N2hODPgr8 z!yjmpwI_U_a#j&OP%acNpO^!rF5r^o6nNkccmeUC0TMe<>H_LnDv%pi7G~g2rhwC^ zWf#E)>#)Pzg0eeSUHf5gpyhdOZ) z*8jl>`Zqmt{+ppfapM47SWG8=VE#V{{x?c!B?Qp`{$fkLmR;3frsAZ7CK!ADFXGO^ zJF0VQ_xl@ISx{u) zUS`g_-@Tvx2=i)Y^Iz2IUO zqZK^h$%=2?L|FZW@ecnDzS=z8L;vC18WgV!K&*$tWv>Q{eIi?(HSBcGfc^Ie0bJ(3 z=dSE&hBIDHQpAR%e6J2u;4?hsOU|v-fQbncZPTn{Ej`U)QzqjkeSJJT9;#DRF;u~8 zm2KGwI+a0XN99cAHswM5JNGE>DV3_;u=gvg535ILy5SjkMCZgiZ4r0+cl`Xj7#7eU z?IB6=fZ;CPd?{}JFmB2ovKQWyzudx5oD{VU-2V%x0sHj3^~?Fwzv>(6`;*A@L*E?t zRXrPk0`N17z|_)O_FH1syVhQ|EMUeN@taDr7Xp2{>u7*?g&9Y?53WY;L+%I}-}UJM z7BVB9^H+m4WkeVMEm&2UDqIrsiUw}{=Hei6IZXNo;@xx(eUi9ZoQZ0tCAzxe={2Ao z+WPG<2Hvu1Q3o!e8E8tz-Z$Rs31~EeFlY<WzZx5a*5pIt=RDjmxrd^w>rHZ4qSL`HpbQQHPhbRX zMi=;}qb(X2w?hFEkkj$i{)TL0|w?QU8-#{jf5~M|5c#>Sx}^3vF@=hVgKL88pfk46K;K*$hK`_(O5p24}k#G zG#58tG0i{?T*P#eo6Bsxh5NtGa1NGSR{bKKOLvWwKRxGv137=aHKR3KLBYppE9kE4 zmgzei6vp#LKaQ2PP^#y#ReCZw|=OV4P%crweQ$t?4gc zD&8Llaj0KGhhEv86+eb6u4gVSsC`GUyMWsVEAw~v9QP?WJWt&ku)r;zTO`*sL@oG~ zDWE#4mESn?^WeR$!Zmt68uuZ10rrHwQXXzcBAbA2IOE;{9Y4)pQG?Rpl&2ytI2XM+ zeC2$P_}|AJ(|y3T%elv~&weQ3fNj0?FH3!MX46uGp#Q9WsL7`3sV=3ygciu6DvL`< zRaGZdAJs3o1iVz|&`qU2lX3s3=S!u{2; z{mTsQzmAMmCtd$Qafx_Dd@5#@ib@5gEYf@Nk$77?C+-!Op`>XbRuG>G3)l@jW-AaM z+>H(^2X%WC+`{tyWZv!GsE6%v1oQoLe$d^JE<7guCEPXgFd{`4N0Xy@V#e5Su}!fD zu^+MQiG>r3B<4!|5IY;29jg|*8}&t}N8W~`;Tcqb@{(6XQHqM}yMF*G@^xen{>KjG zH?Nz#fNP#Pbe$DF*Xco{Fj%jUwjKcoJjlB}h}@w1WCxm^m6-x^IA7q&vK>y~&~#OR zz&@}7jDXCJ&rAYO=mTz~*MI{cf@|OhPP321E2J$*fP?JdJofhqx7p{cLlxW`9-xm6 ze}2w?GI#tTTN0-~&0lT?sNQ70pNgt~F5153=zBL(2X>+M*~_=TdFAHx*G@~{{x`>g z$AKoL5L&cHXw-J1{~bblMdW|yKZy-sOL!_-K>+5k!HzROBLTa;Db94CEnqEUX5$t* zfDDGk=mD>S0p!uGV)Fk^ihWN_b&ZE_!(gljwb!*%b$#?MJZpb9<|I3_wpmYNW`6LA zn+YfEcN`y`YWD=s6>@*)_!|d0;@wywc$ylJG0@L{g^cDyRNG~A>NnhH*}RT~ebI+h zixhHeuEE|}!MAg8_`bUfahG?3&3~QL?}oTm-SC!R2Izsedmo&CR^xK<4~o_`)PRxr ziH@NQs0~*27mjbc*duzWUVjJ$MJc=onj5-O4MJqE9VB(J8owKc zTfI(y2X^Ia{Z0LO_&<3J0XP7=4Ee}jykHEYyzYYc;z3Ju9ET^_inBK^53c;x-WV-K zF}T#%oCeou*L|1EJ%ikj-*Nfuinr=&*g%)40DA+<;AA!cO>t2!gg$l%xBtIlCMjNW zN`mBwpNHPpf-EK@#u-(kh?j6y;%&I zK|dQ2d=yf%4g3`D8F?LP7Tp_t6U`i}7;6(-&8?q<^ItTvP-5o9>#;Sl&awE|)@WR` zf8^h=COj;3iQ12);XJ*@MXduqi8;I%QC8LP-6gCsTmUEdbwy`kDnP2^Dxbs>lz}~91f=YpIxSYcmjSjZo%`r0$PBf1}z;xPknxP0D|tOcA&PR z_N-xcB;okL4r=9Tj}Axy7dsy(^>?)v`bS9bILM$UI#lEQj>%Tvpj zlNvtBvlmWLBeHG^fcG5pWdk>S2H*W1N`>JbvNBy)@Gi*hC}Gc&aM3z~=;Md*p?By% zqkt-*`&%2;{ztCSVfcFENjg1>V)&Sqko{4lk7v=FP#q0s+CPY%__6*veSd#_h-~80dJE3$>-m+BB(G&O$vYJ<$8(XrW;}Dts+JYT7#Cb+bLd{256dS=!o8W8z#Z}v## zoG_;n(fUc`XcogYGd0*8_nfj~D{-p0Pkbk8P|3EDx}%+GELBHQ7nH)(10Cn$ArnDM zwDxOo)_IE8c3G4&odcCo&@M@L)V{(NrZ0JY9-rJ-C%afQl@jJC(XKYj~68kSYCYm|gGLnQcpi}5?=@Z@o6$EFnbKnLQ zppZX_d*eNxXuWY&%*Ho&) zaH>RCd_Ssj{wu)!|A0F6AnO0gxK=h!$Nw_H0Nzb1Xgkh-AyhzHNU{x?bF%}SK&oF( z5`qUBon(YBG1Mg4Yd*NtJ@Wku=vHdI+Q*uyFxGQv?x-)S&*6}x)hyOHw5i(Nx_){C zZs8k^txXov>#tgtT9@0B64tT{DD9fzc6b-~j{8Rkss}3w@6hfH#jo`{DzyEiHSXpn zS%V|>OIYj~K?T-<_Mhr_73t!y=qv<73u88<8tkyXLv(J>Vq%TFaEF0 zv~Tgx?dw_U{uh+DqBH1-+T#*#Tc=v;n6)OCaX2S(37ybI(u{uRG+T7nwJz-p%`0_p zbvE@ZrhjJR3OXxnp5ZM<=WxOLJr^|w+=m3F3_w>U?a6*PCHOg=EF_#N3er%OsFij zX5K$5X5+MXmByo(oh*%#{zN<5Tk0qEkm{qX%_^M~M~GJOrtqgwM%aO3;3El*bz#o# zff-=(r%-n%(m_?jZLl1w;h)J3xDzT8ZVMx@9h{$EqRXSlqUWQ}qe|w0<*{?Il-S$Y zt=Qq%Ty_E#W5=USqW?zRk)`1*;a@{bq#N*oJ_pMLn{Xd>@t5@P#3d|aIt~zG3b?{E z=<%e0K{ap}bRPz%(z;% z33dWm;RnBGGx&g6;5-68SOKl=5z>PT;t_HkUEqAYvRc6clEeIaW4laOzbgGc z?+%;4v8^^UeUy7WW=rH-HQcuwaLzkY2l~+y3`zeQOik#;uQlcs3Aq2~!TD!tiZ zWUOX}5Azw+BEfE|=R6MfW!Tfa@rJp%uaXq2_Urlcjs3r|Ti5{eEzR+DAY0uYID^$i z7x>+`3@^-&c-?I$A$T4C&F^dD+lMn)5B~xG9ny#Y#t)-_e+H;w)H{Z~?`Jj7MQo2@|va^HKZD}Flfj%c!N8#Twh(+mCR$6W}Uh?Y2W!()3I$Uqx2|; z;UE@PO;kNqS#cL#sZK%0H9_-26VooCQdUC$>qL1t4;ICD-m?$*eePzT`Zwx|ApO85 z{FaL2$Xty?@d1X#@PJFwkDW&a^vE>h>}CAL{0U;;bJO%=XALS zu{p^Dl*SOIO9|YzV&yiv@A$2iqW}|qLK08 z&!JdoytGX`DO?SHB|Ye%za{&rO(@B7@HCEKHZ6opz<4^*C$L8&@PXF3nvx!Th7KSt zJKXP#=kCw$%*q6immc7g<0%dSyYRuAfKO<990DQ^Cp93g4=4aT=m$061$e*}`w2d| zW$Xj`;}#^c3CL-G!RNV#J>YM60vllXePHvym!5tSNnY(a=~Zn(o84x>&sPJkr?;uu z?%8nn5%`_7I?$R|b;9wZgRK=mtHbus$obES_uq~Gp?{r7t23tae=b|LpiygsOJ!kl z?01{Tntw4@0s&ZU`pu*@Juxo95v+vq3_B<*UYURC&H77df%52IP~L3if&^Sf8rT~$La<7eYN(`2(?DMfOHEg{i9(2>t|+}+-L*%uCs z4JHZI#PZ?|Aq2*J1}DE1M{kVgim~J75GJ@Td4ofG#>v1QiIRkQIM{=YBS?$V`thik`nF z$aRoUcPx4WJ385S@MMDlTc9v$B7@;4t%B#;+Pj!fTjTEHn&zD6=x_HYU|Dre*@CKmT32(^(}$EvV(32PAg4uBC43q}13X)!wb zu1o`k@XnYi{sKE-Kb+wl!fMj?KGOvxf(6XQd9@VD8pqHI{SFqZg+r6`Cw2iFLa#!> z@V;;;av)ML$_O3}L_0>eL_bCKYy|qn2FLowdcXxJ5!(q{_xHLTIVQq#IEsr@EpIV;fbq(>0fRV%7U%qb zaeQ+8aO9u|NJ|gA0xM{ZVgBRcg5sX78To8WHcl>Xk!4W){?in^Iy#jba z0e*l2?j|AN57fY3IDi=v?!xC=!TC=^^Q)zA^WtsAZAEaH$wS&i+V}Zj_myDE*HR1o z_)b-)N2tZwugU3mQYT8F{d)uYzYmX^p`d?>Rt@PjZ%DIUV;PNN&BghDM7qs5R4Ov_ zThlfW0K4h4aXUATf-UtFZlSOGH8_HN;l4^B+q0?mHB)~TlyU>`%gC#Ks!CC1QQPSS zGLxz2(H6ohWP^UWVWqK`sVc0sj5v>cw|VV-9U0N722lh=0xN=f#ZuC4v61*Moj@(P znA_p0UMACL2Df=Z{CtbxPnQJWq$26m%VmE9orNVl!jS!%u8#{L(T0#OfH&I zjRy@g^=ox6wZ*hDO-^-Il|{Kg;Z>AW$P{%^4<#ewo~pd0EUK!jTB$0a9;?ns*6=>f z4~+uNVHfQzn3Y$x$tWyOfEYg1mPLoKmpt$`I4{4|SA-+b(=ZPgfcz*2_LE0?5+9(F zI14l<4`95l5If_{^pG#f1v?23s2f^}obV|IxemDU;j3`NT@5}^lmvio@FW`flc)fH zk*&BoSP{10Ng+G#ctgPf)%5*ar3*ObT<7bebWGZbgU)Q~f?vujT^8rEFRZ{;a182! zGh{N93LeH;s9+$8ep!!~;7z<%$G{D;;=u4TokM1X?uH!UmElT}VUa_TWM+YH5k<6b z^msH|%ob}9`z2OAmIy=OCVb)dk-m{Ek=bEIcv&b@NR(QOUD*ZhK@%{V8Q>6_vjpE4 z(xu0H>rnwNdPaCu>;gyNY<1K1m&@ZyaV{q_P;e^2|8sHb-=W6-N(IQqkKdpWKJM6t z$~7%7po^mgXh7KEaTve^%fSxF!7T8WN#Ft%U^&ddo-l&!Z~E1ktM&MP z6$Jf%V!e=l|BtYCVEZp8o8txi-{tK8o8SSE&vG9Iz&P>%lsHxFf&&mhsj?3Qz+y}> ztTZ%%r@l|$RbN8C6L#u<+L7AQ+O-<5<_70quYQYH{sPr(zQ3o6$HlS|I@aG{#p+P7 z6fW)^9@SW3KrhigYvX`RV%?1F1u zivI+i{2W*(W&E>!8t&x#@cxwE%xq;}k#FVU^dAQSsFpt4Uh)@%uil^2J_8l&F4E$% z(x>`@4DrDn!54UkO^11ufaldxI)w=+1%DwqFdKh&9se#8CMMyGb2zY*Ki!sUkw35t zZ@gplv)yrsE9q(I9^mSWVrYnca>6y{t{b?h)Wz*1o<1s>RQ2xW3Z@5!oBBt(ciMfp z`)X8v1~P_H;SD}h2SEt`A@l2lrnuGuIuPYs zqP8*Y>Lc3HAPkpuajW9|$FXUj~KT5nK z+NA!R`72a_2hua?iFBKOV5c-)>MXg~30xHyuRTIXY$0iHIJ|(%WHyCC zQJ=%doX%9`!gsZxFWXP!2K5S^48?`Vg`cAg=s*>i8`&Sp6s;d!5xo`76jQ{sF?p;) z>~(Y!TA@*qLXnN(y5V6>A~~J4YqUs)6V>VsNYlR0kYE#{Gb{n<8ZMbUeIjx0Rz%&Kt1pPAFkm_ zM|nq4W`WQ6hW<-_*fLatUDyR`?Abs8_n`*pgBIAp4)6tg{q^Ka^h;m6=OnFat9b-EwMyo9rrn(XuqhWDfYHW)@eBLvHinXhllXzi_5Z?9FQ!`! zrhQ)1QuC428k;&8uhIC3uL;)84^l1Q4}Of{$zD2JaX0YD5_W^AHvsk z`40J0xmhtlaYRv0`MdIkva9N|s-60Py11qxt{*+=rdG01I7aU13r!}iQQM6kC&t1pQVJ&EYqS89U{DuK?*Wor z8Q@QxASHMY42)#&A1J8%;Q;E!1I&Qx*UEi<5;kC1oP}qmAPtpv&;#7SHSdj-D!q_y zN(aCK+T*a7jVWNg_=gx2Gl(nM2fSm3kb=+YntXv*XariI6Z(Mn=o~!Qyv%NedFOtX zhhUA+8jyfr!&}1d!(}4oNW;jK$nA(G+6!*Lf#|*H`{-AY!L?CWbYrASWOKMlIA3^8 zs5H93RXBt_2o?&qK>6hIpM*uC0W~`4os6PXi!NXR2vjB*r7hqB9B}n;$>9RcrUICq z`RV`PaQai(#AGHnEDv+QC;Zvcx_}+bX0!Ng2Ef#6gHEU#T0uMcVHLmwzJmo^0S8zF zE3h@%z;gCa=mFN?2+)EFpmf4}7(kmr_50%DnWp5;hqL58>nYCs3hNw{U=wik8DSj@ zvNwf%pVj>O5$k#Cz*B1~81YBGf5z)CSP%28Ou><|DSowbYfkGEm}K+e|JEc6><7G( zwP*mVqF75Y?I7hN3f6TBzN%!*XxvE#aAm_4{b;>We@8b`r(yzVsr|$=TY~h=5U%-C zNX;szdaHb>{Gcp>d)`V_arI7hBaIe5oPmviWUK)%FhXLk&o(t7&hgYqZXLJL9DmN> zeL)+#8mbXG%(Q8h&Ve>!xo1$uz4REOnwA{*eBuA(l#bClx=3XWua zTbiTRY{2)nge|sHczt&_OQurBvwDwioaP4(0vVN673byS<;~?`xhVftK2?5EURv=d z`hhOWSIXY1`{WD`Qt!oC?14H1{y$Oj$UD;&Y$FArqPCazEN|d&SVYyC1o9c0q6fT) zO^whaaGyEG+|Spi?jco8XjPQ2Iq0!|cCbIwReYUP>RR0?E=ru)rp`YG#pc z!wnjX!*&L76*{6X=!xrq1S}@2DFYo-Uux-h7}&GP74V_(D8@b@^H1sm6u5$&4pqeS zV`KOx%%J#4%gDCK=ZG=d03FbxXi{`nbZ)dp^me3X&2dv@F?oPrVsEX?v9#$=>0QuPeKcoJBa%5y0 z$j4Vsx`0&F@R#rk+D;9a4I(($(F;uQS3HA6YJdVvFpDDvR=`fO1NxI7ZpItn5t`sx zYylHt0cB3O38QxgPF{^r@>OBxf5B-^0?VJkY3@P}U1MtlJm(sa?9m1f%7Og)eCogs z*uJND<-cTfp5Q52XPpc8|2JOgBLy^*^-=o$-xq)CIFv8vP?z;GM@X(uHf_WWT;Tpc zZ5)ReP!@DReb52i)KA2(<^{ViJ1l^{c;&3rI6wees=uh_ssvat|0w4uN8_5k6_*SH zJ%O7|_SezaPi6_x zOTi7&d@`p{d9;C@Y!uJ&6m0h9^x8bV-AnO<3p-a)yXV74Xf`Xqf}7C68zppGP$a!OCde{kTAFa^vJ0>Xb( zfCj+~_^;Lt9w7MSm+?E~IO0Xzclg;e2I;c2J@pN8WieLw|M zBgLZLXj7EI&7&U>!kMP8>CHy2bF_bgZR9YiGVbfVBIET)&hyOK6N^;*Fdd-2{ z0i~HeXM1XUvU&ExNp-kC;uP8%KJaBKKr>Q8@;Kk(fcKILkcrcuwh>J00zOg`?y(U# zOdqfse&A$W1Am7j*gV|}Uk@6P+wle*U<*D0UDyOxqQksQ2QU;RfC;^SG7O-(IC=ic z{a?YBi5#yZFhD0-dyp{|A%jA1RaoQjp{@e1XXbR*H|J;K|w!qSh^B-^dY(5FMyqno=&S$=BT7!bsZpw@gz$o0Rvf~BR-5@vI z29fsaU+Sjo{JKXdf#bA?Gz~P5)cwh{+(`GIN@7N9bTK+O@^z>K=aezk9o2Zc0J*k| zuAp9Kh#32uj+m2B2zwLG**7?Y?s1+a-Xi|t0gLd9WDhS2XAaj2U677TGo=Rb(Eb+d zqDT8v$SQOo+4TXvd3SovDtLWA$K7fmle>UNP1SS_@N9b8mN;GI!qx5~86jFyLRx`v z4?@XuUHB+`7j6oB_`7Q2d9#3&_!Q1~Uwp;yvi(=^%;uvDn8}%t2aI@$4k2THZeT6d zpbwjb%kTp#`PXv~G(%5x$6bW2z+HG>>&SjugR@%|Ha9k0T`r;AnqgZ;>Z#wn-gr%a zPMb-yUbRqpQQ=cu&F#EtOs4X5C$D2HG0p?k(RQeb^v6>)963%m_ z9sQX*)y{#=)8sKou70k~r~(pEKbHc-F2Oc1LPAhW|092QQnlNXtyqqftiwVj@h>q| z^hq750Mn#-(gx`SNWg#6H|jtVIE^4xl5$8d#ltWH9O478106WPVtRlK!40Ialwcz` z2_0Q7oORP&g97L~O5+!h{U_}MHc44Sbwf)-DL94I#QSF%+yEVj-;T(mNVaI1Xys_` z=*`IFh#_(W55dCWL%jM3|Hjth65(#JO0Y-Z7Q5q1zE&t4lGrvk^y+bzK8UlN#&gd- zi@B;IZgvY$sugiva87nMga?$}`HKDjQ)Yl1>;y}Z99EcKAQO{7isO#sVtR`3S~i0- z$ja)EXFyYuFdS?J@}^gSb*KYd*;Vtq4&H@4fYJ$X;q@>bIDYl%4Z3jVhk*JI#gDotiFLK<{?)jD zeXv|%`#*;afVBSqyZJQ9wjIn)b58SB(_;32W*C5J_@Br4*|5{lne%_0In<|rtDCQr zbSc`&=m5@Y+G#Rqrm1D>ovK=#|GAv|qRP993uxp%DU58u-zdAN%BXLtm*8q!izLC8 zhD}DRc_0emLJ9xaM>`enMxL48kG^Js{K6w~cPN?7O_p%$kTX;ubVWLZ&+C8OH7}V_ zKcYm_1hc?Do58)jFffWU`fDJLTjxu9vc*e0!WAf8KL=`)3hNPukQFfzJ^OT=EzSsU zg;JtTtSF`k$3d?w!YRD4vIbWL+6O*?FdERc9$**n)+dk@ebj%J4Wb#3!Jcdm+T%KI zz*~F~?1GaZTg$xnJ>@+e-4}6%+u;o*3eWp zQBzR;T3JxpRq<86ME;9Bk9?PGylk@Uj7%<{Apa_Fso2k!u%2={IY7l!4Z%_0kvP;2 zT;(wC0y<3xv=-krziKaQ8|$v=5>W>|fE8TbunAA#OU5BMFh61!SQ%e;7b+1yIDi>m zX=XGie>+OD3)tt(hL-XVT&&WjfR*lSo*tf$o{=Oi?qM5v!`}g4JvADL-EyeLp z&7z~q&wDi)Bru3)P+4E0pN0gqrE@6|Y8qONQ*a(o{_5fB;YZYf-jPj_E0LG%29Dtp z6o`BX&kF~^0B48dLKCQPcCoLJ6wCx0=%haY8&D!WYL>SPY{2~9>u7=+!Aafk9_S7- z0~~ja0cpwNI_w-rMnF9G{Yy~TWO{(y&Z5q;e3haSmqo--zbHau^Su@ zORy73!U6EWd?bmVf)6x^J%9le@Fu=s!*B!8ktlf$1Yjh*KQ}J^AK>w?VcKs;#;nSk zpMBJQG9ivwcERS|V%dSK&nc9BFD+j{hvYDQL~Av$>a+==Hh;oPw@{i?ir1D4maX`I zbhE^`|G#kmr=5ShIg9zMX^yF#Nn?6v+=lm*g{0iI;D2Qd|LR9!Kc0e5O$3yCIz9lG z!L4#@7O7q8Gw|IqsOBprZ4X^-fIqPx9N`R|1-=r zm9lKL7Ef4Y@99i-<@Ln8YkWdrf3UmwNqQGL8r~lMj&t)e`mxrbZ%m{I!KUKGzwoMC z4&qce_>%o~dC>g=aMAXI+qDhUr*m(`z5REfaIhXdX#rsZD%Uf@UR-Ya3$ukgLKcwg z8q|_p;#*-Gx7~watKbLfg^W+QC9e0A$;=#qrsa(<2Cr=(RUs{PK!ZEJiR6LTWQ_M` zCwu{|(Mfb+?L8;lCih}jc2_&+Y0%t%aCd5fmZKw;KuI4EpHSAe%JR^3-*7{hS=&qP zQia(E6jE%JHf;PE4e`bU#?B@Mvs*V9!PCegT~02@@`PfzOeEXG zBr#?uyJ|b$iavG$+vx#B_e^pbs(UVYnxYP#iXwBDKQVAIAc2?s2-ZRwRFE8<8zgKr z<-Q**jiVFWCjBej2L(9ERM1S)f&$zUH&G{IVpeevULqx_rXz4<{~Fi^H&_{Xh=Xtg ze_@;h(<*=fepU`FF!xVF0!pyeJS`O?31BRa!Kd&8cjFrPG@K9_fJ@k6=7DLET9KTQ z1M~;w!$(8yL#a}8X}_3XtS>AfJ-lJy09?{#sGZNU1#AjO{WIItA^1w9u>o7VmF^T~ zfS&jQq{6%y1RJhTj`YCU#V1(EG@__v4uS3xoZ?x7^0Bel6^uE|v%x03W&k z=iyc7=KP;F%``PZ0rcFsj{U#d_!#zCBT@m6==-7rPS#C^1NcfiP3zX)Ag!{5X1!Wc z-@-9J6X#!0zEI4;Ez75{_L5xc{f{1YgJDHd9c=sb0-(CKnb7Pw}^S$(=TkDS&=Xr~u!+ffyCbiJ7^%S_{wN z9Ayl4XWu`JJ>V=p;rHG`J~J%fbH1FUdC5M%8iP$iX?e$ z`5W01Szmg9>jTkP89b{%0uFhbf}M``R|aF%qw%{NGz*i3PeOB0zU)$hR8wlm?r$tCfHTr% z>8!L~8X$$FV$x$WwnoF-s4OPK3H*hf?fzgtJO)4DHTE0(z(;T|8-bgi!H1$DEI$PcJdM8LPwBAqRw^E{g_`3JekWw14|p4PMY=_X;~mx@QZjNH{a`TsHZ(t! z5ZaISVH~NUc3~=hsK0=0mhn$V=Xeq(P$SZ$(%gYM(*<60Pj=UG7e*5}6Fy)?*F!Wx zy-5ft1qyKAagCWjl_{V&O!9ab!WH@TqVNMV(Fde;2v=ci>;n~C4j#~-eyu9(pxlmU zumNUpkNBAZp1}kfha;dKAE5J006pRJl(W6%{Lf;(4_PZ&zgupmckx3k9r2l$VDcDo zqPJT_e0^Kv6*Zm>|1Nkwckzt;NK#D(=KfUDYHrgbY_lxJvA!*@Er$bG+Wg@sKN z{+|Z_x4bFYxXjqzSQ)3vsfGv|!0qWibr*CaU;sVQPGVzyotvq+W}~{Q`jM)?ssL_T zqVkbqI*wTd74PM*<%JbB6e|>u6d~maWiQmRH`Q}ARmst-tZ!&IWb9nH+-*r8h=OsZrH)M*by#wE?DpS^b-O8wrHtG#Rx0 zwU4xZ-BdWk74Z!Fq#ueu;6GG=0;qz#__;JCi?}nMFs<;E^Wim76r?G|QPsJ~`2=4|hmahefw(BlB%NWO?-wShae+*v0<0xDyQ6SJ2#7Oa1^*C>a1v_K2dtKk zaDq0l9ZZx;p$$AJPDDSf6F&$CN!#@^oo#}}tq4AYd(kE!rvl8U2PlHC<}|i}X$rxL z@Hg`OBrI?|9Zfvirh(FYxQ!nrS7==5K}ZNMU=}D6(L_{m04|3|g#F=9xQe$4eU=7E zuc&WHLPcRD-DYB7Et`OecuHOJ&f$|+dY_ON(gbgyQ+P^A?u;k`M#2Xy!X{vuvpam? zf@p!Sfx%n@`O8KHs6=j%iuAB5OamoB2D3On^SL~v2Arl3*x;Ds7zI0^7FwY^j)!;z zOauk6k(zxS6mS4rfHEY??!fb@9$Mc2K>wyO*E`ZZeD_)AapN~Z!=u2*CktNlZ_Ka2 zg)>=-aId?l3LSCzo(0oyFL`xms0C*%Cqe$VP#GrDFEq9IEfx4vr*N0*X7)1wUo=fO zHNpcZ*|?fCuu8_uI01VNsU*?X*XPjh!}~W5-OC6#z?U`sG(|O=)QRecs(zgRDv$-&gq{P+#Y-ojDYkHVCvsb7W7TwG&uFILJ#JF#lmJ#z*=G#v6)z1tRx;LFFvy{ zj|#61)b@{r=hXy`@h;CM&uvcvDP-HcaXh)>VYQji5DY`}Ivk#hA70|$AVPP&eZ7Uf z6W|4Oaql4~&g)zRj+37m?u9)cKCl)xyOZoA6CPXNn~xax=`*qsbgN6KATcHgr_;_B^kyK=hzbuOj?1eo}r z!2mu-1$eVzM7wuG~IdbNem_X8%+OjtZ-`uHoB4V>=g7Kf#*<*WG~w|EkJ{B^i_ZJ{ST ziyM6gO9_j~QXQ6mKW_V}Z2T8-@6TuQp9J@>J?Nj!Qi_DSv)upPNdYNH4$x9l8orMgedLr~C@qlcZJW)2!h9-&OTM`?f%7B{8qBqLShg zo9-_1uJSSRJ@O2AW^MruyrS%`GLmsOUejD#UDs5<)Ue8U%v8^^(ON#CyFIsaf$Ofj z0Q$h&{=I=tc+!6p4ANKWx6sZ|JafRUa1s+*!SKk?X~`!YW(WOESSSqVq>lpAPYou~ z&CkHw{%r6|usT@QSYZ_iU{|`+u;AwTtSdC(M~#Hlq{74Tf?-ftJj&~e3CrNHeDjy~ zH}Ng^{^x1w$&K%;((|Y1C>{ety!*Xbx$l?xGB6S7NFZr|(_kSw+m1ZT6VVbL@zlgg zGzA{WZ_ZQjynT*%v|cqG9UXlff@70?Qo<{1Cd)%(ir%R^NUlIkRZF>CVOE^t*3T(F zESn{pD?2Ppl_}({YVGAqHaXNmxM|!zlX~dsm)93)_Hw&Q!X9Cb$Hi zcNIn-xXsGX7}FPOj;T*QNH2s^_8QigAZCWoS-454-GI!=kT#JkLn8HHXX z%tiv+*gJ1S6_|^xfZ-$uzk~}^gZjUhgb6d*!HZpOTn18u&*Nm-)#;|we?kXv2E6Yv zoZ$R;gy=~TPjK4!uZo|Qpax{62Bc5}E~K*rr!faKBuzLs6<{-Lpax(`sd$1+Vg`^W zq|gEUiSnU_H%A?m^#QjuU(t2Hy-g>D|q3;PE#zw=nmF(Yu($xZCE> z<`NdIB?Q;69TR^qOHXjWu9g;b2LX!;_3vxu|0SeLgh>IpXWC%u2LAsE2Y?>T{}1T@ zy`)- zu9qjuN6N3tgLJhn<#pvmp5g+Ux0(&wNxFsl6NU%IXC|{{uJySsX5ZrwU7Os`J$dQ5 z3kS{w1_#>-!^D?j15l{d@X@288KDcIuc7y$KSEEWzS2ED&zxws774>R*Cm8Y!C`Px zCkE$`5&i>idt=xGP2mr$r#D?nPUu~xh26npLA$V9xFQr5^NMfylN!2*Vd&Yi28#Hr z`09Gcv)f(gUW8NF9d}iHpf8d}xQj%MFpPuCpo1TMS*ZhZcHF(dwHA40-g7t-J;5KY zhifY+?@D$$%^a=Bgh@*`YUfyMAChp>`oMhOSisOp_gFJS-B{IBxj~^(9F#Yq0-TmD zlTDSalbx1*m3icUG70RGpOZh4=TJCs8@;R0C_7UFvfwqeQ&katMQ+$ZrL=Rj-|$^a zVhWg}*BVY5+Mo-Xk3;A>vyKYjW*;c9GgfhT7@Q)`l?0;a0SgpTeha3{fGUd*_ssd-$0@L2Pek~C+O!@fR{p6Zgea2 zUpv?($)bbj>b4{cwF@ohxk};d4tGs<2&JeYoH{^$~N!bd-b(;7!L#nB75w#ctdV z3X(BD!fU4om?#STvN#jQQ#1qrVDKAw8H**j3dxVPWJ=$f%)kEO}K^m z@C$J8BQU#RE?Dj;RY|GMrM>>lx+YBm?7IDyCEwguOsinUT}_l zC8*#hc_P_^Z<(HYDR(mqbX7gTS>%DbndXtEgZ8F2N)MpHB`}Kb(x2pmu0$p>Dt$D3p^+;MK9En8Olr#^_XqS0M1A*;e2p92tpOm z*llzGRbc}p`!}*RiIFCF40 zQz_~`;TnZANF~=t5`(8Ze?=9T#hFY6I86`m2qZQyIG_!+U>MJ^AQPj7KA;kPKt5)H zx1fdRm;)9#2H_lJr3bi!Kgb|<%H{2k@dfNdDrg3r>4u}|&k5Ib94fv%*0Xf^9Rq)gcb8X|-;wQ*&EdITCrjpL+bP#74k|h;t*RfY>*_n2 zB<&8}A^kE?fSAc^4qC=r@7t=`mpGm|i@9rg+Isu>8j@XcFOV3#77Xzm`pB%9EIb$7 zXat<}ay6*qHYU(`szX6>m{3{R%k0{m9Y7LZm78(8*%i0~8|X*i2AtjmX8b4&!Wv{; zZVtQ)G-1lkj~jM1p{%fzxuHL5wh1T%EBbT!u95)PgBhEVKdVF^o*OpuDts?Kuotd`TXbvB1~}m(U%JOgXsnGE84Rc zc&pGU`zTK-)v8q}tk$bdI4?T2hqXSOL`?VyHN_ufDj9*R=m9oT0d|wizRPOF391+_ z!QT>E;}KK^B;YvDU{!ppc9LhAg`HJTk}b^cb?!K7+;>lBQrG+8nKBtY^xA-eUMiVQ zN^@Za@4HfLid*O;aRRPkUBx5Bg}Byb3vkOg!sH-!H{IO=exq@a6j1G=$QIx1a))42C2h&&)|H>gnyBgkQa^&@B!7JgE5i=YTz6yl7eaGS1Qs6j`po*-WaVxmtFEN>U(G-`Y8TXf)kW3Y z;Q!rG_E7#%{H3VOmb;exy==9ttE`4BB&*JU_sH}pVCpJvD8?$As4A)9xodmj6*Sb) z-RMKly4lQ@g6y#N_J18^T_$%8PcPJ}UcZ5j(uY7j9BW#^*{j7}{s3NYgw4$PU|Uq^ zAu=uN1qY(;(UJl@nYptRT9lRk@gQ{zaRPYYe+!rA9@zb4yleO4hQAzdkg{pcgZ$}P zWa1noN4y&x)(&t9M#1+g`!@NnbMbrqhy!^)_eb|)Qpk2v0oLO$c-HqE zkFhIwjXj2iEc%kE0hPUrNHyw=Z%AF&G49z|`o_lwM`)U3nLU&+kqU6n7%?2zHPL=h zFHwzB?ogChERd_^?_?)rYncP)$Y%4d9g)416_l5emz8Vf(e&v_ujs80nslqsSsvCmGi1cCr3?vfB|vfvpuIjA;CgtYITHFOyiBNx=j0E2 zbvlzfj^g-M{|QcY()rQp#?9)ztD`%aF5oD*=T@%;kN*VTvHF3_0RiRIbI^d_IOX?+ zd?W;T@eOv0GI$ivIr|5N4Z;-W{|GFAWIWvlz|Y7}X23$YKz6jjPyPFN-`n`@RLdLm z0HbjY_R#~RDFc4aHn2Gk2L0FxZ5OUG-Bc7CiwnhDOgCCQ&l;n1>L|5C>)@2W(DBq` zzT7Kx0VCQ$*LXkB3q8no5TI0c#8%X(!@W*+flEjXEao{&R+Z14>RRn;MN-&z=B)J~ zE>(F3zA^t_=j$PSfNVSsW@m)7n+EuX)TIuDK?3-2Yh5cVidxrBLr#ZuRDlaaWZq;RFE9D!sEqN5P+1_DDvh7F0rE?k81T|AUTjdSQK`4S>~}n@cL?kl6Nxu=IVY2 z^Vw6LvPtZm>TuVL^ex2!@TBjMuLO5ccK=1T-8xb%yi|yMxY@1^q~MAz!6C47|CeOO zi{Jvk$9Kegichq!`yr{ibNNI+xoVLen3GTXsb?*Y!~M~@-tj%A2Bi9`;u?RSK0xGo zXo_Ee8$3wwo`rYNOXnOIp%EN86OQt8H)t?obDQ$l~Y&Ho+4#!KzrIc&>;r33y=&H^gnFr{+J+NcO37 zbxM7bzP=%ate~8xVW!OVf^qD9EpWffq8$B7QplAAJ6ok2_KN7wmcv3T%oN(%Ie|_! zkE^k3H-5`&a7Lek^V$Gh!yEbj^|inkp(pQlgdC8ksD!$K^#8*~@np zgJ1wvBTcuU@C0;aG&zG+*qCjGsqI2VpNg((J$sXeFefs=q+JKcsu@#29NWNLKZz0K zLlshs|JP%wU6+L~f>vw;!m*z!@D3-mBI*98sp2WT5hLt3mxCge5l%8uX2-W)0S}}j zTaBH#(|q?Xh6nP^vzxp?7d_)HRKZI3EmCVFSAN$6(AJsc1WI)H8DRt_bN*kEbXkBc zppTRPD~h3(Xa*WMYf%II;DUNE!GdIoB!d{N#X+{6QAj0ew^Q zY5vlc*KO5`_~DM$Xf)^5UDP?b&8(_Z%KGfLyC^<@{pFI+l6hs1;#bFyh#wq3BmP)? z3E5vVll-LoPlZRBOO;6-uc@K!OoHxBbU_Po394bqPpZ{bTQ<@|hdTdu4Rvqu;MK)> z-Rf`0S(VdI)__~`5tok~u=dCLulgM9V`sq0=t0)kNN;EFP=2<~JH^|Jy8PAin4FN3 z-cIC)U-o|WHY7v5mCr(D=;Qm7F1{R!pXL5v02S;;z=7bj3z2=Ih>4v=e`C6OiJvH+)-T+DRNIDL%QZ_|4NcN{} zjBK22v}}lMf@~Fa;JeHrAIKi%xx4~7M4J@_m7~A{W~emkU1|aUfVy}Lj{phWqW2pv z8Jdzd)Wh`AGzEu{B``q$vSz?JD#g~2ePA)XX4l~pQU$)!OrEk2j(DEGnalzjCf5&i z0T0*-9`qQz3%$8`pFa8q`LhN74BQF0gR_G#f@(0;{&djuIXT-&5t<4Aw;88N!ItcE z@D9AIiA-Q-X0F3@SR%QssW2yYvkC0ukHVaIk2Y`x%!)>Qa+T8c!9PbGSX9W*nYJ-e z4i`2u3*=&sY$XoI;bbG|#wqcDxRul29<1;aeNO{keF~(pao=A<#q3NwI|8?1sNfW$Yg1OJ4j`G!P1-oUZ$%8%5mRU=b7k$ zcVH)HJE}lK`mq>Q!46_jnu#$5+-M6bu68&F7KIP6)jrT3gbi>KSCBAzz`c0;DQ$OQ z0Z4QJ3oW(5|F(1gS2o`=%`-J+clV$11niv=@OK)Z;1kL7ZEF0B6qZR;fQ7#7+#eNr zmOlE|f=^#y6R*a>r#`L>zj&vygH6GasViTtICTd&r8zv`+_~w*x1)Glg7Uotip|fS zp5Bdg@0Y#Tz1K(+f5#bKPXC?^2mT&zVJ$$crUg2|_02*G#51O;**_PJP!k+O+@6J`MVw3%~ zEFx<`M{rn{RqmDdlCPEDp$7D2E6@O*aA(z5)o^tVJO#^;%-jMO!3p|;V6`R~L5-;L zL(JdIy-5q~jPrXl(qc@c%s);rl0&@^tyxYu=lx-xymY9Xot;~q8C>;Uf71mlaTh?} zl0tUK9y*;z`9jp-A(8SsFU+(IXyK}}s1PDKZpLe1&?Wnll$*{$peE=lKO+Jm`+ z=Xf{kalYv1`Fk!SZwhgE`~Z zzy#HB%j$t`3 zIox{ zdN_a7G)w%fia8GsV5dzhO@m1SEN^<2&H}1vJcsf$EOST?7HLbjmzIt?;?~rI{!zqgJ$CZP?SD? z3tatwxM^#V>r>3V+~smzVdK(=3fhSb;Rwif52o5VMJ$A^UM9cLb{A7kCXfkV5{JbQUD&dFJCeeB8YQ1n{`~5+`E- z+@SBCjwtB%;id7;JAgSr;`Fbe2J~gyZS&vZ|J!Z630vb9P}lv+H4cxMyD)GAumcJ> za@u#=T-KdbfZYa*ey_HHCQe;MrBJp)AJ|W>kw24dX9^f1>m_R=Yb{w?q{kLTIQW-Vibuibipsu;t z0UTojnC$Pxd?tryc^gN!Dde?8VFi~)9h~haX#=MQC&2#P9K4AWYJgfcT{s}zW3DL( z#$hHMNhuZ*U#F|ZS_tJh|D8#!xQgp(MG%0hxE@boig}JE$m@OVndNE7{^uQhig9d> z^5P59lZ1emOaOE62kgS$HOAdu85U3;zKSys2DtNo10x#j9KyGOJiFcK2b%M%HF=8l zyyge2fJ1DNdgB>Z3SGcf9Nq%&N^m=)}RPkOy`UfZ~^&hSZ%0_3*bDxU4I(($w%#I902BPw3gwz8)gR(+ zbzjj^aR-gdMOii3@pv)*dR+UsxVWrwnd1`ThQ?)yUlrd?=7JNL3sq1^-JQ(5VY;pQ z>xOqmm$^BZ^;Iyyp#3k$8|O>cE%$gh>dU|!1*{kBSaNVJ0%i56l^qjN2YdNWSkKM~Xk38Qzb-guk6@Gw& zpaA1DJyrcJhi{3lzO~o^#j;9>yL4`d&Pj%d%4wJ6k(c2$h z&?+W@i`0NYJ{g_K4*HV5VBNn`J+{#uj3aj}qi3MIq zTWqCYV+p3_~<{N&qRae2@Q=JoXTB$Fe&kzS_)(e>x;P zT!8m5jn<~406%vV@WUG*;kX7mk{NhHyoWU&1IL_1Ci+?70sD@7^aQ71jsHcbQ%X1- z{1rc{zd-=YfdI6@?QjvPHJN?enJ-It4|%$?CCRES#INX+2IeJAWP(TlmTTN zPw4@EPp<%b5_-Z0x@(()6YvX|fFA1u%SbT5Q|R{!n76^*&tlp}UX0S1N_O00!)Q`w ze>1cuN1`j)QcXxMp zr{BAKzvp~7e;|8bbrlejK+BqAj`55~ROP(0P(!o%${D{`m886XQC>O^7=iXNunuKTu!GkYx0js+b2^{;;kS&WR_a zLf}@NYzypr9YdVsT_4=l)AE9pz|}y9;6HeL&j@`EwEzdmnD92-9aVkJZx`0QxfG40_YZ1!J-%y(DhvVdh^g-|06t;giyhk?&qDT(=gVUc( zZEArp#A+(k$IxJ~$kE(&qxlGfYzBLTo|7F@DzJ@B;sThV*ZBTs^bPdx^lW$cb>#;M z4BAd8E##uoF=2wW8{2?G@TL!=4ajEP3%>Fw!$* zqYOC1E=3<;BWHGpJH_oot#sQX<4bkOTL|^)pT4iY+S+C`0t4Vbl@6>AM3A(4F=&U! z{}dkd5Kgl*VMM}F)K-SXaAIZL7P_O%9!_7-B(XeNtemhZ&%q>K#um0^LJ$_f`|#;- za(E;v%P_fN>ETW6A&;RK2(24VaG`$<2TTdRN%)+QkB_-J-0``nNj|gftVk6Y1N(6r zKMqGl-T|kxf^eIf;2t-L{ZfX6^_>5L;hiu*Bk%7vp2Dm!68&IrszpnxMFO6p zd3~?g9Ik*7P#w3K7gX#1%K%9kOCKQID5c-aDcyq<~hjk>qdItE++q< z)Qie2l>3!QofAotkQJAbsB|HXGM`$NUC}A^hibDm<(60jU*IyBz&$c%uX6YAh5mK(Xkl7qPPUx3z7zCPSRR8OD4jhw zcvU~w8FvY98Q&5uF)$3TnxpV@6f5DS{Bk7|(=pTaI z0P{f1_n;ddikkL9_;0+3hvH1KkB_lQuwUQ?`+z^d0X8t-UB&ZhsAqz^r7OF0wq3Pd zQzpq(rCj0_>p{y|a}IMW(|uz%V_xG*LsvQ|)$o%cui>lyrT!B;6u+T8EP<1TH-=)c zt5R8&8i~X~Qb>K|k0!tlwhPMzr+7o0h10@kd75HWm#PJ+@sakGcCTZ(Bfql|PB3qs z3Ajn!cFA;-yZHLF^6Vu+v_4y>*W?FG^gZ#F(f-6WupypdB~ZFP3X~x$?G2tGlexPK z@$~Nq=S3AanLM$p32&$bg~$jtfcuw7%nkqdDqgF9qpTjv`A;GxAPZW6?QnrR;0+WF zM)DAr(chs7q4uO~$)EuF|1}gKCHQy3b~Z|{*eJ!q8|w^$ah16yj^txUk{xx4m}Cb1 zd&Hi&HW{cx5=xR%F&<814(^Dtp)#S*+yaeo20jkzTL!dfN17{8dOQK9YOTl!N%5WW ztz`-rMfLAY4QR?N(1dQF6}SJd>|iH?4=*H5d@+@G4wYge-M}#FLTB)Ra&QET!w&XlAdp^0>Qvr1DW2AgUy7uD)kQwhekK>}f19$jbQs*y_HeEtJqzq6> zDf!{%Y-@6#^~feH8;&3QTH5v=nVd8OxYh~f8FcfBBPI-2 zTnX%yZqfzJB%jjm9Rgq7LMM7BjTP`z3;XB7d#HowdLDM0Ye*7IGJ>r>A+APz(n15LA%+;f)@KCz|@>c33AJsBdT3 zX=Y1U%7hoogt#*_4j!N`bcxNA9o^Vko})nEqklCSVP=xT*WeCZ2UW;7D!^)P_}}=t z_Tyytv;d|Tgt{DwHFvqz35FBP@NrZBwgceQnV+a3^3pk zv;`bMqXMjPH**(t?}ZIi(6z}~#rYH+P)WxMdxHHu`JG>x@~tFybX8)MyJSi)AcJu0m~uoZpjO7+Yn6Ib{i?b+>4P})3rYT&Wt+^ed%_;7WvgNf!Xn7a7Vxk- zO>Lk?!UXE8#3}partAU7N)ggh(JgKf+`>Amnf$A~mZ9c1ruwFx#wg=3!xMcK{kr(# z@uT8$#Vv@f92*~Nh^vKK{#$%u!_QQJQ)az&h(HR4lodalzimFpbmtpa7tbqi zG-{ws!RnzXayur1`yb>ESwjUVkH=qIp1ZT`-HU`?GIOoe>igb!_P7tZ_BeIUI*tu? zi+!do+GYj|ZD((f*U)j-IJec4*ZbZ3$hTG-Lnh8_YQTxWxxh_c7r5bau|3=z43i5` zjJ@Dylxw%>P1gl0QUNA_=9`!`(xD8BC!KIhz=jI+H&kF1$c4!i+|8d5WD=MMp7?v{ zE6#cgN!#2*$LkGWrUJ}HA&@r^@ORL*_@aEPNr4%|F84JqZU-H`>?VA}SIdK?25bXr zS_fFxnqQ(3o?|R*TyE%SNHiD?MGeJ30Sg)m!KWz4TrdH);2FaQgB69<7F5F{Oy6-6 zJ!4k!4$6&AFpKa9+`up5cKB5S6JVmcRTaQ<1ejk1QG*_I$hb#rcV- z^w+?9r3;R!6WFHCO_)We+=t(@lBu1Zne8S@fQ8IQHPal|@4%i|hCkTAG?s=hjSKK^ zxr3xu03%GL3JGR+_FhbcVDSsb3sLt z@CJWG3Uxi^#FMCjdXQ50fvr<}zrlYWcJ)vyfQ265l5Z3D`%E0dW~ANse^C+E!VmhJ z*GeXYUB3OkJ^Z+p-(5}>n4k9F4&}aR2uIM2m+&L>L6cwwnn93uzy}C01*|3`tblu) zt0{cog{T28pyvBxA7w9OUkrC|4?X@vWrz~3oREjeHRSRn$`6p2;v7?0sg9!Onqp9! zsk7Cc>TQrB4_m{Yu>J?x`r5j}8?4FX@8ksOY=!CnpQ!rGGhX71C_~#&IR*-9h{kw%n`fU47LnTglVvdNx2-i|1aUZ%mAHm zk8Vx{cn>b@)Vldjq7q(9+PlUK(8Afo5whp99U)b4kkn3WFATRHuzbfsv8QPd+ko}# z0je0>27#B%G$8QnYK9K*0@mRn_`x6B*Rv1obimer1L3YO!JRm&y!EGU-xjA|91>HT|m*EHfhHFq6?@Diedeh53 z6;1njEgCJvUVl+^kt<0P4shEY2>!qyp&gv3C!rWT7)QhLdmPRN+b4$mz6zC~BQ79K z=>306_&_IgF8mMf?6cXM*Ci(;D{QHqWCe|(lV}&Jhoid<6-EAk%_A_i0$kFcv9L@0UqMII7Vv%4v?Q+z*$cCX3qK+n8E+}j`>ca5<22Lp1`R z9PeYk17x>sLZPvoiC{K8LvLnBvjaQ4Pi5MDrI)JE(RpWs0qP;TP|lmjksoV1D# zU^hB|^>hGpzyLeqcIh@vGrlsEHq6z(jjs^@cU=CsL9v-*=f|{hTK^H=i+1^M#crEt$H~u|fw;(mFG9&=b|bZ}Up7S8eUpKaW!pS?8%NCt~d~{ z{+>cGEHC>Gqckjo)<1KwHD~sA@G}{?7dg90p_!qa;ekxJ6T<!bEOjBa)^+WF%ok=3B;KY|} z_pq&a#TKBa_n1fT>E&MLI_kWM_TrQ6qPkI;D)*Fni^EV;-?ckhA@nSAwoofvV4}~er0Uyv= zmQrph9n|+~YuhQCjhy#PsKGZn-r^fN6fa35&a&5CNo3CC^>p@J@Pt4DvV%fhWFI&T zzmO87v9I!f^Cyv;elk#i9qP>BsbHp%C)AZ1a2>BCH<`J!=+91q4!#5%Fj5CpszH{7 zJM=-T!9)Jw+;pR>a=?2FU#{@qts%e@bu!sLx{R*md}( z5ea^n{=InWCi0|B<~^Dzrxwm;FT?9#GTE8yW>LA~*byBfC44X_kc=zX0lLbb?1*9l z&(H(4Nvi-`&{}uEb-_qp@Hdc^+rAsVo4oGh$MVScz;}z+RrptTeGhrv;n%0B3j3%6 z8^Ej=GYbp@3#h{!P!a~wN$-4ILVVr~-u<4DZ~{}@>zD#^QUR*E-sA2Y$tKX{*vlUO z1ikxt()(^HZItiwWZ6V!?G))x>8=zfcZDrp7$k2$**uNl30zV$!w^oe)u!j~%=xcD z`gcjvziz@8+Ka>7K3>~6|I^e?bO8Bb0t{A6Z~-fm2i#J6CU#5f06xM4yhjJH(Od$D zi|ahQV+>dHCVk)d<8kqEqhdeA^oudXypFyXoiV0N%!ZgYu~p;x#qZVUH#RoyH^*8R z2$`fV@-3x~t&ro0^OpO&_nNjSa4MJ!?$7yz>>x`&5{`f;M{~oR0R`yDELJMqGW0R1 z584B7aNt<$t?7B~8tm-ksAOMh)5tHJqN-|c_Moz@y?v+Sjq|;0Hz|Z4J+r)heZOlH z{VD!Ap!wawa1VfR*9VLCh33HPbMUk#wf-&;*nSjDrdEUVE-(_g8=| z`^cXQrr#<5960|q{8oP{Ha`RXcVG#vXRnZpy^t~ZDe#=v4se5V@Ixx#6|~rQoWzF; zo;kQW$Ggfn2RL@vkJ;9!)0JQ4)>2z>im=Q2)DlYt7-c$XOfp_GEHVs0LD3#WunXOP zOMdKS7;9Jw68OSU(5M-^Qvp62tC;4QUYp9|89_!5iTaxnepPejUOiIO%J`$Jo`rpc33gMesK#YZ#7- z?ce~HqGD%H!~d3(8Qc#9un}9d(s1ch(?YWSOH6?ORDe`(hgx71v)BUN38#dMk{GAK zVJySj&m@zN(|-&uR8zXn`_!)nJQcTtD{+XZ58E^*n4XmIQYyy)}0wj~* zxty(CGN}JPxjyOj%Si7YFYS|ZGre!eH=-YzvMLV0yVTFB357s4b^)!x{2Ow1a@!uN z2h}Ao2nT=@PFH8CGsyzzt=8m3eO5M5RdUd?n&mZQV6VjqY_(t`|5k7PgASlIn=FH= zzww+Q+R#zIIX-)Qjksm8>0?{Pe2HEV-9Ng0^nmD-(UoIz$7YXH;)m+b8cLhyzy}&E zq?1<4#nd^r)sCaCOx}mSNB$DQW1-FAiD=QTz`x8(B9IDCX9VYe41NsN!kggSjtR~T zO!6<)Ci-f7f4FO!>_3Fbz1B0a!p`*}x3R}OsDOM9+(mUuh)+G};V z$rA#X1J%hJet;9!L~6iPCflERV)wx_PM5HV44C}5ebi$cxF?V)(9C}xZbwy|9yVwP zwU=57DZ54ecj5UpNBLP5xBW4E$3y-e{{8-={v4e7weS!x@Z)Blh@btNUU@|#1Mz2X#P>=g zAE+q%zk6f^t)|Z!#su9gREr5f!zK796hZ$E8~8uxKP7lK^fr`-+r2JZ&LtogS4fWi zg7;%~ydgeP%MO4-4d(MG6uv?-=r7#=57_;PJvQ^pXdO#`p42M zno)zDL_so6>w^1Q9XbIGj}S910VXXTrLaybrWK(o6kL%@U*ax~fur!3DTdqJTu&{sLUy@3y7Rf$k`4L@ukUQm$*6m$f&xsU zgCB`{cbJl!?$S&LFd6TzLEHx);fbwAeLqxrNUHoqPI?CJ{OT|VtEat^Z24?A(>nfk z+@9strucvkCV8%}+Jb*Bjw8ri^gyrV;rM}#kW$3nbO1escXR-E(E;x;N1JMO=iiMteQi5(R4GP+lET=d7NCsEm=8$>^hULCV0_HkT{ewLw#X|g%O+LH<} zS^i1=W^34U)@dY!4gj%@NoW^-K$h>$;2W^Hdj5La zQ}29KHV2&(9BzAOxXVYtEL^I>$GlFRZ`)~q>A2&}>%QY|<;euUa+PnWR@HyNUlQ%B z1wPU7pb_QJUYGy{*#TS*dlRaWK6VK9G5&abzZX#f-ufN>#%Mb>g3-)kj@!z<{H-rD z)qE#BE|)JK950V=gzt^74!IB$v|HL4xFDOT3CF;LmTS$lCv0{n;}=}mGmH)(=o;tT z>&W5I?DcFFRI`#_j$jwi8&9=!_^C&m8<~&NU8(U|YUEO+1&t0XBjJ4h9LdrQrZ2*lf@B-(VwHgA9RvffO*$ zL13m2g84YTL8hISbV_UZ>V1V3Ewk&Z$w_L+s~)Va(qN%Rm{H$D&*2gs0RNu}2dD@C zPaP1_09EAQO$_``4OoEk@njkX9AwKmjBW5*=9eSPHOJ`+{^qG@!&I1)G?*!<%LJzX zy>LmJ1U+m3zoQL1Mdvpbricv>nTvFY191m6`!kXeunWJH@pv$I)LK&q8sQdN50z*I zEl~?;KD-zlXt5P^gL#1E#S#Xau9J2u$*Q-l^yVjo#;I zI$L;(!wT-?F67?qszMLYgJhr4j-1>n8STAoZ*cIst29yW$Q|S?@_O83e~~&!^Q1eH zA0}TeWuS6jDaB;Jl__5bYG~))w9@@&u$=@O?5@^k>nEs^8sz404x-isRMAEv$Z0$Q zH4?$vzyzo(9mflNli=XqvVZ~Puyi(`H(5;sjRy^d4Nde5<8Q=8#x;pu9`hr*bM*J9 zrBS`3I!DcmdKA?s+85)Ftsl27zP#b9aiaOFrL}NPY$tow)^@LJuV;p@xj$pDVQ7E& zUc%7CSL|h`v7?PiTnkp)20Z2r8LeZP9r^0xW_4Lx>#OQL=I-js<~#}yDzohn{ske` zfQMNp(lQp?Hrlg0GrO|7FS*Bgs(2%r#|~*jV7or{*9e?v1Na;MzrW$~jg|lCShlG>FY$ zRqwQ1GG{d>nEu2^=`kJw`|t})=H6dOC0L59!WzRrU;x?hSgMC($d)vHP+PnL3YweY z7!+ffZ24j7WW8@~C%hE;i@9NKf0H_qDPBoAqx`~bXTve*md(djAcSvVX|{sJ@tA+( zYDEvw2FH-icAfQ~~ka8h8~j@$66I4BQW zY&P@#tiAWEUh=}vYFl7cOre$z?M`~wSDv=6q)wbAFT4cow>qw; z&YpPu4u%cX-~NtG;4QV9`VWZRF1eh1iw>ZUR7R>L4V3mv#n}tIkvl5KzyWHZ^WDIv z__LZ0->+9-0^8I{-1~0wzoXz0N2_*b{~FYTYE*<66a~A;1dCO6%RkG9u{HctOo0cG zLFi+BZE0%x$1Iq~!2_0!JzxQSi}%I%j$0l3Hb#mW7X2)0aFiVNIr2kfk*MZTZ=%*j zuZ_7A+a&&-KG|5wyvX7cu84Ew-s&EEdDm%Al$IqhBseOxI-EQ4Hxy# zSXW{9WA`S{TJJ<(Yt4Xa_le1eYR5n}h;B`?(AK0pO{jyKqM#{e>Y zdZXlRY&)Tb)eWe3Q|I*^B+D!8?G>pZs_~cfggZ!<9Z3zy&41N}Nq;?fz;+bFQ`J6r z|HP^3$p6f$=7LRVQN3ys`hi6Hfqd)%Rx7QP0?OaAOWr6&Nn^yvLL=cEDRx^xuST1n zo08xG-GH^yLO(D5T3ms+GO+_=wnyiV?j4mSYG>r+$N`blBkx8wjf#kljOiPjKfbg6 zyJ5JgjOBrKm$+VDroOSacP;hkHFMx$@LT9&_$OStHYDoNYq^tF!#J&&_#H05S!T;h zq3f{hK54IU;(y^;>u&10O$uL z^(F3F@UZyP@Mh@lZiz$7ZdV(Z$yLIY%hiO`#*a7}%t3o!6#Zr_uSky@CHD>Yc6_|1lDc zC>=!he;EPzPaQCYRI&@JQUwNs25;gceiZu7mLm_li_GDd zs6LmWC9guwN)H0Km(P3{8{RVD(7EXW?z1D=fFkHuHUV*gFa8tsOan*?^Z0+lC;T~D z^0U-|Q_O{DK~|4x2k>54Np+pcv^Y}h2TssJt4l9Xin%}qC5XXOu0UE9c*!(ygidlI zynym}34WqF&p^o?>AmWi#`E>kJ=N{RCAbB%fD{hxalAA`yX(Z$xk1x zPy@V700uQP?BY}u;F~;KHpug&qHM3O3YCPdxPkpzktlht^`X;gqe#}A9! z5c@PHGNxkm?@_s;W=58eEEt)QclF34k-ehYMgJ4?OWdXS+J?`@1Lp14J>ow3t!j3x zc0Kas)Jg{&p*G>pa5EaCK<%3JFzExz^F27!RZg@f*y%E(Lu=>&Drld)%RI~6^IX-O zEA30b)HcFa%E>zx<>DihaRIfI?H81WpPfGUFP?T}V>Ho9^F7Lhe!Cd>UJ<+;qEmAK zxU0s8uZ0`p8`v2BN8!Y+a1gqLTZB5WZyfILrB(5HyjD+=dnKOC5q!m8fua{+qc`8# z##z9*nH_twW1k}vS&Yk^_sQrU2pf5#YXII23;20FPL6-LI>Eq+avdh6?J1kvh4!o9 zE+P&=E#w~367jB};1@j8vekUo6mOcr6mW+#KhN;HVH(r_dVakPub@kYS2%`MgAcr$ zEr8Kf%QT)2z-k_1z6~$UFsndlAuOqJ>ZS7A0aYa<`|CVrk78URl00ssF@n({$*08`PF zHbMtr(pUbe3OnmU^W<)~;*k zz>-s|z!KbMCNLlLB31Yo(87vZ63P*~W(60B042<*y`={1Wu_bfi&z6~xlg{%ed4V^`3Hjk1Nh;t7M+Qe<`y)1b`?$TQD_NAj@&_FJa!3coJtWGdqZag) zj!W@4$sZ(Nx-tr%UCKKphI%2<^=AX?f5Ptg3hzhCCndXDl6gSn-x}4T>IYbazo962 z3#Xv4JXOjlbrsJG8h*gptj#R@NCNC++CE$_W18{a$NJ+88QDve~$7*B}XPk zzS6DHP0@|gtBPNdFfNXrQE_oZ+b=uP*8xf!Xhd_Kl+_KMpR}+$t@AsPn2g;X^bkYIfzAVc>fBhQ##mT=lOhBQ2BFVCG^q_=(XZn4mRCa;1JDWJ5vok;WxT~@n|@+qb%!yPuLcB9rttB zU{@a36rRb6j@*tu_9wV`?qL@=T}hEU%Xh&5KZt9^1!6KY;WyDM4Ixvigxnl<-~;-? z8p=et0gsd$a7VZC+O6zS4x<~qO=ZZa7Njod@dPZvX5q22SsA3*mFs8%GqMTzBsLch zqX!yK9#AREG~9q}re4NPhW97|yP*Sm7+WH?O3a|>4N>W%xe~Q@@*IsWo<};VKjuhX@ooq84-(8)(ueFTA*^6-h~Z&CI5ek$WrHI#eed126n1CXHb*K~rG0jSp`R z?F-HhjPbYD?7ocNt9-4$k;L|dbcN!MmG&~|FE+!ZQf;TzHELVckMBx*_K;WA0_d{G z*{0YwhSGF&*-Gyb{MERX+6)*K9VIfXvWu0!> zgHKR79K$QJ3s`RW)zAn&z(i2M&G?4jGJL@$tO*mq1+oM+{6c5pv#8JkTrs;W)6oS~ z#W6Ii(17fKboe$65zmOKG+)Zfv+#l>rsrsdGr*F}2x>UI70s=RXBB<0;D1cQC`!^Ks?D zuk0s!f+$`k=~c3F_dg^j>QHb~nhtz8ERtVfi)&PXg6skxQx|uT5i}7MbyL`*ra&%s z!RP%um=YOj`)Gp&zu?u8isrH99Q5()Y&>c66W+V*P z&?=)NPn`*3a2IYej>E=Swn z+Zr(iSk>RD0Bz-~Ab|J8-^rFAA>=4{Xy&JSqfd--B;Y|r@QfHjngwjgsp`|XO%&eT)C80GKz&ARr z&01dH2TwWoN@qKVVt=eIP`biWEHA}KpGhq2FLo3ciA|+ny|#W^W%) zD|cttXy-PE0FS4#eG9DVBWz0x@;8@5clBIeBTwTidPn|1VrN@0lg-??c~uW=s;B63 zcG^nf!88T`wMqE5<$?$Bk&VSv$quoY>X5*+*Oc8{$NaZB3ux>L1Wxe$@O1P(@%{oo)x%Ty zS*yez@S#5rRn#>4{~K%qql1ZX;JR`C=W!kmp@q6gXMC3m@PreTg!pO4!=8w|ko{}s3YfBKKhpcyy02Oe$0t2)jq&K#PW0HywmSZL`QUl)M zF}fBdQB(ZHQoR3ohv69d!ZX`b%5%>>l*F)Pm(8^qUBE^dLDNz8x8+Xq@LXn9+Or9$ zCEXB5ifzT#czI3}cZ%;tL23a*@UoPHD$qqvmLI|r6cmTzRq9X$CV-;tQcf%P=mOHI zInNj z_#gNm1@;AZgvN%ezy*&YDfBN`ptgkLq<{1Z4GxwMq-e`v9DQ=1M}z&H43?$n4#wb? zP+wicSM4Yp*SBn1n~;`Vkh{D%UDsr3t8`t8k`v@6@(RAX1My@UqkclAKMBS4GL*Uw z+hH~pYm|ISGkKkqO=>Ofhx|Xp`V3yha(aNed^JnstUjF%pdx(W)^LI5k|FjCXOJ4k zDaNzL0{98`GW|u8sM|c6Er1sc;Dx2Eb)hxITARd%yMhrE;HFp_6ySqYPd-9=z($qM?P|ML{%apM1@<6Pn;30i!7jrrRWV0FRmf zP2k_{K*6TMhTRG)=t1xWujibZC%j&gFqRo~KY}VCg7rf+;;q8^jpO%jg9N-62 zz0Ro}Lj(g7O1~Sx7!9Rgn&f zPH~3t#u~Pcv79j%HCH!{Vg`7wkI*-YpC5N8)*RafwcO=PLH|Bl^V6+e2s{mbzytGpxPHP|6k>PbxG#s- z@{qf%MKBaNr*-ya_AYQYchz^cb!@{sZ2;Sr66#p)?;u+dO*$#I7wzDphlSO`X5p0( z%h&o>Ch)W3UDCX_NSb_>8T=+3jNxc8H>q>jux6r5%R}FCO|nZP#Op#CVXZaZy4X^T z1mUNq%491!NDUf@9-s`0;99VO7lH%4F+?*1EFweDN&?et(*@GQ+T#sSgw&A3mMC1> z&yXJ04^D7Kv7)#E3}BFS7T@3r;D8-bgO!H^Vz;ei8~B&KEN&s~VM?rZ)pS2{ck(>( z{K6ifvTwJ~f}dJ;^lb&2J|N^G@v8AvlP^uJ;|RthhJ!5_B(tV3K6LCD^azqK;NL?thS=9FE$k+{WtMrSEYs{I2 zz0x=}qoal^#beTD1scN$E|6F;sW>S#TT5*!6)2S`T#QZ6HWw%)Y9u}Z=;x`0jMHtDK-QMsYMwMmZN&Lgf@?qp9Bl-5~r zW4r8gXz#QG{wsm!!Gj?e?sb2lV_U-pI49mu*V%170Pl?n9Mxps8czjxCf8$>JTCiS z+d1%&M#^4UCr^>yh|R>aY(>*?f`?eUat3!gpXwu`aUL230j;MhHcm!56^k*x0 z!H|wDkxu9VQ;cPq01lxCs&4)hO<)DfpO*C2TGnK1dj96g!Y#o@dh-jh5?PKZQAe9Rwa>GmHeHG_yr_ceU&eC7t31wx@&rNkmedXfU*_f^~ zf%~WbFG2qPU+i%w`mL?JHgoFNQQ=l`=P$?kX(65{vtW%*4vyoqAA%=D51e3rK^;|= z8NeJY9?Ty6fUm@PdZaaM1IFVW*$&LKe83GFP=Xrp-Tw--`J8_r?vhKW0mD#QHt|>T z2l0!E@fY%Eg**Hb*1%PEg-2kJZl?~cA;bMI_5|~o41S{uv;rMem<3YvMt;NXuB7ie zy;>POCT4j;qzAWm|6t>k*Yz7Nf!!VVaQfVUqPL%VlSIEoa&AJ;r~bPoU>RcG4GIuzENAGXpBjHTPKfItdoU(nOoQm;sEko z>x%2{NBk3UIO1-EqWe=UFsp*y!V?mv zC5lO-ld_ZPRwk)M;@|`^YzaAoJp)_)d$pf^>pWT9uN|4}t<{Ti7pa0cNyx#+Gmh6* z_TiK99{oq0j5e;TQh_euH~Vo%iZeaxfM1z+>wAxR9rOWvv|avvfoZ`uIFJ?~170Ho z_I#RiMSc3#O=$n$`uk|_y&XN--7B0u9Q{yT;AE)w1`n~ylh8)hWfsaO^s?r%?zN1t zbg>K}&38Mj9Mx*F8m(=p2X5h#FhI;Jjgvl0_2v0=TpLMROpwnrp??IQ$q5_yfwd<7 zDt#>J;Z^)FwKv_sVevk*e^WYuFz=@Lg>5q2C21{W9AZ3eEQt%_T37%9@HAk&hp6AdAPMR4-@H%e)0QcT}&d6!-vP|6T5?iwXoW43Be80ewDNDB>OGU^8 zV)mBm@P%771OJpI?Uk96pCRq+|99a2|L^Hf{pZw^zaICKm3Yf1!}nVpT)^3%nRfOk z1jlgthtd7?;rw^R1)@H#F=1u^J=w6C@sGUAE?^H8U;*3G0qCcikQbW-Ls*YrSZdPj zYihuG|3B1#|MUS}=>w{2Q z%JK4asfe_Ynf-@wK{zCw#7Q(JX; zD(jj5M+v8_?U+ei*5=j)*4$v>rN!goSg9F~DA$z>>T_EzQuAV5Ph1P#Wq988-t~9| z4Alns9VmqM2WzmsO67;|U~^?4EBqn&&oAs8Ci`n>r@f6lH(Z^Zv5wsKLbiZ9M!CYi zaW)&##%x3j3Zt#B@JF;+PMNpRksmkTFlV#GSPEOLmNu517R~yAOyrzmPw^fMz2Bs5 z(lOG#drRr138KLK--f=W8-GH7CV<7}2=io9HXMR-;t$dWk3hGVgGuj~zfS(pK_Xnp?Kv4AR)T!kP|-#-GA7AyNDTE>IO|lT;Wycn?@aFPPvB z@r0{nI|oDJoxQK4APEzdU6)*K+@IWIJw?59y+(X1L?(c|Fk0UD8}nS}=f0c44*W4U zdr@}z72*B#W*a*QMbHesUUNYEJF+oLV$WBY6aR@W;6v~$4gx9Q>goQ=PyYX@2C29H zO78vCv;Qa6ZWgD18dLvo!O?X7LxTgE{(lX2<^FF8519i?e z0eH!fK=(i^Ca3b?feMIV;j|j?3f1U&6l3d2olTtuy5eMC!(STCkkuazCY{TlfnMM( zb>K04wOi~8udyjOM>Y5dv}zI9Ko`_!7W9N?U%rg&fbW9V5~X-Z=kTemic(GsERj)C3MEKg;k)$FS#F+#11G&E|ApOn3TD^ zXb1;`T3wMdDh8ztZlXhR0$2>9y+K)t%jgJH2D0*+X`#G)PioI5pdr2hC4~;wt(LE5 zpSg=^nehT{wz9qrD8Qpwd+dmqlhL~9Zc%30zIIXG%c z^y`>V+>`kIhQ}tsIvz$qFWYfPF?Un%3e6TM9h6XP^$QP%rGJ)JQbL9Bn$YH8-@pR@ z7451o(%Zt_&?(#F)q3(X@v@LvNW`ajo#hS58U5)2_6Qxs$6{y6!sqmx(nYO^ThL%f zbNIo}T*L9nKjP`;wbBK=))x80IDV`OdbrJMa-%-eg872vrM!o z)`Mhu%n`l`3HU1S5ub~1__2xjOz0z&5cXM{SijIa;YSQKY9l+0rba3tpx~R zMK)X|(;QIm1@mz4mxU|Sn^V6QhTjp`zh^_|L$^bhLc6H~146B+4GJ|PBYBDMnFqd- zIGkDq{x@E!J^wOJ|3Wq#fBfImKZeskgwx+A?eupJw&nacrXp5kACfu)=uicu!$tm9 zS`V<6{HSRt!F%C3*N`rt6rRCW5WymW?92i$sR8HGYQQ4@G-iPw@P_N47!T43nEjEc zO!KiH$N+Qb3;6VVrqk4V@D!x*4E?|gwuPPH3+ds&?nEtE1}tC=Iigv;t2`Awx7?kX z1BT%j-p~0AB;WvE-xF=mQTF|Xj<+>VK2B+cXkv5MM`(ek|3G1uutT`Qw%8)p10y^n z7694bDy0YE>jq2UvYehgz$8w5KV=M6U^c#hqrd#>o~q?3JX$qFkNs zzeRS4>KeT%CV$+4_`eJ*P3tU=gh+XbdcvOIl0Bt;d$k+>b%DXbnq*Yi!&C9z?HnE+ zx*6OLLw_)-8#TQb-Pv82?Z?#ba$Cubzt%u<3cME4(wKg@vh}TXuP_3%qluJB{!0!q z0iRY+*xuQt#znHmb>Hw|OW2V7qY!ID|uZ zVZ$5TfgkBJ;1paPMnGyxKn3F*<8#!&3r+7y3!7_xXg1S3oU<6Ly{*Tru|ik+ykhKq z)-dDMrvoS=ca#sn`xu~HR2-y56~_fGn!M-+j@OR<&H}DgcqhHWJ4qm!t}@6-J(wzG z&@&4#T#D26?&S=->Gg+k&R22vZ=szj7%qY0CxTZbn&0oJem0@3?#j+z0s~A5eoU(X zKmLa*K|=cBf0wrfc*7j``?ibNJ~1xM#0)Bg3ICyYhwl|5zNCT z;3dkS(>TYk$0zuA^g;cZ1DeC2{y7lDFDSJJ6#c(_z&RADseQn7nAW}h?O+YoAX`2_ z6|nmCV1vb}1o^22d3fda=b$2dr4HO=E?7+s=mc-LC~ot~_=v~*F0m7|c+Yxzp%VVX zZNVi#fvcu-js>f#XWxOxPfztc$lWCQrBqwmC)&{QHz(7(s?b>IPP%Wha1hM82%SJT zah;e^s)v5$ljNZWERj!x2Sh7=riczoccl;gV+S|`GJAksY!3@^`^nN@VllBNnt*s~ zXUhh%0R>Y_<21t&{r7lBe0TW3-(r4_nGyXYDiAdnCh#V@z6?R~& z$kI_|qZ`I-i|riW#L&PbT9Sl`(orRgy_!>V-|?ty?fd&Hv45Vzu2$rJc}FJmVAwfT zwLHGdu=DG>8aS-Bj>;oYj?Tgq>wAk#PRS6?5@B3A5d#peD^$M z-E*BU?R{(}wXhNd|0_sUEl*Br8DXQ^8SE7c}2A?K7<)&2N@zE~j)8sea|n z2hCM2|5(hVDIKt8hWFPUzTO^TCI0F^tmE-lJ_3$k!m`a=(R>lNpI4-We=_tmWH%hw zZ`LR4x9e}{^WeEY!EnV8gC6({dFvxh*G#f`nE8~sI1|7IKHmn`HSmC%2wQ|))b)jQ z8E#x0?@3AE4j<43u23?e@;rt*csH)$FYN;zMVyPNg;!mp-8MAA1H46iD|}8SPl0K* z2yW<^x%n;xV>taYL;FLIL+Qe~IP)4>nJ(e}B&l@c=eDTk68PPBbOm!lU10sif%t!A zBak`={O|Mt^Vx9x!Rem{<~Q;GKmCI^{k=H-ojCoiPysY%{;w6R%04tP=)n~z9v7IL zX%*lut_lCZmq^BYdLnZ`FVMgy@B+$H16%&|Nn2 zSEm<9ggNN&D{u$Rum=s)gLpq1Zz@7gs=yO?18b=PZQu%KPQOw;2PfVo_QV@ zdeb`YJNUibf~~sCVRB3+=ckHo6?^=axcS7&L#3DEFR;$X2)_u`c-0VE!x)*#qoJ@f7ocu;gZKV=iz&z}}X3JIOSJH6y*F(hjLTzD{ zHIucXWwQCSDXS@fCUBYlZoDqOUfk^1dok9SUeU**;-Ut#3FxIOtUDetH)2Y}@`w`= zl5U316`4CKd$cQNeQe`+has!!fO&y+pLj$5s49-EC{<5;3b2*lM`q0r{|MYyCcwIW zN5!--{}1xG+-ICi9hYqp>L5A4bVQhLJxlXF$z0Z4!931vLLJl5Y7p)Tok-AYBjv#t zX|Uo~AF99G+Sr4Rtj;1X1qRFswqI|(RZ(DPK)d}y+wT7p-J2GS44$QipF!Wb1f^zK zUnOrL&lJ~Fhu6Md?V!|_CrUrWvDDN{LTBMCI=p0+?-iX-Trqw7wvFd4cdr zr~m?RLo`aiq694p!h1%Rl;P}kTxh0$sO{kb4M7#S%2C02#o5hO0H^RyaDh*F+xfDg zV$IK-nito@&w&nbecjysdq@j3l8n=mUCC&CKemQ1h40~^bQ;&3y*MhSCZx%@e;kGj z+?WZf2($l}|FH`2pVL1nIDyljiu$FZ{;9ZM7rY=_bNe^N6{T)4HD9I@y{Xi*y5*Q%{bG!mD2UIFSQ8orIQ5CHr%dx&@&|ab!>_pn=1@gr8 zc+R!Nb#f$*p)*|hUBjI39dO`r${mB#Pog?c`6$0$GaK%%cnBQESv&_WqY{1qZZ=nWlxJuP`!fTa05^CjHWp6_ zPGO|=n#E}8VqR{#OR{x!!zgmWzQy_21RRaY9aA@YSycL{rjf^V)pYM8)<+DC=o&F9 zVoO8;-6UOfm*Vs=?S3A?2$${|~CM+Wv&7d?l_Rr|}=5ll2U zOsey^^IZ1L_b&C6cE5JEay+nAQ}ZdwOaND{|Iqz6p%d9c_nqIoz?^9LY*}Wl$R@4} zoVcCRZ_L4wB%XOd!6w){JH|N|x_(C|kQ2X!PH1@FvjzLpH%gn}w*(RbnFA~7%KDS@ zQVA|#KCjV};+o;ir#L1q|;9Q+Y}AD>n3p()xf& z_;>a+tug&DRYSF>xAd|cuw=1@tlhyW|6yyt&f3GO^#k-h^aJ$^_1E-KU;=9m`HUUm0=rDpO^-~aa0h>CRxCp;m%%+oP*u2h}j&pJqat{{ae|`o(%^x^uIT8}nyt5(`3gV@74$tt`Olsdl z+rbISuocM3B#?>%{O|MtQ|bICrfvL&9cB?m;)X46ndRU;+ICUD9emb!LGCYJiY73*^Gj<_%5@mr1YO z#jbTJtn`V@0|Wg%VGg(Pw_r!m2>x(Ae{C>=+WuN_2rE(#94HF%l0kkNr&5}M|=Ara(+j$5%emvVexmA?!yYqA#MjJ zYDDLX{DG};1DGQ-g{{JK!6J4M4~RPW0jH!~vR7^;|0ZvhugmYj1oA4m;1}PM56Ls+ zT5?u4fgWj>=n|I-d4v||g0or5;A*$s_|YI4nxYE69Ty$fD0XSg`)FVE*r@A~{>Y^| zBOSnmh~^RXBRWL<6_H-oRaYqTc;wco2hlZRkH*!|7cm|%b+MEb)`kZ4c2<}ILTsjHXRYl38fnOsWoxRJ86IFDBybO+TeD1M(`T!*-BzoDlTY4 zv2_EjhFx1qN{h?80vCpUOjs+OEvY!Q)tBt=Pl(at8cx3;Jj9pV$oZdSsbDFDo~Mnu zI6mK3Oeam-O^Z#VOx;WaOuN|F+2{f;n|Yo3 zzZ&>odGx>uFhsm)Bh6_QAQujS9|BLvoI1@Mu!YQtg7n|72DGLRs2QlpX3zyg zC=M-Z?m!AzwvYYSaF{#*V|X=HU>?ZeZ*&8L(W>+WA?!|9(20uBg&#Z7A2fhHkjQjU z(Epm5rMHv|EzuWu?~K4SjWQqp>sEu0Ho^j&GQTm`OkkbAJRt(?8Qqpnl$+T_x?8@qdv zn>ED!!rdJ-?4;L*C)+DLJzkK>G6xsN_O9LVEKH8?OjUm6g>+NQ1?rGhI7tUz23OBn zoNL9B-}02sqYBMez>)1N6|p6M*^U4_{Y^kq-@iQZ(CWvk^HPJZ_+do5!v z36>Y2c@@m>m>D8XD{=jJfDfq8@KL`>KbDmBao_+a^iQ-jkJvN~(cIz)2dbdnp~u9)QLSkXiv^=mGKuGvX5bf_>lxTtar^pR$4)Fe9x7^ra7I^Z!xz z*6&gk-2XS-C3RwY_MWbDCeNIX2^3H|1?eu4?(PQZ?(S}-TRNmABqgNldF=r|_w&Q| z5728a4v3=O-t4v4dM9{5HSpv>svlHIBt@_&8|LejM_dCJQ%;}}*a|YZ9BgnV`iqHd z1f$3p9GWtO&tN{%T<8p9SUcq#?t$WD4(-N0P&-*9uWl*|;p|C^6ThWFWTap8Zy*ILJTMgq3D8FQR53+SN0F*9D3bVo4XVKPI0F*Y z8Jcd|M?z)YMtxr6AXAKGpS7wzJKbT=om%%5_d-u|Z$4iO-yUD%ggG!CKKhYL`%Zdx zyGP*!j*8#!ScWF)f#o2sq^HK3IFo-vHK#F7GnO^wGVe8auz0OGQ0aEGmv@vv7n`4Z zI0i<1zH6|%Hi`Kyy}P~Fys^GiQnKEI4eI>!{QF5>2$8%{6^7OCo9x|A?ou^3{VC4O z__sX&uWV_yE#PjY&_PVFlp`JWf_a~L9nb%dW}W#qPyb?5KT~5mQ<|~?EHa&iwSP!E zsvBl-Gk8F}r4G1X8%q;@ZItCKZ~xNf&A0&Wqw|S1ZlxvMO+VO4{bKz@{S^H|{SN&f z`dF!Z$)Law^qf@SrRV^=m~WahEk9fCM>xPc)-+h&*W`iBL&7LDbZ*D~K{O08g~ti-IZvnt`B^wFQ2E9*YpU<2sexJklt9PKDW$pFwr)It9Z z9`N(OrG)$U;qBiA?bHAN?OzM*uM+y7vb_I8H~})z0VFX2;&Dg_X|d=5@}+&^4!BFs z%qg~joiGARQBh6;w;IST&;d-a0qTJ7QbQyM#M3FPqIb3ce)E^4F8x8u{3(3Id+24` z#8t4Ime%^JLU16L(37*}8mai#E1o30(BxvaLS2dW+^o4^B%Q&duD6!{e;6hTFQ#a%^5 zr9yR0bw{0BTS-_X{;dldmKjC!Xc&P@_6Bi_;@3OJyQ;eXa91YFPUUUoE$B1)7I`zh z6JR?xx;o%}cE%NOoW+~`gC(yyo5^RK0eV)-puk6W$k5%GXez`L*V$6jDn}vL9}V<^T}v;}k4NSW<{l^^ob-FR`Bswm|9n$78qmcQs%WSZ-Qp z+6gaMj6I+~OvP#Qee>VuN9Nn+gXW2N`f{5mnarjwuzXj^0q`2K8E)(M>(}TP=x6b5 z9kbw*-cLrrGec$LR=fa%O*hE|USo~|S2za;*d0Vc$0m2yX0Z3NpFsoA1`aSk4KefM z{>BS5HU2?-0%>qpodMS-+5)z@vpkn!L}Ps$eW8SF2?PC2z(VyXPzIBlv?VneU3`#K z4=>mK1M(7n%3MQphK~N6_F04I*d9kS@FIG)m(aG|o&={%vQ$oxu3tKH6MXeO`I`qoppbo4TO7o$9i(rt+?05cF{Y#cO$Xg$y)cmm*bpTG<<2 z;2_O$ZDG-+>#5&o$ZhIwerf4%ducBnmlCgV?stCY>gsy#8sYwv&f5{5WX}PdkC0c+ za`D!9r`pMn%0@eTdG-e;Swr{Q|Gn4 zA-yRR;%dN*Ex;q&)^!}mZX5SWcVoD*rS$14e9yeg$^0>RSKzd+hXbgcvjdFkX2(sm z`xaYw>pe>~%K^GMikQ!t7Mcc_8qtwFz%&8ue**9P%G~nN=%a6=+RJOQ@W;*Y?@a=s zd~ULn;?Whvucx^a`$BVbIo|%~Ox?jQrWsYn)i?m(=nv>OaQCm)FXHK+&K|H^e_J1o zKX|=CZX9HMVytUAU=qzk%y-P+pnWQh26C&l5d7{cbe{DM-UF)ss`{)}(kJ@$rj>LsYy_1u00S`zm2_L2))58Js zmpij+=8VisnZ;=W9!w|rg{(hm)_$4wJ}ZCVt3bZMgRFg7^T|@Eo>h$0hH`8Hy+{S! zj6yIO5JTfk2VuY8@!46K7o&_f1QZg(r!F=w1}I?A9faW6;Y6Iy}Jlw$or) zvn_8W{>^mEn9~?%Xrv#nJ1G_we-IXEUum*5q6liKnegc>Xg@exCn^`u(~Nx-z=@y7fAZewTizp_x%{dSu#Z?r14y z9d3PKt;wyEYTsqA!-ca1hHNpdNiE3DtVm08*!{b^p=YaSoo5JL8im+1zID%VZ9!8t zDsDJ>gMH+oerH_);y4k`e=G?;Z;X446L>0z8s{4K8Sff%qU6oVCokXb(dT=D6z_}1 z_vrWCOo2J3E9@lk<}7ofS!7$t0dMgew|~0nfw8|aw{e^y9arTV{W$Qy3GjbQnE7!EK13LtF(sq6s>D1t0swt%8| z13qvG+-C+zd%*tGUEl#LQB+Nb8yp$A20Ee>Y=q0IGW=j>YGSGrm4J?mAUd@;N`X9F z1@CBQeFi>opGkb1```wj>-4r?L7jP&DX@Z+fj%S*q@f{}+Q_<+9Pk_k$M;Ejl2*|u z{MstX9Fc4)>4fihkfW|uCa1H)WW7t7QrsF72_){){_W0K7@b+lT zG-w5{-I+aLHr(JJpyz6wgtP27;grfSHM-&>Zttj%``zGp&U>a6nYPopAZEjZcfuE} zH8(dcH~v9OpiAFCH&MJU#M2OPQlrvzRG(9&sx~TJ$^(kF+yM9FyXDK|`{hsM-=Ge3 zvIUG+4N*_kEYNNcE{LynW}e!4rjzDatKRmCE>W9fxkD2-93*lGPiqn9y!hDo0W_67 zvJ3WfTdK9JrLnmN`+uCFioUPzp*TbACC(NfiB)uObcgh_3{98;S4{)Wa?3!=X^R!k zyd-lj57%-MIY~9+_QYk9hxWbm9B!FGt~V}%fZRrRK|05hT#KC#}A{e)^x|%7smcMPTdvwb+;Stqt&m-jXs}e^cSA}>u7e?G93nR+0QcmX8d4` zH?@Hq_}!F^Uhq$*KX{KXM=9`~DVJ#l*#Ad-|EY$@Jnv)l{owycv;QyAFJ~U?(?8M+ zumFb*dgIT=zm4_b857Nm%*8D2VHUM$pU+#(wqCa1Y+5*gedxQJ;6yG=Cc)~s_ijg==W6D@F0m z5Dfu;)2LM&s;Lwy0RNpG;IrVF-N16k{2pf=`<^>Co zW`KfApb&WAduG4`JVKXX1rEauZlzyo37f!F*ukMBhjfkLg7vuvDlr9uxCRo~1}v!t z_5m4+q2lla`9KM?!xnrX!}>Kh!V5l6nF%+U0(-d$rlfQS6Lg~LE% z!TuQBd%pD)cevaf&;GA9g!JunE5%sxsIWu0EhxpIqFt9ye@;J&ZsKepXHIh;lJp;& zt5^-1&<(lv374 zw4voTH#FUXY0wz28>ZscR~tU+e@CtNQJ+qu&mlu@V-jw@ADIq=(DYR$Eh(O)&oai5 zF!*`E1bUF?dm6>?8It{{fDq_R=gIm^G(KXA)JFezoM(QFeu#dUej51Sdi_@3|4+F9 znvf1wz}SS1!UxKb+uV^Xkf3G0(y zF3kLp`EAxTa#}Tk9|Cg%=K?PRxr2Fw*@LeFZvyWEuL2hXYXSoTl>?;%2k6y)li4ow z2~EPqGB%JKo=7S{zJI9``2RJRx}yGR_eJ|x5By)c0Hh5-!T=-`;A@_K>8tdS7=iQ% z9_VBSh-iaLk`j=M8Spn9ako;h!V4UWTm$Rb1Qtd%fl*)reb5TFg&nAmYoIFF;Mb{H zAOn8VMB>p5=~D%=tEKeX(qM%}$rmYvpCB(Y;S+blJuZa9U;-0UI-wjgp%UDOTc|88 zWE+zjCw-N)JF!7x?!>8nJ1s&X(!}`BWQ}#SXV~Ae zK{&y~6VSpcExpZ`Oroi+aREJndG!v`!4?Uxv}xL*nycz~^;EJ!2H^@^2>$n4zDGVr z-cDX$K9XA?Rk2p#SKe06Qgv0A)1+vPf=Nu(W$CLM+TnbcgPDDctFD#xvh^!e3)}I! zq~UH}2!1&M7fs00&Ag3<;(W$8dab^mZi@Iu_+E&ipVTS*B%Bo*i3Z(c-70-!LyU2~ zQA3(uKYFzuo2tMPhEdTsrC0B^Z8DnS6J+T(0Pmb0x1SunBE0w4)3LCT6vSNiQZ}76 z9k=cap4g+j_t)dnFM;=A4=8;veItFEK11J<=k>APY3RU4aEc7Cr-plm^M<{&eI2CN zqo}buPQKrbqUn23!4;+rU!Cex;*PFkJWPxa`-S}^ljMwWHOzudgv)R#;o6W=pAUOfQ z$J6yO{yR8;XSe~E;09{uKIIO24tpBo2G~VAfZD&$-!U11)*;KM4rI^1-@%ssuy93|@taK@GFucwlaz5!b-#ELYZinu2Ge z3OGbE;Mb&w7x)h$0n!Bc9|l;P2_Pu|Bn4o3aDcLW%JC!VkIM67X&y+3Kmx4b=RKe_ zykK6`K`(I$+@(K2LIe)632ebLycEaK^wbG3gaac}pgsIR6XrlIkb#OQhRVPdro$9S zv%m>wXdziZ2Xm+FyuxzpV1xCADW|KE+2-;Qx_9DQ*MZ{=AI*j4QFk8M{-w%Nv0 zKL99!~WronU+!$)oRc)J+w$td9JfHT!4bH>lF*v)(AHBR(=*8Y~iP{M996);sc zjyD{kB_vMQihRJov@UHo&2DvRbvKxRcFNZ<0Zwj!Rq|2tmP~*?@}2UcicX5Z6+@K{ zw1I2Xoiuf|>4Hb}>eBQI^050GqsYGsnzzw`(;e2k0FK|))?wCI>narZE6lmfbxqs2 zJnrj1>EdZ7IV1#y-?Rg?O|_%7$Fz1~nh+Lq>$d2c=<~y*=b^>KZ%iRsxyNpxsD@QqW(V33CuaLqKW>ONHZyKw3kabQ90F$8 z73R-j`eNNI1!1yG1qm{qVHRp9_$aNSHKqcFiazC~fgUW$NYyp=+0}s+5dX)~wsw9IIMHBGXNIO8YFIPaV$Q@8Qf&^BK+yj-!1*^3`X7Foo0a_Q(G|y8qzaVJGBP-;R>h*%BF^y2AOOI z$=nFiZeag{7nI~eka7nPkU%^*r2+Yt`BTo&N?M!zu!Bim=oLMZ*go+q^s-6*qY0H0 z&iShPPIv=kS~@+m=@IPjdguJfc_+RBZsF!|dZQdJG=fV=lCFqLt+f4(?FP^LW^RDV zwm~=uJK|mG&YO1>N`alWtMG)`?M2A3$YXzo?yNU{*3Gnp9J5rh9O5>fY)FY7<>{5Pj7@e_Y;SEfVz_DQW_3m3l~6R8iHbJlDU8*Vui=* zJ-`hRrX6IPzY}W9Gf6)uH%zhf=31Cm3kSf+jN)kivS&2|<0}!U6<82>6fg%H1g8go z3qB409efnL5UZ8tf1(6O0O83=9lt0`qBE8JzhBZQyH~cN&lkTH-&11xgOU z_Ba3~CZGX2z&hvvtAhnpWf!Q*_tlvQHUIA;{k+5ymWk+tyl{gi^g%LmgA0KQzW=fb z+~BS{NuStWR05mW1(u}FCr3Tv!O01lgt_!m z%&u{kiQt`rt)813!Tc zRw8F2h5m{#%;69a!Zl2SEx6gH+S=O8wo}$l)*{w97K3HBxwyG6zn`tfPKF)&SNHD4FH zqcq=ZV}*S}Z!uYSNmoICOkat{tbE2SV{hXd8K;@d*Thj>xECO#DJ ziC4uV;$CsPc!(eUDdyApbd7b>bVqg1by0ekKA>-aqUWwY#Fd}j*aF_5kST)%@PH}a zRMd2Xwy*Xy{~pHyXg9p%;$Oz(=%eos7qA>3PpR*3 zih4SEZj+Dj&b!IiCn1%bqz#G9lcLB3pOw-w)l3WExO6vepK6&WGgGr>XT8n}2Sx>c z52%Ab@cds5eid?t{G>K(LnT9bLXU%If@|0XDh7)Ox5E!yBgc7Hraf~88B6O(3r{8~ z@V|ov_CgEP2`!-H0+yTr^_c?S!w7!T@-sg~e!edAK|%^XD+NQ5P2itvAc{>O zA4=i3;DQg)2wcZ8AR&W$$y(S@sd)5p7U4y2P3% zJoUBlJp~W^!}EjZEXsg`uCHkk$;8`U1$TS5xR|*8T#YGUT}N<|wXv76E9~#dvf6+y zpevg9Fsi{qINx*IG`381gDsc~E%`o~?f5Whc=34g+E`wpb$!Ki`3tU~wuX&N0H^Lp zajo!#E1MDoiP8SQ2mKLi@l(uu44^32-Qh(eHoX*1#p`@uz}7?POGbr>#WP_?&rSl z&OrMl^G@(ue0P0o6FU1{_#zi2RZT7c*W-rnRP>$r9)iI1nfp ztP~s-JQXYvDidlRYRji#s6r@_IgmGWH@G7>0({_QU}T_ppg;P+s+s%g-8_mzD2o(9 zDLe4L@sYfM5*8qN0b9TbG{FtrFtQCuv!DS#Zp66pZ0;_<{jAVEZr+dN2_> zkvZIkSs9L`ey^!*ykyW26|z0RZPSHJ`-f!VrC3g*akEMMh|fcDUxE+DS@q9#vOd0Yeln#WVQ^`4FD{ujNVdpuDQQi+nNqp!$jvK zva;%lYP8y}*`%qUy{Y|4cmkTYnRn|COoB@~fwypHeNTNmeNcZ-H;&u?qBvM|iYo-W zu!ebaUNc(rjYg??q&}m*sJ^W(q$#7Bs>!LXsa>jlq!qyj1)->*04>}v{2;y&=j!U| z?S>DA4MsnDodclsr(x^%qUDdK`7npEgW)fITYa?tf^NBPxUL1ehV;)1h$hi4hI#Jm z^VEMMCg6c8Cgv5hiv>il*hHMhR&YzqtMlrb>sIOV>YJhNbI|zx#E@wm$R6;>_=={_ zO)v_nbb-u-Q7CP=r#}Phw?)5#+hHpTz!!QWc|a@pH6EA+2|=g?lb9O?(Lu8TSHT~a zZ>+Q7NxsF``Px>74v3fbAU=Rcj`X;3@TPJ201l(3YUkYT{L0l7CqN;0efMTIfOekW zJ>PNz)bf?4C3p$_fF}BBrzDq6Dar5D<#aXY&RCR@L345(9KeUH?*l6W9|GyYp201_ zPr*Q_Q)p^vacFsHPH0G|S?F7~fnv;nEy2D)V{k_xBd`i(Q0L4)@dx~wK7x(_-G4|I z_&E)vTSOHkZ32=npjqU3m!A6OYzD3P*|vPz@qOzEV$hh$P?zhV3im)b;urcyBOq-8 z1<(q9z6b8X5nh2GI0-JW7w^C})Bg#6P!?*20y2cM?*A<=Aj`l2mMGI z>4M9+HEJRWHLL(aAZ3u}P5l$C(0nd|D)@#UlOfiX2J%124*NRkDM_!%BnUV2zmB+t zr_yCP-5ced>WL;f3>7SHLEJ6QW2ggi#4o_s=4-@WxYdbDP!+Sk$&u-lXfQkK_Pla%25Iy-FOD&eiR zjCO+N39f(@Dy3?QGFG`vQBjdYu~R-wUPJDdE9AxGF>*UU{#kxa9#X7Un3YRl29K#K za}9i>IjJe9-L6#&gM=f3QLHPj5O0fxby>P^dA2@^`@|k%3fTWfp}vq^n5Ok=|J01q z1T@7pchp0_t;GrA0Z_=w+#Ln=Kk0Ak%W&;KG?(9e1-sSyoAPHb9EP@`~aywjR8Ms3!Wn>{)08L;s^;R6& z);O{ruH)#Gbih_eFBlDxCb*;I0XL)XB`=-t3!U$r-;f9N#1(K)cHd_MnCB_z?csgx z9pXz#C`=~E%*6UhDzfMXrUX+9k&ZtyJu~B4Mr$;{)lvJI17iYz2He3e?D~HNEuj{n z`JqFh8=?E5v!RWlQK6qgwL?jvLZK_c`N404H_-;1&+=zY&dg5N;=AN}`8VqJcb={^iuQNscaLz%>8Z;=C)_cv&&2CLk*ht|8+rzCDYC+qTrbrp_wm-RmGw!xM(cz}^+HOT;K-kPrr--49i)fsRF z%%?FttX-t}pl+-_u1Z#|ReF_270qx297PRKPOg+^m;WKVEW0UtCv(Z$%MZ%6>9Jz;||P^c#)2-!gYI&00^ z3!3Sgikeu>E%grdbagLvQ}y@is_F*nq1+XJs*7lBOoxh^a(I=qG#xdENF`aUP2ss6 zD(ZB*b>-N>a~l%Ll;9-}qt^HW zjIXJ|hzH<}{tc*KZqfh>7>Y6xJTM3&Q2>=N)-kR#el(_-MuGsi&7<%UltBfM4Nl}2 zYbjD z;QIeyJB31El&y{JJKO^bTVY!++b6cpE7l#>N!Es_<8JUfu`ze^N%ZacP{@`r^)}w6 z(_*~-x=u?|z;xl6_FL^T-pO6mcT|;C$CTeHub>K+EB4F#$}{BoCH&&ccB#X{{-e&%n$?5XryZ?6}3TY!vw<~)I}8{dBAR*28T_0R6r-- z00vmDp=X+EeH*y|q-OA$TmWSpGiXQ+#7!a5B{_aL-EJnDppQ6XQ2}k|0;ua=ftP+_3PZQUZkysLzc|__DX~}4Tmu4hnZUP0|l@%YD8u%Ef7MvZt z6O@H&@cds5$;01<+lHHm!(mzYe(0Cb+)(#W`B3rDpaK>o~NzDX$p(w~GWDcB6J&tndFtcDETfwi)f*o84 zo7oJc8)5Mm%y2wc!9Xs8j@$!M3VAYUK;G1Q_=;zO2Zm@IxSG6x_HjucI4CJG>2Bh% zL~G(fe?$MPgy9LK!1~O-4c>I`5l=7)n%Cj+p7?8V!^i`9=$PiH z3M#k}TuFo*{GAlLxwih1TtN@_e>9lD9o{{Yz|6HM0cYTFEk?Ut4e~I$m_D$tUW5Z5 zuD`5P=xT^#ga_L1v|C6A7@~d+A9zFA2xm}#RKbVj-Q+g;6WJEo2w7uUmMlruR5n?5 zMHT}?a1eHIjN+c+8|6&pJ7s;<9#y=0AaC_zT=adx_wQhR&!3X zMKfR1O;bT*)Vxw(;whi1?x?P>&O(V)Qe6yJQmopn_R(A% zs(GX7qJ5yP$J4D8JBmBR$Kp+KInRC(l!fz!o{lNo)%)s2N$CzgpWtcLK;1aG* zR!HIhh$?6fIf2vYLY5N3N0SjQ<%JAm8b}}MN5dmOH)Hmpa*N`LdJ>5g^aS9D4L-bS9#w56%q+e+g$eXy( zpXNUcC-Bxc$XCKQ%WLy)^#na<+zs8&nE^^L!RoYuPl`{CzaKXtE`S1d28!EkjumKs zT=p1vfh+8pGw}+vB300b0^pVPn01D=F%#ehij-=WoFvwnh? zXaeWs4X&yEmF;_yI*+=O>Z!7|@}**+LaEp-?iExo^ z{}ubgJ0T}ee<`j3xfsR9a1HixmvE1X(n#DSz7svD24?B*>k{=n^c!Ix;!yvM;Q1fR zBxq&`^6cyQua?Gk&MoN#-4-$w1a4pqz=^zDTR0wElC@kUMAy7MsK=P`(|Yi^hf#ID7ZeD2gGkE@B8BaCk+yd)OC#9@-n45o#Yw4`mB&4Auz#fp%bfR=%uincFgwPz6mw6Oafa znCm~m2P`2QdQK!OSZWEGKsxPMK4bVu-;d)np3j8HpBW$d<1t_Igg-ZlbmAUp4nrV0 z3ZyLIEH(ij?0}>iR&fuM_`fOe7PY|h)FUUB)A4ba1o5)3@E_~I0FeM*u_2| zO@U>g12aGcBvo-QZh^*J0#Yw&KJdVOxQ5$Dwt!po3pGm?lCP2-Rwn6hdLJ?qZ}|uM z<^FXEUngAhwIn%cq*vx$?ny->D9wQ3F0E?^y_fH}8q1;-oP%rVEjgjp90eV_$-rzu znvf9CO_Mysl*MyihT1ShCFsQar|tM{o-sc)*^s&i}dfHXW)KLqs7i1jwB$1QifOVB z{;{@pmiCG^uTWCRDcoiv9MtaDZqm-vPUF_tqP?vBgi0Zur@uBkKnGzt+x~6gmT;dr zkdwE+o_-{oXka7wlbhic$Yo=31DsnE8jP#GjpF?zO~My6SNvQO>UT* znKZzbrSB;l84gS1K9PX5fTq{5bE5O6)8Xpn+UF__2e8cj&K>fM^<4EByj@5IN%w8@ zWhMNPFbyWam-Ieqdvf;_SL%z@BWW|zYmo*rH`9ejL6N-WMJd{suJQG|WJ^P}xwa(1~En;8WDW`%ncn&ODJ(8Gq1Xkbta+Hu&G$ z6!br)aur=c(iE5O1xUX%hSunFM$LZzs4wLW^`A9ON?C z$xW~hTtJ!u6SxHi;4W$dJ6Hy7KuHvWXV3@_VGFR*K)Q!5;Opc9$vcxek|25-JW!Fi z+h5=RK4Ef#Jz*DZBKN%AyhXh;&>(E~$@<7L6)Is^6;aGXYNX>sG0jt5&L3@NK1P1JmFSRUs~df$9rt ztEPiyjpl{Mu5F<0!bZ?u+mde`Q5S!!&Cmw5t+aEs=a>N+!No3+z#gzzI0N!`4g~Nq z6QBsszEgC;5f&FephEPBEyQ(jm;qf!^g+9If9c}&9mx53hd!`_VX@(u;R>IVwErx? z^E(nx(FET8Ck%HDIq@8&8yn*RJb`kcI!WVCOv&bcqybv#BD-esqXK+r4YQZMkE8+L z!rwTCK9Eq{JXFAe_@B`L_|X8IajIR-T^n6F+-2R9+&A2IaNs?je56Rv^1ksl@Ll#b zN%)ws(%&sHl=KxXRbx}ir52?*dqaB13`OSVOn=q}oPhfSX~BhXfE7X$L#ILodE)zo zH-vA5pN8*;PlsoPYj6i#2`vrvW&%Wo&ILQ-80ru>m8H$!(q}fGS$w3g(vSc7sUyXom7|6=cIx{5JI!m%&rmg8Qg4KVt+JBU9iA zH^DEU0_$K6=S8vx21PQ68=(4S`!Z-0YUa)E9q+MtesxzxB{9(`z3tfu3Z5H0(jOn@P(Ps)y50bO7Nr_0mjk7cuDPcPN`F7b|ZmRb&keQ*Gh-&8^mP+t&s4>jCyR z8vbvNdOkeB82-4ex*k`*kCgJF>;aEemzV%6RC81_Rg+Z{RHOJzSFKf@fOD`jNmi?$ zqd{n)nX9?3DWcVra1O+&HEA{40^01_oLZx{xpo<-;d7=ycA=P1PWV|kzzjGq+~o?$ z2Oj9-lL|MehcEEJ9n1z%NY!=Lt$=NOrc>+d;Pk(brm2--Ijw(rjB2CK7>y(NHcFwx zv;dtn+@TFL3g6M!;3+d{1T1JOk4E7JT_aubF)1vq;Q*D^9@b0r4~`=VAjLk;em%kg zo*ssr>zz>A z|BJt0Vud7m^3CL_DHT)Ybp9SnAC_Ur+?bh+8u)8`e>H+T!2s)r7KR>$EaArCapBG3 z3*oy=fMen5;X2_MCct7e0_marp?&Csa|L^#3$$eo%6ys8H$#(gI(=+Zz$X2@9k?A~#?WIm6Xx7IenU1!mM(i9J0rGQtSt6<%*~j~F^^+D#fY&L zmJE!y@*858R4&`41QY zX#>bW15lQ)X<~V?nK%(ILQ!39-5lLXT{gWzUlpz2Ilai;zlIxMz%ASuJwS63!S(!C z%WcfXR|Onl3g~}pGzmv&0|<}=cFd$A31lY@rh1k&Gy>Kq4OqajamnVO@9`W6U>C=i+$KYCGVPAzGvYI@(;(6y-HS^&|9=1tlp4dg zf9VchA88L>%`8~SERd$bKVLupNcx$jk(*%wyTU9QMyEy)#1U))ePIrzh9N0uK*9v1 zDInbgNhk$APXPgRP!2K>1y?A|fdZ%oaz*xmH*5n>KnLzd6hs%u8aeVMbxcYio&pxo zj|tEWbx;_`&{rf4UPK)@iqw!~dIv8i&r5Dev*1Ir!|LJ}-jmplOJE=BphDz^luvlz z>yJ}ltG5yj<9*4$TF(r4>>B5Cy3RX?kRo&~er$Xw{w@8%ZQ>lX46R0Ip6Mv;IL$rK zkUWkXcu>Bxy|=EU;r4IKc#8v1P;DB+JCK#r8+}VRG;}rfdr;2*2o6wEXstb9&;k*V~i`dS?tQ# z$FY8PfwMA|yn}qN{3}w$mMfm%CGMr%sm!5rsp|7K->tf#%EK-Y0{d&hb3XtaaAf3L zKXqq*rZU*SnLXeYNWebTYIcCJs)4HRst&3)s&-6*3ETsxKnpb>jkDF))M`y_%@C9Y z^E6Ar2p4K*!!vBs+|bBy91YUW*KPwL_@wp15sZwe0xk+4gedm^vSL-SvRDb_aU1l) zJ8(9|>AL8)!vWa!bjNOb= zjJrtzi8pmJ?J(uTbGgL)!TgDCZsRJ>f0oYfR>9T*9h^6#qs4*u*+XHu~w- zr*uxuN-Iut@-UhJ7H0ag4rEmgoD2klt8oG}1_k&SN(?s$_ksyn8Q#HXX?Re$a=1`< zPpBuFpbx=)!J)xG@J^s@;7(RBYXORY8Ds_BOP`ehWC5wvT?a-Dx|S z1KVg4-b9!12HJ$zMW(^p$ab)XOJPmqBTWaXU;OjUFpt|{I-9_Fu)!f<0=*(GBWV+; z|9>q*pQnJ7F>D7H(1Q#pVF{w)35tUe7Gw(KL^tq`UEmqWz}<*`=p4A<0a(H<_z9%E zp)sh2yP^yDo@4*jc~&z6p1LNHhV#fd*;$6B;pMc0%i_<|G+j2XVBBw9nN`RJ z`Q1K|TOc19nT>75ZQJR{dt(`Au~;_Ki+LK?`!!=z<4wa4m##D}R#XyP2_+qNWbc

      S+aZt*Xe2FseKn;)7}NF#n2Q31cPRv`;82T34n@B#neSnJ3O0=Sa& z9Tf)04C=OsFzuHJ3l58gE2P~S~o`Goxm75w-7 zQxfYY#V3DE-jUKTwOm>(Eug*d1WZH`{7Y8Zz`=kgI3@TZSUI#L^fD9|t`=?`?hziv z{y&|sKZP^GpV$tXhUB43xP}@96~VoM>Vb>og{{uik`|Vh@gRL36CfFPK(YV89dI=5 zaN5DN{b_sBeu>P19g&S-3%9`*=7IFt^yTZOFVkVe7vx}hWE=S0I4W_85+?AuXIyF; zmHGxGWKePs1la|oi@+7h88wkFq={Swr6W_IKm;RvAGrq}GXrkG6`n>pw1?cmwI~Lq zKC*!@g3Xu!dWQW{A6|jKru^O}qWXB^gmE0gx^5dkHNllWJ;DN&uy>J4f{eJ%y z+5|-OL5+Pmd^5dC-g6}6mW<4RSFYKva(IWAIO{lzJAWlv(oHwe0u*NQxJ#%6YLX{% z80OhbE>Lfq*0vW-+B?f=i`udjU+@l7&~(5Uh6_wJY{3yXRd-)>i+zO?+|q+k1=l4d ztg`Bova#~9;wQyN`4n(~hq4JWpX@^HkFkYg7sb?xk;UANJ{Y|-dUy2Y==ag)n7T1D zVs0@7TF35)Eh76twn^3ZPB1x(Zsabx;dmz+PNUPTT;$;0sXEuqcozc#CPU3fymyaR?j1@<^JP z-PFXi3I-qrwdGB-2My3=iwErGo;4i@^K)DPbL?+m0Orx?P@X=(cX8jr=Ddvm#`&}J z52xML-L==1&s`Z6@MX7}bcng0J06p_DH*7Dy#`+^-)dhT7~&fVjs5TZa}ygRd6M&_ z97-9PS}Cnm`kwSA8P79@WSX)zWn~0*1uVgl!Mnkf(D=~9kS<&%4zL9rPa2){O;Qf}u39C^6A$@2 z_*MS>2`xzuS>>xpj_6pg1BFmaPeIQrcO`U!OIDrg< z)Z4-1Hj)!~QrSTHH@aU@u|r-@o?E^QB=A9O&)5>NOJXu&?nTdz{xQ0Cbj|1{(F3BF zN8gE7#MFzK8}l&63sZ0-Hbpj0_FPsCS5dU0g<_u~TG>#!M)^#cplYvL2p*7|_k0<) zfPuXK=SSFqHGG}R6c~a&s3DiWORYo=@KAL!f(cHCUF@U!N!6MOAngG^tJbpzEjW zgyw})nwVOJcJK}9VOqhOWERSrmt_hp4wMAnKZzfpcj#nD!8^YKTEH^ls^QvvLg7;3 zlc9bgZ|GKVTCh&AWbkO9S0Fa9Fw2rPFH_81iXz}f`n2>$>8bdGO3@;g^Iv`koJ~8O z_IV0O+ki9&_A?2jS@3xp{K`a-X2R!>G#RAXuq`qNq$wcX1dAf5z_c%zz~BfwAf*np z<{oGeK?N$a3zUtZgK02@5;9=JPbet{WZ(i{fePdU6Zim6_ykPwbMB~w25v+bFbhU- z5FX;@-~i>>0R;MppVBt4meio8G>b*kEVzqq(K^XS8phWq{fJB84o;!6i68yT{NMZY z`d5-1^3pfWm*%_b?L(624o^d}16IHbWFu9)i7U!=m`q8R^DYVV-@y-VVFoB@8R$Vv z_96Vkh3!jl3|_Xj00|smDQX!*;_XCJNz*9ste%Fa`lc`e2`~YB@!&N?4-@9J>#maJ1~HtR@_xR?$mw9v4v$yo4oG)xq`msQxBfpbQR#0lfQHp$a$* zvbTrt*DwWsj%)(8)G06n#XtnEGX=J)mZ_%lD+huL4reEr!zOVK<&ccOs-C(JjKa3a zE}&!&XroyID(HX@m<0-uL$C>Txd0XmyKw?#LkHww2Pn(?zat31W)e!xy0*I2x(7P5 zz6lIqK|@uZ|NZ3r=7cS&&z}F#s5OO6RY)6kprw97qUa7VfqlkX#-enFci{d1(BwdC zeGtF0lm!}VZD&1X6>Z&ZCv9f@o0sTx8sNA@k3+vN2;ixBowExJKnYhp*D7)V((r#A zaToSfKm+ibr>M6g2*7b~QD0f#aNl8H;e^@=8xoZMseVJ^E}BBE$)A#sr;JW5llC@k za=Mm;a4*du-LpPsbqf3u_$Ig(PjKtdw$P`LF>J*VAcjqRA0IY^Uxzk_ny>+^4K@vm zsDWmY6ZD)ufdW}W!2uRzcrq@f|D4{C37}7p0tv|dFP{Jx)6S=zO*@lzDl!L-vkx3) zBami+Gz~s~4$vzteWc0oc~6ig!4BrYCNKkO3M_>!n2Wk_3R(fFfp}n~g+$67_}oDt z<&H=RHc53pj-NqS@Ta(Sao@)kh+FBX;CM_5 zg-B*@1yXZ=w0^MkLlHR4oYOpj44ofA0V)}O)m!z$bhpGfvAeJjF0G&D0Serss_#{K zR2!5{l_iuL74_f)=g70)<%tv8W*)Z>bIzz(Z1+T z(VL^+Mu%f2#XOIx06$=n&6X9Cca>k4mr*QGWK&jAE>b>Lrf}15htQ;xQlk+1(?r0(1ZE#ZG;=hOJ>P!n82O9_m`{Ysupt@?Bn@=pvt9I;U=g8 zo-mXM#|g+GipjL%3! z`dczNV&LNfZhop-@N*F2^*##u!;AeF3vzO>|%Fsv9fWOcSUPBph3?xA6Ba|k< z;K&510T@KPwRdS;mz^V+0e8`t1mYj#Hc3Ju z(8*EUv4FI|3;!gb%RvgU1(d!>7SC0F-5#B=!7oXTR8EyqRd;Q zNYJ!mQPY?LMWVlp z9v^)*+8#5QYoLDYrP%7I1k%YEDn`2C8M4I&qZ1N9^j5&>$<<}q_ouMI|E9j8ex!bi zQt%nBz^h~h{EA{|4%4ACUcqwc3UwfZZ&iP(ZmKS$6u1CB@I;jpq(G-m#z)i`Rq<#h z$**t&xzQU}#6NIUQ&d|`I|`R#ezJ%f3B!andYOq@hjtV&;~Zw`5X=KXf(ij zcRTlb_gi<0r?=-9Pd2h4dV7EIX7>f*fqume5FkVHP=dnW&Hu>XGVx{N;3RwUljO}Q z?NVdeX3K#E)}SS5Sf-qGfP8R!4+7PLzXT230oy`XLf1nVLl;7~Lw7=_`QuTcQ0Q53 zR&70^CTuo_00uO4{$t zfs0=zfwU7y(?FUB|4f9>GvR+bf^;qH{W1llU0^-BB54ZD|H2Q9`@#==o&r)I;XhNL zN<=dxp@WigFpeHVi61BpLztgS;2oU6JeN^($g;zQIy75v$`1gabK*l{a&0UT-Ext^YH49!I?8zm53`~t+J~!2~E&+g}Wt6`7xp@c{JT{{LvO z!t`|}6L1eXXGPil%i^QxP3Bi;T12Yj{m z*=<#AD_{WX*jLkjTFbGL9H5$U%jg2A5I++aaE5cd^On=;>g_t@D(F!M?!WIxx6^K=-At3_z%}N; z<;W!XXBJ3%!8vXO>GOFWoQ!M;C(@2bE`@`U%V1CBBG~$63M@lSG#{;iCX_(1|5C+|<5k=&kE!4k}IQ1b25QxF@&; zcXzv=Uv+xO%sX?=y7#Zldsi(IpaW-}fxW+bKl_m%$QZl@dR*C-gFL=w))<(AUs_68 z)|zXB2#z;dUDR>16JI2BOSlkUE`AHU|F5x)V@t-K zirE}v1F}5}Pz|&Y?+=#e4akb(v#kYht+%fT9Vsl)^(?!!oIm8Y4UGsqi%;Xi9 zgZU4m%1`k6=ShtvsYID72Zu;WElDqU&(B_9E7(MBPou_ra3g3+C#Z^tK;4u^><^u| z9!{i32(^DC<#Ng$R0sLE2>4PP;XJetpMpw~{*oP%+)^)WfC;#kC|xbzJN@juL+KaR=2I@R7^JzhOoJ(^E%Hvf*e zn9s%wH5>VZJv6^k|BbYZwb^ymNdtPWtAKy=Ykg(IY{MJFr=)?sFjm0T{4PFVBh8o1 zCQEP2F^kyR+PVQR@G5YCFOdlJm3@Kzw%z3T*0I9z)ZrjWa*H#ctGsKp>x8SgyS95a z{(xV2PJ3#3PkCGTilZ-Sm6jJ2TgCnUli)~LLCZr1v;n#C2)i3;l(93T1nR)~J z2mRfz0k_g`ke4p>fh&LZfs4_ZKXsR8~W4yiT;;(KK|nC$sQo_J@sz&4)Ip;7G(+;;0b!3yBE6~ zxr>u0@D(iK&8US+IX5}JaD3v}&YK~(pRoz%-c=XO*df& zm#&BQF}}6?!L?`O*xwwN;1Y_j3Rfab9!V)w^PkC_v*H|A}O zE4E$i+Sq(?jpKfe^T%(GubOa*J>Yy|^`u=%7C3@0L^Z`r#kpYx%wdN&^L|eT0ldw- zot$b;b-_n24UQK?n`BE>rzYW4kS+BI^T3IeU%>_zQSH&}alKS8PMo*czO5%kq=+V{ z=|$FYL2Z3}0N-jW!M%K>3vmIwqYoQ?G(0p!@Nl?g^pNE&_<;2`3kcvh_<)tP*0;_j zSuxEv(00UD%3jw#)qWWr@Yjx|j{6P^9FUE?|25EuTp%ByiF>a5k-M^Iu_wtp+FQgo z+GpSv&><~H`UviUV{i%U7<>`z9eNXL8r~e%Q{7UqfP*LmrKL5c`5%>ks!EGW=RyfE z4u8OG8LJ{+L`0F};Zfm=;UeK(p^l;W(B|M5VUiHchYaA z-~3A-$eaj-nLyYMGUtMiy&$U-2p0rlGZ4Cfz$g&9fWR(X$E7f<3kcZYBxZq8f6fA# zj)ZOhp(U*Tr^}d|+khsTMOX~J@CVSq+w1|q!3^Arf5?0~zz{qHzhnytr|C%_&6Rea zKfMiffZqN_q=_Y?6aF0}U;y_3Gkd^MGy=`MI`3`ITu*bZg2&v0Pz>L3O>%|t5uFM; z^u+O#qaqGMi|vi=B~c4>x9MzWtpnf*p0;$iBw1E*6S!^aWh!i%Xp|Ud7$k;CCe6vT$E=bkV&XOZk(0p!i2jJhSlCQ7@bPQ^O8b11bxdjpnt+E7(tifn#5ga@)yPa7Be?yX3UzHb1}tZ%f^n1y&M~eTN$V4 zCXkkJD4}}dvBXO70+eJAycX3JuMy`>Zj`(n6yKln9q;$KlpNH*8wGLg)P_`V3zUD& zQtP27E=xCXFw=`t3)2angAiQdbD55C3%uYheItf>K~3jKPpzCwDo1z*tOii$Y>uIByM;PSf;^uIEG zVEah>j$`+)L2B4Q^+f7^6OJE8)ra{Uw^ z+_wX>dAGSF9KdCk?AG$uAFbEP1MFVP$>#kUm+;cQZN73OQuRp7!{5!K zVE6fg?Skin4M+>nga?N2;u3HyV#;WnF#)HbRT*nh3hc)r_#jTOr5NH)Bi!wk=2Pp72*9SdFzn3m_f!lxS1DO-SUps-& z3(ozyBm5OD$h;tAb^&1)*zqSiC|n2@|KmcCxe*LwBj|&cunTuW0TmGZg@h|%8Rh^N zJwVAO@JVzEcn&-83cBILV1aA!3Yd&CK$rn)&;g8i1Y}RUL(1q{+{1g}8yfPbpbipYUOZF$wb&+pAzDUqSOL*Wyn-Jj_Dd|8 zI4+@BLcjQTao@*fj~g3nioG7QGG<21e5QbxG1k~lv3p|ma0S%ytK-Wg989Q{cqXx0 zbOx9tdN2B%oPju)eOqAk)k+zavIj0tA}@DM>b_HIFA%(8cn1#Q-+gcr=m4tUnEQU| z)Bsa~o^C*l5WF7;lYVLNzIw2K+NO5r%^!`+@a)t@)c(%YQ)mWLBo!pR@D{u#k>V9H z4Mk8%5Ww-Wqq1CbwY)qEz=iT_atZpMaf(BV0yvHJP_D%fERD>-y`%@*!Th@M@-M{g z_n`U|DTY@;{GYS+e?a?R1a)Od(-s%-Q<^yNzeU>T+S0l)BmvlP0r?#lke+A&R9s|_ zlAqW)dI4x@UJD1X1{}agmUQc2>+f)Yzp^d0y|8)hee8Seh4F-%;kZTpcR>l9o%;XL zb;sqS{~vQFu@Nrv{JC(c6!A)l1JeSIr1Afz;HM>^*<%l6gJS+;N)PnVA0^w zz|_Dufl2`jtiY1d4)Ax@2R%xEnEoLB{=f8rkDI|Cf1(8cJQHLg1p-PS;Dy30aNr*s zLFO!w*#(4+Ad5FB_>uJo6%h2qtzir`fje9izED|ufCGkr1cs21M*14f;0?S3j)MiR zg%R)*%77l=0Cn&UHl)RpCU!g80e)l)_}m{LRXCgfB3R&PyaIy0Pe>PE;~ng+?oIMu z!ZDyBSiljKLT>kUu7Y9LGv_pCW#>D`JVzZzA;)HWd%H5a33zRHPz%_t$C)wnT4tE7 z<}If3Fodfa4;sQSgLV3!bcL7!E^8{G431ZK!1G?FY^T^PFCecjn@U!QLoy)s8Z5m# zF!8G<7fn8b=g(JSW3&T&Nov5hq$WwZlEx>h6Bj0!5`KL|W8 z8&%MHYW@)ZVb@acq&`i3$M&BfaZ8#?hT>UzMfa}ZqlS6P9 z^uL*65~(C2_&?*&`@JP2q#Ze5PgQoVCF7X+cTxL)sBfY7eMaRM)FfyW8atDJRn%1@ zHS0BxHG1v0;Q#Nn70>{m*Xc-WIZPH%M>GHl#&1Y)jscV1zy+X=dA|7#E&yXKmvI5; zX5C{gW~*=e87ELPJkNFZ5B75SfnRbMsQ+Eg0?hx@T@PGA?!lMcdQV5sHcts}OYatM zg0Bk`qZ_w5A5&%-W>;TeMW95mNpK~JA-zI>go5Eo;TvHSnPJl+TO%hTw{Q(Bkx?q6 zI4ZzfcnD62d=^QGoF`eVa=2*tcxYOvRmc^}NovrLV7Xu+u7R@yodche9Fp>1umwCp z9huby{&OF=672(-c;Uz0AhQn$T|nRyWbOp}zy*XGfzSnnJK=IJ1et7sDQJpE<1{2N zh6GGNa2gbxMQXAOL{Jb};0TGq0`lV`@HBc4_#IBbMihcG(njDC(kj{kbaa6CqzoS- zS$q<{!JkKGfNbyr*ZRhgArSV(!4BRAH?XN!>wV@~;pyZtd+xY@cGq?1cCT?Yca?B$ zcXn_llPuK7VR78FPsB+s7kZ(Vw&L6b8e3n(GgVo(nXBR>*35Lx*bIF@Wy5ar0;lVW z>bhtzX(F0==mJ}))+q}s8!6_=AEAxyDcvuLm$XeiiYn(UO5R9v-sA(~39y27;wPdt zIDe?P2K2@&bZuhU#KQ?S6OP7Lia!)rJ?>&`8<2pbG3#Qs#+(EVbjE%c`)jNrZev{4 z_&f2P5^^ODO3a(oJ?U=JXYc}b;*n7gp}A;$BcS{TKmcvvcHdLY3sbjn!8@6Hh0k>~ zzn9VZ9ZTI0roWMnu$+D{AD+(=dc$UF{xJH#8>j(a!T&Fe3t0;KV6()7(`hwHb4ee` zY}5cRB?@V6=|mg=<78Fg{vME(l$S&OGfBQn{z9$?{hx~CcX4HX<V}-giS`} zD^h=^9>v^$l2`wk`URhN>in8g8Xby?`Y8W;;{LHpb52u48|J>cTU$t16(6>XI<>wN zEfNQMTZ58nWJ7bf;@0xFa$^~G6 z<2Vf9PR?IZ0XB9maJ_O>a8GkTgaI(bbIK!QEEQiX&WASNvvx`2bI11Hh}1ROwuHb9sG#-S06 zL_5G%?*wlPuiKl=yBjpHG&-U6?lv%lkGcA|w63$x!A`I9fn%nlrlSCOpfClTvkkX7 z$r|m&Rd9u+qUF5#Yx7GKsIQD2VFfid9M*gFvq=l;iaS7Q&Cf7f>#7zi-zZ8ehRTn_ zk!vnpi6?iX)O{(TloK#+J<0FH`^4kKpNkE6gzOXz5P3z9NDK?05BfUseZmh3`Pc*U z#QzXiG;V6FJN7}$shG>$1XE*c#?Fq-9@j4JMcmMMal*m`3m!t+q*-_d^b*|>RRLRw zN&Y7J*W@_3ybDtv;vm+5_k33Bw$$UW_@0pzP!Ko4Vtfio@=3Bu-tn#r%HQj3_E%DG zQuEKK`6ASOGHw7i@(s$6I#f^6Qqoq^P12Y9|8&VR$$rUQNt`qdx4_A`0jF^Pn+*CN z%k6In>c7+S4{{yZK+|yf&#Nq_9IZS{PH9C{ezRfu7vj?Qoq93*{vGvuCjMNSg0Lv% z8b7{YT{UAg3pLv`=WzhnYMbJ?as~&0CU~*m)S0=sY||Gq)H5tFyfswE1?ZKrV)OzK z-~wH_d9NdOH<1APPn*xz>0RuT^IPiO#)TmW}D5}fU+|0GvivH|mg{x5K6^HlT9 zARi=%i_~pz$oHe~fiJ?_@z7ru-B}86Ql3D&!0!QV@T=eqyuuoV4!{a1PY;+3JLpNc zSi}$sL@GzBMJmt_91$he{~)|0Jcjxgh0lh5gau#<6$o7qZVHYGHVqnsuLB22A?_Tg z#tb0-FSrIiPk)}C)dl|DH1H80$hsJ0_JK>$`(Y+NAmD@ow=k1aByfyBb^$?ixHifb zSO{-WP!LRrB7=g8NI(RH9#9X4Kv`4+!W1B43djdP_%ZC@vmgOm(FV*SPoOt0LG`!= z2s6M3{}mhpmct3`?r*>rAO;CM7o7oG(E;Lp54=0*0AHdL%!f*7yr%}ag8SXQ+z$8E z=pOLIIh%CB{LZb8_T&uzVIL2U^af37U0ZhBG^@*c2(0OexsN%oc?3$qfyVcSuW=I3 z&@UuSyQ}s*Gwf89!If1%DQ_q&if>T_2QUZzYio3GNCNDm->ol3 z{m(KyHH3}hj5m#5(@@iSE&x5u`^|}#uPm!T0IQ(t{KKlXeG3AZoB3@F8UTr-wPT~B zBzK-&PLZpVYd`$o)_8%G@_g;t==p@#V6``|?=!HX{G?4x_22iqVVYk~i-1}y;qN>o zHMBQdz$^ShH-z$qE%bn;Nwp45gW*w1~Tsj|JnyG z{&_PHn1#YL@ULA!*a$Ym99$FK2j-$6`03AWU?4r9D|5h?s0eGZ3537`v|I#Y&^bco=?;@8GRIZVmDjZvwV1?t$}t2l;g|L$_Ak&3@5Wgo*0vs& z=?%+wmVB0RW|4U&`hW?>0>;jUEBZ?M)w)=&f#VPu?auM$Hh;M zQ^N`v0yC&x?9kX{u{UEYvH@7*SH{~DHlhw%muN_u!35AvbX`=DOJGSfz6X<&!2mX- zHWPenG`+1!9B2-ww>}#G%3Sr!!R;w8smO%i0ROLUk^x-# zX7JXpll&U3`fHM>=>G~z<8V2$N-IcPNC%<=K8^;!F8hYmkjJ=xb|4Mt67GLuu7AxH z6BT#jPF+t*nfSZ8h<(L|IXa~PBHlx(I_=GCZ@{xDYVh_*UabYf0qPsC%LPg zwbM}l6wy`G4TJw*SYMI+_TTXUXaob`p}}Vy8r1;wAPFSJ+|InoTmXO9*_MYEA1-f4 ztx0%4FSb3m1?+?DhwL$q&mGGgxttB1o1F=+Z(T=ST5zB9Zii=t=b9&tjqnO;;2yq1 zJ_Rh&b^cd=FV1s&;RAN$Z)^Z9Z!T(gV(@S4e!J^ zU}Jc7cwTrKcY?3NmBOlU_V7XKzgfr{Dj2#O+#g&B2GBC-4;Bml5m?W4u{9~;xS zoVOj*L63`}7VLqG;APuTo5^;Jw5fNN;g$r;T(ic!)TA-ZG{zhI7#`@W>(}cIXOk_E+vx6jjuckCL5|N~9fd2-THAI#$DGl2^Vk<{2eP;{}QJA61?}-QStO7L3|RGJ&p9xv64~Lc|Y*{ zZukIp#sRQ9Zh(U%qxt$`$yV6@7s2^n;S*XynuxcNOB#_@yYwG8jSIF!(3!2d>(_w`1hS2h6wcntpkJ@5Y$l?>)@CoX>%)dfKOyqcQ$ zeYe+i*9_78jO)*3-hPX=jPK9sQwE00p<@s2<;916l#koN@I-J`a4dX+ zPhkXS2M1gd7>qVB6j0$4R`74{5%N0y6(6Ao2wmXWpBuqHBLi6oVdgZD$sWi=2eR&l znU_PM4`gBk0)t5C0!O0k!98Gu+y2}Jgd3s29G--)$WSf=J#ZHKnkk?rSU@@~VGVjg zVGnrAJ>VKD;k{e~=D`Z=OMXy2I)FB}E3!T4QbSkM&k~C>!Vui%B2~87j z#&?O&7C#Dwa5%1c+;FD<;_*%5ck%wuPKZq$mY9uXp$kc6*Z_)g1vnx$CyzuA;Kvi> zT#5o*e*t)3Ja_xn=QEqUpyf>Zze-MX;d?2` zBaMZ_;E)Dk`!tk(CGE`2KMwWZTIm7&!?VdG2;y3k6naQj0Qb*s@)cnJDQN${ME(1t zVyEJzLQTrg2)sU3;Qy<^|JCYRqz}$fpH>&u_(1&HYx-)2Y9>(qn=~giFEokTirOwz z{{ih|Z9K1k9~{8n>eAT$*Xm#C-K4f`G`u&2jDxBFB=nhUO?mKg{n>oa?6UN=93lzi zbL%4OOKX5$eTFQcmiDFgm-f<*F^;Pa4;P-Ct}kH!D&0ff&)iKs`#omwSnp%_zY~4e zd@g@~?ng=F)=x!w{yxph%d>zBm>*BSJAsVgI3|D(q=xhi?GNQd>FedrS2f%SJfKau z1slQV?ERI(=5WFAjnF}|MJ9zhg(`*QB!!(1ZVdhy>=LXObif9B2&(uqnIU!X2$BXq z`P<(DKcv4w9r?d^fy|xYuNdLK>jNJ#!c1g9*a(D6p)d*Tq6ch>A_9VvaCQ_G9D|Cm z51T++{6y-)42ZxBFmMx$g%yx3{Rv3G89Km*Xb0%W79b#jT9Sia`!D-{_0LBg+}dB+ zZ}b=R-yu2RXJ0QiJqy0Ue|Xn=hkBcMUEaLj-#pWq0W_Xl?qA@AmvHZM^>8^{cb(In z^_)e?7wzG2IUbNJSI3?cz3``S1BY2(s~}l$0&ai@j9s@>j3v>2g;uW zc^$mJcgx?%jd*_zP|Sk;b6D}5l)qXy{%(ZhtW z_<&bJr}c+fZ|MXFun|C6MzX+m*^1adv(K>K!3VT2E?`QsA?`Tqy0*Jy%>Q@Y z4L!#_Vec|7f8BW-#Aryj`U}D;pMc&ZKU$Pp%%9u&yYCG23LFe12fu?0ke!XbF6qI) zg$jl>)ViBFAP|m()54ChI;?>CUpV|YbTnH1{X#86WkO02fLp;G!70J6!P-F&eBcj( z3xSRBf!amc0Ae`7e|J^DhxE7n?~v66GWUUxvq0vRAQKQ zg68mdCINvhkl6zS&fqFEL_!ak3MM#$KZ%~O16pzwtQJKB%{YlA;2)MF{TUtLH1|NE z0|;Aya19KkY48br;lBW&kgr0CHgRZ`0iamDDb2fIykt;R?@38mwH6Q^o_D!}%whz`RR)clB zrLyG&Y2(LDpPGI}9W={O(9l-@8_B_ww2$Be%u+vR^Btf(qR6WV$~%!5dY3JGDKo%W zaspQ3!VySLP0pTtM|@Je4Ta!XxPdjqT5&e<9?@V?n&@HDm?SF<;nv^*vlGfEWJ@>z z19*S@Q)d5W_=IIotWCO@h{W;xN!3LwM8(Ce(F4Wf46-LVfnT0Z%<_HcfYQL7`t!H%MEWOz zs)1pF-GThU8o|ZE*FkHjeyDqBPUw87Kv)^pg-u~26Mu62k$!Lj6ypf7HSiAb}0wMqqDX0hvKf$qUd168;Oc!5`A!(F3x&K;}O1&l|zV zE|7UG6sCdysSjk`46_u6nb_cwf0_eUMI8lx<}NUnDWEr4Kx-I+wb%oM1X2}_0mZop zK8F)>YVBts>$erk`&eDgJf%@Pr=r= zpsQbuJJ3nocN)_J6v-u$b0*&xUuJsWfcyVn$IMVFL8gu z%!JVi;}TZl8=jC@kMw|NiB(Yq=LS32Ba(}IiI0mV$z7B8QvYqx@E1<4i=XFJ-v1`- z`@1C%B%e_Gm8k2lrQJyR>%hN1W4aG9od4S@X5#$$LQ#s0PYqdLEu!!La~MG1 zvH`p&iM%V^zt?J&rWTmrLd_1%Y0Y!k{vxecTV2~5&hJTWUY$qR3f}K-(pZ)HhWbhR z)pcEF|efze{>WLggcptO0Y`FC@QrG;e)NkBepUsQl4x!26J-LpAS z0q?VybTo1-zy+{|bEPwp%;-0+R_@>3KF>mr7N-~o$WWrc6L;eT{H3;}x zGxmT=umbG(iHcAPXLW%6cmxQyfL{D5)}RB((+Z;vK22hPpbBUV8$g6(_(}e>hr$W= zN7(@T&;@kxmhr};3|NOoxPqqy$>O7N4lM)@&<*dj6nDpG~M zwUx9jx0bP<;vV<_4EnL@Ytsc>L$?@ohT&w0SJN%k7Sgst7m%oKrCP0g3o8DNe4*?j zHP#((fSRcXQ|jQ&w+7B$)8q?}&Y{j7}uWa0A$$Qk43i%6(rY z`GWoagd`VLUI7HJH+%dnUiAgiUzqEMGv9Ya)!$fJi{4O?eoz;7Z$~ix>FE6T;q~)C znn#u_Gs{Zj_SHt#o1K3pj^B4>dE_#A1w21S$T!Gu$v;tKD0(va-&Vwu^H){bkj$Un z%IV5OFaRyMf6w6pC|5Tn=i`Dp5w2f<%_7Ya%}q@Xs^16h*Nx5pkoJvMPx9gjHvb2@ zWW1OA>eu1^XX5prVK{AwA-8R~agQ;lDZ|vyw9}N!T;4pK`cJepvn=8QV27u%9Us6? zZDVccZ3=uq*V%JBDmx}SZsP(v$@z{fkdv;8?#(y=jrJ4-1xoQP@Jao{{I~pmIOV6( z)ZqSWV7?c^z0c0AzIR}C;C?_BtQ73W22hNhzE@~wXk+M1=mj%Cd^jbX2;cX1XcwBl z&ftSBL(M~t*b*v)EGU3-h8_k_qbHsf>>q3v43iO%og2Wffn|Y7fj)t+0#*LO2mE`p zfdsAcdp;j~K-NBxbs@;Q5eSTdf1U>Z=RR;9t)ZYg7AAqr9*~I#2nwRDcnhtLZUQsG z14pw5bmu1699BRT{DWLzfnsKWT+9GB`IFnjEns%qXjs85(>_h}rlqFkk17M#ksS6N z+F%db;K$r~=HU=h4-}w~@2Yo$cO;IXK5rrKInR7JfdNl0&u+5BBJOPN4IqJLaDds) zrpy2r_&ZdG4zQPNfQD?rF19$^8fzu%6-#>@gugexHFYyRWHvoy@Ed06^XQxCc57wY zUZ{i3>H(^wN|Ca$VygVKEKb${Mo@7{Pqe}PQc_aRgVzt{&2GnCutoA0_ytupR z!4GtZ+3fp=$^3W^%U>%C;P?Ht?0eY+*#dU{3+R0l3B#o1i$L zcn|JhTiF%wui47g`2XC-|EDzm|MOJW$oZ>@&VQdeHyCMqw*R9{{;{~Kmx1p;2+#k^ zc>ZMQI-~l(i1T+4-rs!vWql00{||=k_EsZnK|0J4fm`0HUS`7SeEc1U7eRzT8 z9`)bNx&;+*d3*p**hKbbsDPi_)7juoIaJP`&a=*tYne;p{?T2))7f*GG=N9mVI%_& z@;~ucOPdbEG=ziQ#q^XwP44vl*wa@9E(ctumNE!_|JVnxD{kh0vAvjpW-qg^nm@S2zS5_ zSQljn%wi8114FPENI(lNf>lrpJLv$TXa{(PHsB=Jz!hW$3{U%xnJ^MV9Jk30M&m;G0TtjWRhcD(D zsCHceId0&LXA2nbsKGsOA2Wc?{+q3vEeU3D9qS!S4@)k~U~_(Re^WM7d*e0!wyxGE z>3iv}Y6IFSnpa%C=Br+zh8d~{c&5}d(feX0)eg!V@P_$mu2j#GVT(MkqgAyX0s3P3IMI;I9!2Z{WvnN;N*PY@1 z-|il z|8?KDs7LC+C(91sY%ZH_*}xDk^``=N137{s`1?J%;U5n^55|O?-1Wys>;FZlB-_6e z6d*O63&!u%P~(t_7yoJSaqwC2Uhs18U~n~+KMnM69PfXdVAY^0n1}k`$^~Eu^M5Pc zfhyw@tc+d)|L!iKnSLe06p%Fu{O2z4uhT&0UhvmWkckfnd%@kP(lE0J2y?)B*g_}4 zUXDf)!QIhKK)?d#fCi2S3Fw7N;7hQ;s%&bR9iRxDpvUL~kE0G;hF9n?+`^lrRlp%A z0cD`T23Q=u1XREyEVuuXZyk)_)}#n0`W}1tdVlh^_hzsI-1V&X4D?j>#Ck5E3ux?4 zB}r_WtG+AF^_z37vl_R6BaY#YPop?Mce|Py;5%EYZJV{8^|7UorLbkRIo3QLg>XMS zgTKTx+>J8e1AntOp>OG|K7> z=vx@C&f@$td&(0g`3+R`*RY0jB_9$`ClxGBTuS^#bXjyvJukrRyGPnrQM^n%y!`ECKaldZUiLdKpLs|-amlO8+sKD;^FJkjEl*ZN z$U&N@*rd3nNKlp`-FrH|U-y(HR0a^xS~w&QBLCwzRd%&W-JG1S{jh(nn&#C1UdGnc>evQJFY9DF9YjuEy$nJ@VQ|E*=#wCF7iKS8c&h|oB;!S11W$e zb6fKQ^DVO){BKFL{<~Q>QUB#_L+}AEX|HFWX1`(A;{vk5kr&6O+0NI_I^+PPx!0io znc*qq?d*N!o#3P*(1Os( z(ECt4+rJ+kKphx=%J93;mQWWMzmM4x)&!Tr`kzbP4-NKUa%jWnEB61=FaQb!uLX7m z=D;lcF7P$=UkzsfD~f>Pe|vwh%=-U02mH@n;3G1S#Tv*&2makeki{Xo8Jzyn z_yGt0oC4P3EjSlmfY1SYv!i8pfJn3hB*F>$fKSLJoWi#7r#KmxunuVra0oKM2YO3h z$PQA&2Krlq0}9IE-+fD?TmYA^2s^-fIAG1Z4laS`JhRb+rF(LF_HiSw0vq5kj?ood z`CYs5k1OrW<=o-u=LkD;;2zu=uaIN5UN)(1hqa0Im1T$}&hnF43M)`-`jK4WUWR+* z2X5BMbp5qgxd%>HzvBwF03@I+Sphews=?B$e?JsGZ&Ix!e9n@bm6U+N(~&vQO;u|jh+ZFf7{0O4? zpBQ!hPaxa73Cy4Is->zu%>Eyc8JB_oGf#a+T?m#`2hD8FaZRo$=ckW$wstRxAMs58 z-{JXp7v!&rev1AizJD2p?@9l@Z;*no48i^Hp;3-6>lo8PuK!_Dz}A~zbN}xM1Nf!I z1v_Ia^M6?w07q@{+-#@e0;0j~b&cbVBMhtKiqqkmfCk_PcMdjyJDxh;?MwjId_VY0 zp(c5eR-1h@SD-#ye~w^A@SEVU;Jo00;3G1E(nIZd`KN{!v+F+yiSYSp9Bvox0OR+o za20yNQ@+wL^hxOV;2ijVU8wuE_7ho zK#ND{-`^+vV+Z)(xVhG^)NEX@2v;?S5l+zn}6f;5~5nf#7X(k)E>MXBl|F8SMW_>TT-#;D6=e{Vjy^R}|#GrFIl*-wWEDq^&nZ@w=b9 zUpjZc75WEywV@fQtS1e{jTyKvEij(t^-nW(G|j{RCxPqhDDysZUP~GHKU*#DaRKdZ z-C@nk`!CG@nJz%r$N^~s2lyErpgztc&J$Z_NEEp^Q*#_Wo_W{MSNHLfP2+%ZGb}Cx+*QXTtyM${dg! zzE6%=tx%EBUVdGhV9j6z&aVg5--`N26HF!}I9u>Z;1c)0mE;5tL<`h{8$d<;0Zq{f z;P37d{?GNF`J=3T;9qfpkI2ABgfMd}_&5)I>;sRZ_<(RR6x@ey&;zojfRj-yU>`i; zZ72nn!^xUK2N;S{urmrF0S5@e3RK`2m_PkxlnwAJe&Ms|<$^;{HE=*FIN&4vfmZn^ z!0@gC8>q1VI$VGWzBcRtN#q6W_D=S;_6EHryw^|$_x4m_2RQGZMT(#T*YNqSmM$f3 zfdURFcV2V+f?JrS zbjLxsr)Y9$ny7cGq^e%Zi`)Z7%I}h)HAh+iZt(fkuT$ewU*fn|AT<@`e$~|a{7fe_ z`CU@K0mZ9{H%BTSewXm*nu$xlko6hD%U7SGOEHiLnvv3gnPDoUKIo*4AT7GyFVGQP$AzX95xZKmfYqq(_x2Kv7^`2S-qhb={{ z6|6(7`>chi|KYsy7iVC2ht1c{nLa=}eq5=Kj`Nn(ETLxUX z1MI(_(_+Aw9;MghLRT`_Jh%YXZ#HoJK2Xmg#^$C%5VzG4Ik**pD4got~p)OJ_iMGq$QCZev=FDB2WM! zD?kMo;Jj}|^b#oS0Ds^OGL-yKvo{B9z!{#_9=9hay1g?)fsy#}ba)jc(yqbI!lXhR}6LdE(;pz;fa>u03N!^rsg!+91c9)Y(?zgEg zxZ<5i-N1h_08a0xX!}!Ai{Rk(44vBR`JLuQ>X~D$M<(6ie~?c%w*W@Bc4uCZ>R1Rir+RM|JU`& zhR+OR4aW?HjpdC!(EZ;u#*@+5&9u;T##DsqzY7_F_svS2T4z`;-~sxXb-eWiF2L1n zBiR2xA>Uz&{UQvY7BB!F;sVs(xx)F@nc*7ey2b>sg$ZC6ETBy&fTsB*{w@Bx?2vWX zIlX~j0y$yq{t~>86KDWre<*&S$3ice`!m9I!_C8Ahg*fa^ZsuPp9r4{AEpOP3x5-K zgOk4Wda^<0I4Je z3C>`DXJ4TIT>t-D7x>p{Agd4jwG(7s4Kq1}!W1Cf1pbI(0hxQifoKO1W`KF%0KyFL zJ=%a4bbyL5f=pxz7Kao3h(E!@@JP>RumK;q*TNJFx%0Sp!x|~=%I(_e?B@(Sb4F2s zvW|j|1NPzQgR|K;*uJ*K+qPSqT60;aSj?8K=8EQHrkdmi)G?kQLv%MRwk5h$-6-vA zO-r&v1L}pUI8|@uZAEp(CcMH%qY~~f%_p59sewXQ(B6AdQIav}c1B8i zQ_uA!r6oqRyxAl-@##27rLV-%XE7}QrF?%6J>xBGe?NSmp>X+6G4)HO<)v-7=B)?S z%OR7p^|$0z&)nu8liDqoYvpDxd2aT4GcI0Yc>*_zg7kyzd~(Y3$cxLBc>8^dxBp=I zFF1VMAmLBWt-raVKQ5m;6*m-l=w_dy^_!~v_0PAz8`Xc5v=22ee;4&s^;Y#|oPLru z9{l~j#p7qO=CI~IF2A;@-e;Efu=bT!s{2&eTen1aRaXiL0t$z>!u}~7 z+RoJ=6pW|-9|dj%t_J>K@;^u7_zu{AV?qB~paH1N{m;wvuRss{_xA<+-|GM0cY(|+ zLFP2@fA)c_PLPEUWb%iEDIjwX5H11&FF-&74&Wk`H3LlJPMg^QnuFPvCtp+#8=!C$ z1vm>Ia4lSbv3R+B1sfz#-u&_`y_ zCC^e%FHc!dN$vo@xLdhR?q{ymI zki$Ba6tO+#TCf6}n{F|+UI)KE3yb}bE}~nbRcfbdifMY1eA85Q5{Ha+KXSB`9qQu&0z+w{$S}M=`raOX^B6l{!y~Uy!$s~@A2$V@upYiRsT}nTHcQA zuCL^c`B6=IC3yy4fkMTnw7ep|zHQ`v@%CI#y6-D_BD+gnMOP5Nb)@{hQ>2oB`nmE4 zi_1D1Xe?EBsQ+0f__Pc`luL1RYrYXkNzlydkxc?gMDQz~LT31Ea zT{lm6QkS1@*-k%Ke@-83sA3pk*a7R$VQkIre;L(J4R}ARN&ky6XW;%h&wSAwYpG-z zWZ8!PKLGl-()!q{vweY9>%1+A`D~K?j6Der@N9BGRnD)R3!S%|YIK0BT-n{V=KBs|R_wq2{r_u!_*YyYs|)l`;ZFB){*Z}dM0I#ELpxs<^XK)GZmewq-3Ynp)X?fG`q3{y& z!a9KhnEd(u*T@bZ<@=Jvuupt9-~tWxHi+s0j-d!@<#ECVI*e0XJ$H)xitA@rGm?X@ zIA?$YNSs$d0lvZ^o5W&5O4;pp^0XFEVT0+*dR zIBl;bZ(|eJ`PH!YCd1R|E^Ut%w+1}jbQJkoI)sQ%GF`$#LQhp#KD}Y@ZRU>mUYacP z;nLd$pYCO#cvofF8E|)6!rmE-XZH-=^?7)A&Xv!UkAuzEU*3bSbVSqNQT`pC z{-a^{uV?Ci1m0&*R93W$PW^{S_=-_F(fD*`>tCn5sQiG^@6)K)&k5B#m4@o?jo0UK zT)w25a?JcAG)rOp2=BgGTbbG)qg{&5|A{tE=hZdR4bm;uoh9wZp>N6Ef4@Gv!HK)d zG(0~`7|R*^8#fzY8cq2AO*Wk{<;IDzsd=<{r}-(`pC*={EGKaQuLApjzcmjk%`Ubj zwp*kCG{yty9QEG-f9ER>x$_I>Eaz3H)YT9lz}qgTdx-nKyRqkP9qmqNMO`s;`LQsYPQ{78tH@%^zxj3j@lA`1L}-i7br z3bGmx&|vr~cf!Qb`e0)wfCquof&E{a!_c_R)pSNEL_7{&5un6e@ z|K0QdU+e#0XMrqy@PFz9ul}JjeiCI2-Tx;f;LM*hz-~A}Yq`?QjWU7+PGB3Hf@9DC>LNGnPHQnm%xT31{(1Re~&lF9#nzDPz9FvD?kCx_?CeEHuTwid3UgZdfsks46IFi4+YKUh~-H%OaL+mH0XzUTw` zt8(ELQcO8jp;2r=N0&psM%F`Ci!EJ)(niH)-htjG3>yC_cX$DpFUOC~T<=T4-N`9? zExjwfMx7spt9KYy-*0exu1jCD=ciEjwPl^b@`M-vIxl{V+<;GC1Nk@dAE^2{@>MYR z4#0<%8p4mwBs!7JjLbSd)G-{OoJv7r{``pwN&}#AbX-$gq zLZ<%5+M+tEuC}f#YM-6DJ52swRFvcOd-QMgD*S#%^7=nBXpN0={Xc-~Ux?j*ndv6T ze-${FOL+YYTSC$4|F%VrOXCddIcp3l;KOV?(EpgpdH%(IiTZCy($ghJva^|Urt>mB zVD&)&PP?zX$7+X8#!O|Ak-x{NGmp|7REYPkkVBGkE%c!-85^B!=O z89?9#2{XWcn8BOiXfHvbH5tdSAJ7N4#vz~@oM1Z+AtliSJi@{0(4V?s!68sk1*+1D zaS1$&&T|G@@1~#tBL55DQQv%$LTdUnzIWau-Wlit!rTF_MDGBVJqey`?j`QdZom73 zYa1ScAy;qg_dtJg-B6Kkz4Uz{+R3D zEqcN&zL!l=oQ>b7sLiGCN5xvjMZA4vsC$|z2PhXa_1}l-VaKq<&px`mbslX4-}7&u(sE{?UAh%fHsr&@#gEE80JgwUc!P z{(m~ue=}?+Ndbf-ixfE=*eTzOu?1l;SX>3!hs z<16GJ%N1ZsS}E9OmcaZ#A}L-cg8I;Rp|znKp-*7?^a`(G_Rkj4Mrx1`I5sjf@>677 z9ZwUo&w33M2!XdHs{Q z{g>qRF8~KP$A2~c_kX_s|NJu_cLL#inTn#1^T5Y@fq)4JSHjE=kck8c9pC~T-~^nY zeeeM`q7hz%Q^=1b4fo>~_%)2cDqI50xP%ph4Rjw5m%Y(T;0P1}%~1q+qL;vX{^R~N z_&j#U9n6I@h>#XG&G)UZoKM6ha0kvnE#Ly>#vO2$r@bf5Q`mD7x7e0$t@|O&@eU{g z9)cmYbsC&^9m^dZ9S+9_TxR;&%i0Ta3mjkz*q&MESZm-HJlztooH2L6D{z8IYFflS zaGfDw*o&s+wC;1=9c?G=2hCtjNzF{PL%m;BU-d*eTxn9CRt$tqmzy;4MeysovUxY- z)07>(mHb&>+!4lvAM6{ zRlgX0!$n-|{fY{TI*QK~U!&LSpy!9M1q9ppBM#^5wS;`&CYs&m8EmMD6)d+Y#$5oG1pOA*skTlPg@O<)W4ETHX z*DS%`Bb!#Ot;DTwJR0A#=zNlOVci$H!Ma7dqq>*6M7I9M`a$}|`V;zWsHo~t{VT}( zC}K=Ewu)Z<-lO?zVVY?=4eP%wyq}fktL7L>SxaZje7t{3Su0uxS$A4f#1!VG_to7SInU1b;>eFc<&dD_s0Lz$+3Ezc6`V{(ytGU(V()RDV&}KY39B{=GAT z|GAp~zyIjp_kpZVAb1UAIu1QUP56izKwt>p;2MzC0S@C7upMns)-7;olo8khT~Nh8 zalk^Phu&t6+eKp7)U?5A9n%`8l_xJSKI##?FX|1{&i|=jhcn1E-$u9qt$hLV0&g$} z4)oUZYP>Ju0*xmv$mn_J-s2wOu1k9GW!Fqs6HtK5ydn*qBIkL>&yMDx0Qc?7?49gh z`#akvoF^Q%ySPwPvc6#p2w5(Y8&bmjv&nAS&JF8?p`qcXzN0?7eiZkB<=S-Z5ia4c z)g#n8m;sGdxm8Qh%_X21{+YM-Q*LaDFots|vMJtiZ_la7rO3})Tv8FED2BIKQAIw! z_MU6pUDWrdVdU(=g<}`<`%b=hM1F!R{Ud%=EHAr{->o?{K1?y0Y~HnstvK`@LaTd> zZ--Is?B~ZjVDK(e%u`HJj8OEWC$v+vRD1!izk}j?HvZW#{4OYR@bXuL258jL?Di0Kc8RfbE30!AlJ>!Xa@Q2dHa)l7X&YfO(# za#;VP&3nxs%w~4~ah9Ey*A@dT%qiB>Xn$*P``b$fxX1o2)Bh=ZQAfzp9mMv5L+xzA z{(qVGU#S26u6*tw7oP3zBA%w69k>Cl@_y>O?d#~zNycOjIA$^I>gjNQKSA|BBXl*S z2!9FN=Uli{B!j%~AF2Lhk(-gc8J}bn&3F?zAK8W%_{7M7Nc%`5x_~@#pIt#4UWp!P zAuOO%Z2k4&`k2A{qyY)Y z0fa;%ffJC~0Zuam2%JFS5+HDb1srfNK4F3~P{0AbIE5xe*+AFf0&K(0c@mC}ZSe*Y z`~d}Lkn>!6XZe4?7a-!7fdZWNtpxpP;&b})f&wgr4Oq#Wh#p`a{E+G%8JECS$(^|qsn z^rd!ZC|2OecT#a3SFU`@IMn%CrCDiJLTtjN)66C>SBm-h63VvKy{``{4M+;BnSa)q`8#c9OmGvh$ZG(RYA)u6nQffx0Bl zzRh9ztkGP-+0RO%Utf0qqon#I>C$ob?uW|nu}dgCtbnLrwNWA7i{ z?!H)DW9;NjyLn-1as}*8B6tS(|6`$8{Jwq(Ukgi_{rg6iM2?dTnk}PbhAP9E;mAO&hi!4kGyH4h*`bQ1}pH;mnkMT}DoX2VYXXZlA>ze?RUT(91Nj)gSW(8hUj4xGs( zASX?5uW}~1z?aIJT-Yp1C6|I^J_>48$B#{9jX^}DehqvrnW>?eGKcbm;x#q?T=5h} z-V4QBHuZeU;;4@`RC*bHr_WL6^imF0j)$i^1(n`pUh;9u!TjIp4wm-?nLSlu@!FMA zepNnl44yIXKZf6vOIb>(=PS+G`4=cplj^NhRl(I`l4>&>e>SyD9Z|QS_UEW~lj@Zd zXYUG{c6j=4(%c}=!$tKEMBjUgOdo}=g078jEIa=h-8pg}Z+PSiig3{mrQUCs_7cUh(=jvre=gfcfvU zb+j!b0bFfw!tL*^-%2CuAadvmEc0P1!$a|UQI^`}k>#3Ae;USL~-LEJxoU;|Kt_UEJKb49=9 zqV{wA|F-)7+7~`{f=r(QVGj^yfTz(8AYg%+%;58I0*}K6*bNT2I(;F&;gdiC`r_Nt z3fI=E;D9#xfFqwZNZVXbVUo3Xnw*bembL{2cx&Ho z9{?Mu2&$k_q)->O?czl;S+9{!pJusk9&A>b_n4ZH8#2>|$sK<(ze890P8}xw0CR|&{u8DzG~?x;NTS~bWp0&5RY%oRHJ?oH z7pi!=Rzs3KX5#I0S)E;zg1YB(O>gu)`|$NEsda0cYlpJ+pV#KlX+ZqCfc9_K-N4yf zudm8BG)2Ete;bb@A^?n$$Wl0o$ z6L~grP2{A=-jOXLtHY|5*s&QS4e$npNDJ?K(AY)sqmTCmK3*U)A~JhqW@<)So>1O0 zMP}jW*-+sZ0H-tKOCBJPqXLTj2K zS1b1`cOOp{vZj3?%_V&|d>!%r?dZSmH{kZWn$!>M0L z7WnXBuVC$96g41q@OB_3Fq|!6n!pB9!7sxjJc*CsZKi+{zWnt534QXcE8lhh=^XrT z{&;*1h{pkbO##0uz&SiZWE?P_5iIioWp|Kv3JMU<2h52o@Dn)Td2qnhsDcN2+u#u{ z;SLxE8}O2n7%po9-K2!Pg%7+87HAE(Kw|g>_`scAg6yP=Zb7yeCSLT&4Qp3%sO#|Qr-o~lU zY`i4&5ON9INU{4ypX<}#)%~e6>#k`B;~RPhY`idAff&4T%<7M-L*!()fkA6lWq~R1 zJn|Zx+I^8Rk!vGYMK0%A58}Qag`exyq!fg|cUb>bUB)Dy!PYuCFsGejC;2$@0knzqhict7f`p zujV$}K7+QZwkN0msP>IA^*7QD*R8_gt|zww>1psA*5glVtojj0f>zeCMi%n!{GmeQ8~mKdD>@`L@40sH@E zwbPx=w_Ub{*@O0O_BHm0=>IA^MmY95zB;Vz|K~a{I8(FdX(P@PuZTIwhup>VD8OI^1*iubC>{mKN>adkG(o3P1T4cL zxUb?4=<()Nyur@=U;|bnBOtBkDGuQ?@dqyL&hP#JA9xz+5VAk`S#E|lqDM?2p2Hoq zsZ;NK=h*J(%Po?EI)PVS9_xL}Vv<8OmU}Q#YMV2f51D$P z47!O|oyB-d7=l9hEct;s40~}3NvGebYoW`bJI2`%wD)nrtES1UxrjSfGcq#5)Q@q@ zT~2Ohcd)e@s!}S6eW6}eh>5$9ien0DsOAoiR6dehl}i;)wa7viaRya7RYp}N-v9Yy z27Z=_jM9uenQ5dkLmbE;Rm)aQ9xRKLgh{9Nknirlc6dO+zw4z*}{ouu8ZB=T9)! zHV!q$7$4&ISIX4Ow8nJTl-V30^<$y=GPxfPZvWZnev?`qsI%vQ{fB|gbValMz?Rcq z(LUV1+y36Jr+b^_IOj;^3_81$1OLF8jr!h8Tq#}?GoS&P=z8iZ4Kq}PD^|<%kCwiBdQiea>IOf0`cP0TrM$2_Wg10^;}J|Mk`X`{zF$2ji!J_y0lyK`o>rbx z9u+gdjUQ>jk~@?85xyXQ;t#HIeZm=R0{-9z@uPDe*)f%H26})uSbK*RUx2N!fn2bG zwv!X!!5L(q^-pVAe8R7gK~vk3o8-{R=JMuL=G{0{M8XFcYIGVO3S$M2@DL|UH*R60 z=>lHU1y|FB>Gr~bw`<>klyyKCpOh-FRNYTqm!3K=S(&exu1~7=s5XGG&r?n3nanc< zN1gFJ<9Hjb8cC%X#WRv~IYc#_M}A-a$Z$R~K-Gs{y|b!4Pg_+7+&DU^+RSMz(_A)16J<6grIqk$1WK^{Q&Hd{(mOPofq` z@$06ZuimeIq)tYLUlC11{Cwwe^WS0W&yDt>F=*#XPXBvOzXZ!~H10lE+4UFDm(aJ+ zkAmxSS^rg^+fdlhl+(Y(a1FJOUZ^VcLG5=@NMzKK_C3(J8qQxB%!;;WOtT# z4u#+O-WdtkbELQf9&k2Sas1%+xw3E%+;-O>O|lCpz+#dB7mxz9STdmk%oW`ko`14{ z2>WkV;8Y-KPzaU|*7{Kah6Ps!4+oD0w+E+!28h8Afh~b<0e2vAAU1j=`oP2f!v4Kd zX{LZbNduRWz@)z`z<->7e)a(WJ_X1X;6B>GYg7Ok2i&hzfaQue$e+p#&@`5o)4;zWb3_C-ahgE zM-;bT`S@4WXWsj$ic>wNhFpP@e-b_JVJ3`&)RXOSbylk8P)q)#KD6Xi``P1XrzePG z<~YG=-^skN6{LSZ{lS&UCpdX!RasRv=}8uo=9@sR;s2{2wdy2(p4sp^s7BX66=lyQ z&0F03tuTB$XeWdCpC`>Tmo7lRGX})}D&BqtNKtRApTNHFsy>0CfT1KxpRt_&tDJr< zYM<`HLgAF~Rfxptv$t^tUY{W*i>VQM|D)jkYV;PPaQu6v^!~j_YQ1C$;r4HAon$=- z^GA#K_c*-&KHH3Fe`eb+GW{2I^l@x)#5vSV|C5}@oJml6G{gJxnD|9hyDGZ|xYmOK z_}$aoi9H=WpFN|zYBtSw-)f&0Kffa6|EQun(F1&rHn8U(64(<+7_>40)Ce|W2Iv_a zA6y^Y7d#M*;l2970>PUw1*!(J25v{Mif&Cd@Or<6ZJ zzXCtczsv{ti37^4;HQdDkjx2|alj+^gl<#VK=E9F9{7YeATg|n;t`yk%utyPbjf?* z2M*W)98gvSWFjf-mS+!q;C|$VyU+x_1pA%i?&dDzjwB)AxNA0iV81KObwgYs_7sbW z8PNnTa<*}bYyuBBMlng|fDJSsXGyjF5gPLrHiPXINg+M0UTae8L9pmjmQ;eOD zf;WO#6);_(0z}~$zKG5?RM^WLpfcP73#h8kglpggm@pZ27q!#i#u>HWG^aI7*qhgd zDHNeeta++FtKNfe_B8bKgP62Cs9UR>qbdG_r;fUox;jq{-l{3@)q;Ifo9>}LPd(o1 z@Kl6r;8j~;<>puCROcXnJB%8VQ2icPp4-%gL*RHz=qdWZ;;DjCSzw~bs7j$qu1cl~ z;lJsbEDFN#E6cWTplX@w6g4L|X(wGt@sdw}ZjE2lLNko6|Cr{vCKY)|rL@hpL&)+u z1md3(j&CttYZ867aQYML3+c<^?Kw%m1+Gs*LtYqCt=Ra*;P9JR(6BGp#+3k=uWz^*YQSFU}ux zZ0Bq#>~6L-i{bucag=imXZru&SGqODr**5#}1TjiGq*DGP^Z+fQSE2%lfcf7quru&2Une!UwK{m#d#mU;$Etli?A5_Xitj$`2ecJ}FFA z1Z?xnfDc?16d=^|;D<9%VX}f>uniiAH=x-SqWFTe5nW<3@f7aS4dDa7a%=_#DB=ip zoVQPbS(?{=7nSKBHjV8W?qHp*PU{!TE=xZ)0SWO4>}U3x-=R`(j!W2iaDagEE0|VO zn88;J5`v+fM%?hr{DyVN_`wr>MHl%I{tvst~FbgdnHZX2K7%Fkk`9&^;{!bpG<)zd$%4ycY7{^55Aw-+03K*{CIRWguV2 zTc)(;!Z7~lnlIw_BjUg?3C+(dQvZrtJL39t#QN5n4{laJ+j^9L>2YuD0dM;O=wCI3 z`NcUWj=5z#Tg_w&LHtzfD^ERmUt(C1Ijr;QEUQ2y{|pzVFOL3 z*DLSQlM{9m6krsYu%bIH&OjS+ho}Z0_!AnD31WRwFMe|F2L-6?40qmjEQ1T+b|i5e zwU1#Fkdu^vxweMv0-tdIw6$8SpDo)gJ>aB#p-1frALu=pRTC<}CF3|_X=7639$w=v z;jLi}uY7~yHC=EYeNk$_b=?y7;(lE^-97CV?Kt={MYRRAA*cpU;*&cAulz35f@-h^ z{BUcGXzB`Sa%*yEvS>1B!Zc|#X*H>M(r7~YSvuY_YSQzW4E#3@Ph$3r_hIB8r6R0l zOFx5dVgS>7E4l@_J1~JZWS}Q_!DN4cQ@%h!8peYxj8RQg&4A;xj;Z0a>WL~uoretX z=J0%W!1GCms;Q}FtY#}-e#zMM7v<*vQ@fOz|G735yZ+L;=DK0{`W(?c*M;eA`pRtk z=jspO?~%r!HIy-Q;Ph|j^ruid|6ZK_BY6DEr@tdUUq_AaLH#S^wY<`F#gx))$8&9( zIaZncYs0zNZh3;^hu_+Q-hYqvku{?&%GT6237ys}cK?;_gTZQEq5W?F_wTGD3_fRn z=QgH)9qiu;e0M*IT2~cUf7c4vdDmxG9(PF?VOyC2YAD{o`@AKo07cR9=%jThf<}@6 zpdkf(L-aHFKrI7n-~#D`#hC(H!USj)Yzr1RDmaAqqJv3;d)XHj38bI{7z_%SfEl1V zPQg8;bkY`-z(s!efBtV}0REq9+s_K{R}>)LAw)(2Zu|=e+zA_K1#BSM8%W*+Hc#2U1ztmG+7McvTmjlx&DOV; zji}L`mQUu*=B`Qwkb8gv=mKUKs~9tq9ypr(z%bzyeQ$L`PQzn(@BNsGBghort{V$V z?$u?2DR>NDyur)_#n_=|WG;9>Qr2P3W)ibzX(nk#lAPB|(_PaB#Jw5FTU~s|Yv43c zlmAxN)aJ)}nmWAI;;E*o#7Avgof_XO357jSa-xo)!kDY&ecf(A>PQx8Th+yFE?*`X5 z7LUIOV-Yk|GjREQP0CkkvKE%3^-pXzvsaNP{}<+5pe%hYYb|#yVQ4TKviIA9=WlA8 z5#Dcq+bY{7oWCu&HcTP^FCm#utsRRTHyzoW6`W(7N1Tb-?6gJebxBO_648E5r007K z3()MYfw_Z@cuc%rvFmCytgX9{rm=KHcr(?|kph9>B>-@}PM7@aau7M%ZfAR}BL zKa)Uh_J38G{+lxq6c1(zUJgtT)ChzJZs8bM8&%LH(n8$+i&7KvKv&`e9Q3K_0sdce z0RBIn+y8r?|G5c_M*)86f@GJlpEzJFe83%40NEi_<^sqlK)t96WCqI)!LmQ-dz?Ye zdG~<=%vRh1>w8Ojt=@2N67Lhm9q><2Q^g_tBdXvfWCd4r7Xk&4Rlyxl1!r{KMHSpf zEG=e36}z}N_0@Lle?ra~m?K^qOd=z+5s?&5bn45g4+pGf*&@1vy2QF$ z@aE=$54O`*2O|`;d8q{7U%^b~K zew+m|HxB)M52{5Sd^r3lbMn#|glOJzicc^rtWeKX4`HHj%r-x$wyO)ObEz|_L*XT* zRi|S{2O)0-MR!<>TbVT*k*&!|Crr-@gYpuVgwEy582hk-F97 z_{NdsE71412lIeUW=&$#*(%t&QHu}R;%pK2;`T1~ zm3V(=#m#*Xp3biwT4y7s|7*_7xV;Wky8o;s!F2@jIYlBses@t6VIxS3yX;QMtuV#& z&Qp&qa$#^L72CiNsXw0J0X#lp{9pVUAIKMY%mmOX+8q5BFVVK30DEx>eudXyb1HyFsQ^j-m#P5%`&#j{1NbWr7_SU` zq<96(IN)iV0c2h9dK^M$!Q31i)fGOl><}!gg7d-$mN$WSyr;aoa0ZFb2&nBX0v}LT z1>PkudRg!Ub@;Qn@aRi^UFNv=}O0BqOAy)2iTr zWAKwHY7&G=E+ zhO1QxA-!rt~)zICrp8_+MA$htF_bV2s)FO zQC(Y_%u%~m&y0{=o0f|3RU_AgIGzV&>O9gs)ZF8_O}^GGdh@IF4ktkrwsKmhv!U+} zVppA>z^N(7oREP0@{3IK>p=9zq1&K%tocG2w|}tfVE#`d0Wj1V?d*Z_=M~+5 zV{xWJ75(hH}v%w86#0DTWJfJ1a2x?dWYe@`nL??_s z0+*nIKLll9PjGsQ@Vw#-ATxs3 z;SM$fMZiEDf}1F+V2|PsD5r!x_g+U4umu!gA}ByBB_lxV&FKB)xydGA{*O&S2G28c z!lt>~k`YN`OI~~K=1mtBGxEY7gGE4#2 zQJgfj>1{8$jXJZB`Z)!BFmJ`9F3Ow$K0qJT!HG=!&<2%3A$%F6yE$C9B*GcP0%|}R z@UR4iE8LOeQN&c>&P=O+t~(B2ZWMQE1)Y^TkW}{q$E-uz7-oaX+7a-FI)D^3fMr)2 zMzL4x(3+?TS|;&=bPBn(5!zhZY}%~6WzmLdQ<6^fhVA@$%`W-#M$1YUIMl^f^9=@Jbb#t?Cnc$FqV%k21`7mzOH_Qm!D2kPSc)RvL83EaAuSa z+F9Bo+Bn6}rxqEWi<$YK!SOZfE8&GU8N6TK^~*PZ1H)jP{f?pU4dv!9hhy4U{QWKq z--Y}z{X5Y4?>EL7vvc>iK~H_y^xjkuzTZHcKIGHywESV22;cezS$}1%-SK2UYyE63 zfGQ)YUQw;+0M2>xqa(fJEy5jR#>wZauOUf4&!qJJlH`3~^cP~g z7Zd#^IzN2Bwy*>D1?~jiup3Mej0?o_^H#WnypP@z-6dM&{Kt|a+}f}A-2!(P+3kMm548v{;nv4w&Ny zANV3kfg4E*98FSSV^9DO{-B|XKj?O{LVI|sd93gOAF}_M;BMiT+?m}EU7KCQU<1Yb z0!$z$P!PZ23ozbU%Ngm6b8K@AK^L6c@tg`UP^kbnY)eR;Fx%e3Lhpep;M2d5z+LPD z0_NoAW2TX&3Z~3(f@a_pCg2sePZ&wEjaK+-I0G|a0G_u_Lsr}aFES5I)_21Z$D_}o z{|0uxM>j_|NY_kP7DT-OyrJ);<=)bs*6!DChGR1yUHw??Al!7jDixs_JwhFj_^RB? zrFcqei))K0^+Bu6M=eOAeWkgnIZ6h{e9b7jfkxcrBI%`}ns4f7^!6vH1KZVWxa*hU zAXFO(n%iLes)ZR3c zjsIIte|a*#SDCMwQ(0VaEXP@P!1&1l-@hY_za!QU*1WbNwl=o$uzs$=`p-x2-_}0e zeu(5RHM-yNWPhaK_V3Q^{{rSuBmCa4iy2)3_}&X#=UiVo{Q-LaDef)qOYRTu%-sIf zJU!VF$9le!5j=()q%^yxNL;)g;|?%DS}R?}A)qqZ-%tE{*nu;n590`&o6TUa!0fcG~(V(`COYyduR{(ImKm^}Kpe=6tS?N8+2C-soD(oNrNoPmleNMM@ZJ-|QKfS(oM zuQ;Hr43^zN&zmu5!2o#)-SY0cB0ldxZ~J4S&$5 zFiHloSDNoZtVjuozS`)oGRLqgtU-h=F+f&FX3AMhe>OS zGj7Jsu7oi&j-hLWenK^N-wB1w?7=6Hc3;t8qY8Y2AF~xV%ziLsi|h6JQ2k4$>5aOn zx&fdA)pS9fNtYL-Fq!TxK6*D`+Qe%2vO8Fhzs^DwM$@PWBdH1f*~fKdYG|Wvt!+Y8 zs75_-!^{uYrqI3xLpZ|jZZ7CRTd;xR8Y>e)CU}USr~~&&>$!!d=Qi&>Rlg&*J5-a4 z^sb_yj9tMXH#1p;fKFD$$uowzKb_74%Wsq}Mt52FO_xt!MBfaK??(LNHMdGZ~&%7G8Zz|Zn zjk){xar(2f^J|aO|6%k#xopLh)4$Djox8uFy%@Zo(WHJnX7gW^O!t+JJ2-z=r*fYr z1Gq4^|4uOh$X{#MJaGRIw-wyCCp_@I?g#D^o_rpgrwne9BRs3Yh(CA=;wL|sl;AQj zPP35^e9)IpDnkueC*6_qfC#Q587vQ4pH?^ko{LT%u)zFj5oirhsC2*;$QF3UzMupB z|93b96Y&)``jhz2N^_(J>;i9qEVfZ9!0#U5@BM%LM`RrEtKtqKdxZU0959{{ENcSd z*#PsSWL01E^>l4IR-k)I`S|DY@r7z z%Qo;B~Q&6wUgZNF>Z^zLqg+XJez|B7iW&ce)JvDUworKBcdEOAd33-iv zG(P>g`42Jmr!zTl_!*4H$5m4jvpo0r=k#AQr?GfA{gW&QEw3#R)?&<9v$*?T!}l%9 z>7T63{mJZwxci&iN1*w?1@BLEG-LC37~PK<2G?rmV^qIQQ2pE%Bk+A5kK!Yt+vu)C zD$E-2-`DO;9t%Fv%{*N>{R?mgzv=nz$xWV2H+ZB8xKUO{B_qFkF*%`Ha{i`Dd!(0= z(cjs>+ zjNr`DRiy$HffbyYDd0B}`1dOCvjg~r1HS&@5-K}|%X~oD8zh!JjjRe@0B0!fTP(2${7JZuSP)uZnN!;cL*-VF7Uhi0=vKgpg{(AVv+(E z{7?nn7T1dXK#p^ZPw|i+1d}|%`4~_6e)It0j>q;*Y@5s3BkT`tt4Rv**pk=|TSqXV zrn8>3jAdVy4PC$jw1HNz!2S4FR%avl(zq37U`?aWm;jydauC6~+=~%(0(T924U193 zc7QGHAz3g4bnrAY^fY}heI5LA3h7hp->_HP55hj3GuM^LpcdP9NoUb%bh&leb)jGd z->3yowAZ!g*vIdMk+YdvAkPXj;1>)gb+d)GCX>63P9Pbbz%|Vw&h&gX1%25QGyoSU zu94s#A&9`kGXPpxnO$OYFoQ9memmg%e1z{4g`2@>x{e3v`-+45Eg``(38%lJzPo-7 zoBpTx`PrCj`t$EOVu&+j6hxs8c;8Cl3}}Bg)V+1-gyt~w-!djfFHsiEZ>njJ>8UBB z*@?r~aPubEe(5;<%`MX`hb(U_d95X_-SGK3#oV9YR?61dHr=+{_88R9h~lRmnN1t* zm+XnrYSeX%cI-m+8}2NJlKX%&nOH;|CLUt%R~WVT9@i(AmP$X;y^*Ou0c`LnPhI-{ zN$`I*)BE3s37o;JgE!g&>^Rn&n$6MzZlYqoaX9;jNyTvrT__!uK1pVOWB+h+z>fP< zL`O$=jGi97E_yRrAX>B#8G0JIw8WkH6?zX|&W-a*-5p29MwtAb|y8 z1*iI50sdhM_xKgiPTs@&fcMsQnK6e%G$#N}cS zbYnTh$4rv_sQ@{t05S9cWvBo$5;z1tfLsCAvWN29QrJ$T4XlDs@DBD)4I2@93AjC;k>YxdANm88Vy`#v;sE`2kDo`a&y)OH&YwZ zku!c-zY_*cKYe2~G$ws!{dasc&ao?436FRfb)Xd;K?NK~gZOG2m=Cg|FG!+$2QGgX z$KA8c2>W0euA?WILlqbZT2P-H4m((3YV8Nj6a0GiE2zLkxQE@D30lD|XrgJ1E}Vk~OE&#(`u^dD)rRwi z&xU+LQT!0bv;DXuq{JPeGG2)@jJu7uIr|03^lWSz#?5~oZ(kKm-%jQk=KbvZv$OH* zfX7!XT;D=q{(ZpwFItnrysm2N1@3wnzE2kTzBTQAVEpg2->@fQJ5$jyz_FIpugs|a zy0E>y=PbzWzXIe>?`p$r_sV60@jH!V*thO%q{LSBv?mQ_*wCPzyEK1Y=DVTL!!DVX`#iVoKY&c0CGmaZ8m{&PFQ?KKrQ@1&8Pxp zHqZsqg6DYpd+Os6o>OrLlhcCBq6>acmpE0)2};Q>a2c*q#qbD!h$^T*w@QRE1;{u+ zE^vUY@Bu2?^WYO4gEp|3ExqjmGin1;gCAIySz6##@yUFE#EQzy0WaaR{|U2IW%`V( z^*nOzN*fCp6B(~^Hl~vy&`2l(BQ_mX;I?7EVL82XcYHBR8qBZ-WMp8ceje=MmUP)p zGDnl^!ItQYl_ESIg~dd9YF-V!sPS=Z|Dc^vOze*rfxe`U?DTX z5axmUOapFhq=F2-VRv{5RA4KNf_X3p#`BEfZ5k-SGHSy?+I>4hYYMjClI}L7LZk<7ML) z@V;oAy#||>m|{&YxcS}WE018`cLjG}jinNd%BAf46I=B-t_`woz~Mi&&4SWrFl?W5 z`26K2rL8G^tmXEj_9ylfj!2RlI^x=L8pls3Tibbf{)UMqaQ!_cW&zcmLIP+m7@v#W z_c{APPjk;u&pdAZgLp)|@}%_U#yPey{*mp$i)N!EU+dk@?eWE{!)szD*puMvNT%Oo zUj+U>Eu~S?a_OM-RLYL$R~Hh2PcsdqkIq9nXdY67!=e*MKV|w~M5b5?e<6Pg|3m4J zw3N!xL@F%hke-qfGL*T(PAW)xltGEm2K|2i{VVX-3J~uP_D`DtnGLWVHo$VlA#@P# zU`bVCMhg8 z9^w036I_4b5gy{YC@vDautCZqKKRiCk2pzH#6&;wKffqrJ&Z0l<)VatS1 z=t65#t6+VFOGP)Fs#D+-IEy*JPIBOB(>%I>!fXVdv+vL!*%Gt&!PWx8GfzTSdup;MomD)5S#;3!I)<(x#h4s_>C zHXvEIh|aE4Qw1`TN0Jc#q33w;Ugp-`4?eIAR>25uH?YAG@upm#(8fv;QMqI9$fwIC<2_2$l>&dJ{m z1K@@Cz4tZGcW*Y>ybmXMAV^?7 zasswFhVq)r=Xh=3g->ubdnD@M9kyXG(sJ7F<4V`wYQrmhmt_ckHQ6n<&1-P4D`C!V zer(!?r%gTF!a_|CjJsgIbTpP{6PC{SmT6!I`1oLXEc7dIZVng0zA_u;87NQ_ zljYYFb--O}Kz=DoszFCT6+Gapq{sEAGkSs9{-ypE{v}j{>EsFa1SKfS{U73g!2Q1h zf1yrNHF5$Xq}RTEWCS()!3UCefxj!j-)r8_9^h96kduSsD}bCDEPI2T_@NA52P1GM zjKBf(0FC&L73TYwm+#~^zN;6NjDXpSFF-@M04`8~wB8S(y@!;PfDT~5X4n9a+17rgS*i2SfRc8U`8yG<&9o6YO-`Nk?$KgDov42E| zG6F_=KGFg|3MqUpW7NF@+9saHhmNQY|zT&O#Url z_#bB9mkUgzlQ2g(in=E+%HEE~shs{-aQq5$`loaAzcyt>FIf+k-wN{y^E-2HOA$*e zzFIpi4=kZpyR{zP-fQ9cCPi&oj;Viv?IeAF0lb)65@} z{N`lq-`=^zdBd4itW37UMKPvBC(Hb%Bj=1_<)~%!4z?XYV820r&oe3s8!z(7fJM zuz{|^2VCs=6ID=rPRL#Nc6vlPEi}x12akwBuBw3HU&IsakUE0{&-y|l2}eN2edUu!wPt8 z+F_cELZFx_zbPR#U<-Xf5B35Qh(HSC3(_yQ_WfoW_B`%(p(ky%t#TLHE}VK#+6tp|j_$G)HpA8pL%hjRCCVDI-#8>$nS zF?yl%yM(826r0M$?EKT?>ebD#Lh=YggnT$R<|A}CJ&&cu#m|AlBk8t`U z%*D*D*pY5mZhnKM3OedVAbuY$`PlY#BGq$`^{F)z`u+yCKk@gv!meM7#;+${3QLeKCM)Mcs`Kq5GZGb zb)<4v#3S59Qdk-)z(afiWJSPK?;sf7wZQ=`Xo8Z#29oo_<(!bFFhC-p za=25wZz%3S6EuoD#^9A)56=V*Lobj~l1BaTV*o@PfP(n4m~Ti_Cwg4EF2 zw&rkxzF7}gN8(cvZoO++iC1XAlHPKQIiNq>RyFM43n<)&qZE!ddg(si9FO<>2B%lIM*bu~$&$AwOv0Md)aKm@h zwuddyjN85mKQ?7TXb+oc2)N;5?Kb*`$MpUM*fz96?Xy*PAI5JHx{%dO|JlGP1{gLO z9>MW1Meo0ui6#Whza~4+O>Fy8n?yGKW2k)(x%-QnTchpWZ+?QahuhK+*2FrTeUgCq zRk!xHE{Em&-C7W5Z+Y9dPucca?R8*Xtia#*qdnXqp~>oxHgmV*s^haGlT+&~0q!@N zUF|(*9 zCY_VslOv$=yZq50gGKxjsUT{9nExdSV@srgQbW#vq?AVb;Jf47?_1;>!XBWAPfuD% z*l!fzAA5kGGr-RZ@a8WSK-L7rSAb*x#t0nsgArJP3SeZGOB3~xUCwDLz%uV-_}#KY zaA7n-+3^RA#{s9K325Lc?8yro;Iez2dl>hHnWUf#uBEPSuClJYu6N>5Sfm|6lyi%5 za017n3oxM!I^~#wI@pa*=wNM_I$%RoyxOJ2)M z^DgsvysV?lnb-&%0R!s`8sIi%H+{kPYAZ8xKTz_LMiY5LiH(ognQszi3d7*c*A|My z7s@Im5bha{vL6@?SD+ePfxNhjJw#)>0gs(t`i5-c?D~A<56PXt1^5CRmLwA^WOcMR)={E}T1Lj4qMy4Jy=F z(B?h#oKNWjEWSFvzSMxNV1jYJG~DaurH;~cZu&dYHz}Pz7oC4ze->{4g#PE!8Tf-^ zr8Y1L4LAb4rvKl?`5ytlusV5Rkt78EW(5EJ{+B=U_X-fN3X+pTWN(n472p7Tpcwpt zWKQr1DuC<_PyzHtz!@MFy5OHVK@+@va0ssI^^+8q$@|@NALhqeI3V3Uwa^8Idp^6* z;t(kFfpqQ!?lTG>s5ssLukeqU#p|l1m`8jEw`8)jF`K4j&hw7>ID|x#7JKo|+NEteASj&#EC+eCY(}0W%p2u5c z7P`9@C~%_C6lT^Z0uzvt!CkNi7cs4mV?)qO*N&N>CcS{49f4d0QZWy_(LSUXkhg?; zxaBvoDck^eD28c&3!K6O_<3KVTlk<&4UQnr<+82-EL_dxs%>|VM$X2SHj;Yh$n*26s3g`0l~ z-<5luewA1W*3WS4tGf_w?1L8tCBbe4z%Mq!&2DEALxW9)3qN-$45K7~ch@ z56CZhr8>;{tE3~+P3bxM;m6W-(1BCZei%R#!T&0P8Kmd@pCxl-27h{I{=PCk2URBn zT!7y*z(3W1Ulrgd8z7D;;IEp1b2tRbSwZo9AUQEub_Z#LH$XX*!G@@uQ7M%QAm@cI z!WpEOw+TECFWx}u6jh*%1CGTVs0y2aEGUCx-3vjBE5HZ(0v~9WtDP(8%I10@9v~~I zgIFAYkPrAuOn0_&x}BlUt9S(UaFldpS6G3Am{IfEU$Uth%r+pq?H=2JPF4?C;CYaM zwxkEAx7@*Q*RQVKDA9d@|_a`cDSQ{3e);4UCi6`n@vd zHj=nZJpo!)~=8tBzrLtuJT#1X8L{=S4pMHF`E?Psl`|B|EZ?fICr3P1# zc|Hr-^gn0nw}QI%WYd4p@c@;N3Xh+rurp`j^K%ikPg+qYmSR$y59c>OERI#KIF}Wt zmmBUV^nLd|TDX1l(T7HG_fOz8^DZi<&*>{iAKsIhehH}DdeFTCoX;Cze3#(;#rh7x z{h9CU<*Q6*kdZ#%Ix4gaO5F$};kSyf9W`Jkzvi0nIjCTADId3dXEc8c$rW8KEubfu zDotVgH&|*XRRRCYB)#;Vz-x4ZuMfYsAyp@+BnGA>9sKtm;D1^H;#EQSf2e}aQJ0S@ zF2Nh&1kY1A!M#WelsUmZ5S|>Q1iV!=0h`zbj`H?^k1Cq3)Fx zJ~ORHt?y9xmb3MN>2ukZ6yN1qFs)ZH^}lE8kAmYn0L1T@T(lW~EY_|m+IN{y>eQThY9 z2FwE!JVnj84=xyv`)>`Yh15Z63+t!8R2S^8o>Ue7k052l59E|@t#ba`aQ|1qAJD}N zkma{K&_7}T|2_r$H81ejE>KPik#~Xnnb0ev;kGD1*|Vo zvX7(Vb)XQs3DbQ%7EtmyFW`ShFQ)<9Q!(^O=>QMu9h79lp@4&@f2PbbJr?VD30heA2Unm_D!3W(_ z-7VdD>cDQ;gG-s>$FM8xh@PM(dxF9`2iSfgT^`PRII}?nHK8Dt!NR>?0tB%Uzj6q* zV>9^T3$TAP4u8E!^g5+aWUw%cOho7Z&0xjtXeOKgWcZ-B#?|w@F$LIP3nraoDx@tFogcU2?#(LpWkO@50H)y;I}i#KXm|q#R1|yLgN!de^vll6(q9(4l6$4 z@p*x=DxjO<4^)zz05zQ8BvCKv{f>Co!|@yr%exL*4;cqcKw4-l{x6eo2B-@oI1f1B zH8ugVH$VVB&@&w4Cb*hV0n)o3peCItwq_R~PXWiB^TC};;uQMAv4hO8h7OY>vEwwX z^cHr}p3Hs$wt6d@+ZJLwNmgwm@U29ohc2{qMI)F8zpz;IQj)D2;d7hcoD?)*uW2qx zVvTXaQNs{=tJHwG^Z_mD13X3*Zi3%P$ULo}f&+wR@N1puhmxQoj0F#vh^t6lwu44P zHbY{=QxJijbOICg1MuIkr!Rw!$VNAi9iNee`cItS`%LhsnF}`24@}jK03&P*+Z{VJ0+(sdU1S5Z*#d zVK!ULl$`&zc%WS|rbYYE(XULf^BGMBl6qKc{~b>fZCP{IcNBUK54?H2VH)q0fE3aL#90&U^=W zJ$-lvN+U=Fng`EsjMSTt7o{io;5*8k(1@8K%=ebW%FpZy(!=Dp_(ZBeabI0u7vE^A z#3oq&H+?VYCsK3bb4j_SoKkjf{^Zg}(8AmF8Zo}P_zU!4msp4D5d;H}JAmI9z(1e< zzxDt>`9Qxaz%N~3d#Y8S9C2}vBqw#_1Up=5UH5R4nLq_7!Y<&W^Q3bj z3G=0#d2tIr;F#!W;&3`rIxdhL+L1iEFtS6J+q&Bdg9To*F2*a&Zw+G(*kl=Qsf%A& zYVyN&nP=l1T$7!Ej0RkTAvg z*@PVI1@6MUSpiF^2Y5g!{5JC&(%>v|Pk#b*ZVAfV0s78lkyWP-NYnup{-c?g3%={# zaF(xfqW9|7a<=6BKI z8Br{?Gc3f{Bnh)gb6Ecugw*sc9gT~O*No}uYP#d=dE1l@21Hx_#iz{Q%zC&{Bk}Zp zZOLP;Y#m6t>UC=>kiYs&PP@qS4TtU19ghD6dvfY(O<32fxclEZvVy$UarSi1B(e3n z^NTY(h<_!qJ)RAV#l7NH@g2M$2X0OiT~}cJHvrFl>$br3Jm-mm^OFW-crAOrLUi6E zeS5j7^K(xJVD(mIL)R6Yej#Yx7M^YJb`GN6JEP!t)A(FjRQxaD0QT~g;=cYuYV~`N zz~o?q;l2o-0(9~f(fALgtJnZ?aL#uN)xbOIKw>Egyq|Zl2haPCgZ{7P{vSd2(TbW; z-dC84qW0w=FYvb}_mmkK)gek>=8JK3eXH4m+TKzkgTwTQP0Q; z`I#2lnq8pZtAY+F1srYiJ@D? zvG7X^Qvp6WPdFFgG*=E@@Ozjj(;cl~rG+_eu&M6B>o*7bz>T&6wz9Tx@`E>kaFw&> zv%Vw8Vm7RRl9v29hhN4wbh5dNxe7VA*>Dd%Z`y2{M*3X?YJf(W1>!Nmp>)&LjL}9t zHQ*~g8i&CIC*m(&pWUEY$S!=rTlb)06@5To?&3;laRmH^QyAW{oj;CtU?sfaktFbT z);C90TwY%c<&Fi9{s<<6WXfc4mA-x-ejY2q38!<{Pk==<85Y4j_6O^9+n5?I>mKU9 z=t4>Li9+++hE%T=bpIdpc}O_u&R+7mA+-?2zH%{%UZK>hj>e_NtDOHLxO%UH?=MgP z-OWqP7vTFkEzM9$9=3e32-aFK{WmF$pJ+T)X4sCg_0!s`lD@bBPyZ}rF}4Bo-|u*a zueSwn_AcE0TT%IZ;`F=3YE1p((E1$_@4)!a;CMQSCs!(sRfH+ z@f4N9q*K1J+}mop^=G{L;y@C<&o`;`W}HH_(*+`;KIJ>_=DE;o4GobZpM-@D6Nyyiuo^>o~zOSsgsg%9&R5;Jx&uVW7w|b8~ z&YmCNl|D@V7afUkV=E2nHy%CK8NB_oiZ-~u9mO%?YB(Bq;rxa39V!E2JJPiVr_YRR za_7VR^}zAi3j$CdXE+V7iOW$1e1C8XFOvINoSS_Def|P`IyR%~Im_8k?vLHe&`SB>X|4Q5i`||l(-2KIU62Dpts*qJV|G#$t|9>jLE2RQF`B4F`D2%{= zuK+S5uoGD!l}QV;QUSuq33!CMb0^AR*&(z!sIUu0aESM*=LDLdNuF+S0elJya2-bQ zG&TX{+!`{&ukeZ*jFXJXmBMushRGNv&Y+k}!2#qcpu97`^CJ~t4#}Z~Ne_RZIE7Wm zpYoIKC|F=)c!7y<37BVXXDy6RKpfsyGwA}#p?OVZc|^vgj0QAEDWoG$^ttI2CuS;r zKwWA;AyZ0JgJ;Obokb03Nm8bdSs;wPz!hPyuuQ1|^{4>`A&c2>7;5!=qJNio?_Iq$1U9O)AJ}?vvuN~WhYWh-4^mb)7$gEEZTKJvw{t0id z?`-;0qB6)qjWC1xSE7UH4dZB~{;>Y8J~6X~oa;4??f-Mwf2B$ET#e#CBQ9Uv@H@C| z%w#Ib`QL1MZpx3t&k**XkJ0)S0|!~m?k^eWUo*H;hw%0*WUGRw|9aak{5`yQ`%Gu= z_mNDGn&7K3@O;CZHhTYo&c*P2pE*NuX_V)Fx${3HKE&fU0vG3UuBP~X%*XNLu`4sG z?umH(8)10tW&==y$uBYY!S<+hzN+|qpMkp*&CEZWo__~Aol|V=A4^F%^&Wo}e{ER2 zRs7}rWl-`)`E~wG)PP&`2cu#8gh(+kcpco>50zKlDRxljsVg_=M&sZTg~KT*Pan`1 z|ByNK`&&@`$j>g&f#tp_Z2y{oKL+UhjralOz`I+fBUGrozG3vn-E`(y}sqv(71AV{%SoM{u0R@byjBls`yYbZ=Lm$u(mvPg- z6axow7+lD1U?|97Q$tm-K{reRxeg>Xe9^z6Be<+Tso#tHs9XugQ3-m|(>G#gAWsJp z+kHFd-2z@9^0UIEmsQr+*SF&AkI~NuS2(VJ%;^tD_ge?`KbM)tF;uv~-p7iDb)CRJt(6{77ujb}IC*7mxPXuqz0+YWD z4qgNOeNpqY^f!djUj{eNg8tP0*B}Cm*zSc(hdJF6r}nYJ5k3S5QyrHkFZ#XA@0r&nIp5@eoadiKU=@I;3hidpg;h=x%m>zzg|NqnZ|ECHNuL}5? z7Iyw$e4tG~7=f}+a0gTYvMwlI74Qj8@G1B}3*iHGhYe5?O+a?|fVVvRJc~TT|Ahj) zbRTDa{1a7Bz#ZZKh?-S#3!UQNWe4ePUe7yDBROqpRxa*ZRv^j)ro7^7rgJb;e*o?_rNG~UUM=W z1WzclKsQwLk}01l#PrY@%c+`94QR%0(4+7J-oO*wtIPu3gg?Lpt?UI-p&h(uILA(Y z3m${B;SBf3ZL|@tyrnp?X7~bm&=90RPx$&rC6If9Rh;ap%=JS!<=vPN+VQjn=j%e3 zFqo-fGEP4$IQy}n3h!|FEnx6+`n!Pr?=?I$WMC`Vki?@M!b`F}%Hj33*7%5IkJ9Wl zV%YxYLXcOljwH>&cEJPn^|cijQ>pFrycF{?5FYeGQsvA z%ZBBdBf?o6jo(b?9^C!HM59=N-hYC)0iTZ-Vp_f{#a)fa_nyYAb{ySbh+FM0kI(;R zcM|enS9?BryktWjg8|Tz+d2=o^E&W9v-Ag(|3dJ-6ViRyyJ_kD9o+lfaPXhYGuuCz z41o6jCg^+v%mi8S^t~mmm-?aRzYgAC5)I#T?ta;oavLh4ecV51ajJU&Lm&jle?7N+ zRs8?EF%OIcIT*{2{pcO)P#dDS{R{eX(fenl`%n2>3;Z8B0Dr9ufA0Z)R)AkV;qm@J zo1#|H1IUSias_DkuL_Vl>I0nM5I3&vnmEcEtmJpa98n2|olM zZ~!=<*PYeVfrh;xbj{X5-uRQ!=mqCw?APX3QTnQfOudz8i!Cb!!tYE!#qd!MK4bO7O=l>hJw_du5AB~;`&j5|FglM7Ekf} zsmS@?#Q86v-2eN`AIvIC4Q2axhx^}8j#B*j7dZbTz)POM`7grxpRb&MvvU4-!TO0n z=hGR!-%)2Av%goYEA~d2v0c2u|X|@fmONvbFe{3M<0J({I86_pP8Zka0-_zKtRz2 zr6e)`10Se^w=T*M9gN_2ctUL>C7?G>F+TjE6Tt@BjbC&xcTF|{>0kpK1X=FN zl&Nwhc3mS`Y7FV}(f9P*%;WZ&Sz9zNs_})RXmwf(*asFSJ^1yiOyI|HUx>5^?|6gWq-b-pFn*H5<35OFEE z{}UKLYHt6gt|8Rt-SGb3k?|Mljt2kl&-uUVPLIp~22U8gucc`I4e-NvMP(Hz-J6cAqlu7ktGSAcy=V&DokK2wye0J#UKh*P+LDj-GF8#uv- zNei5X8$>(U0MU3rhIwDH3E1eF%Eq{c$BicF3$LCn@Bura2{5|TkQK6*4C&6G%!OQu z{#60|_yoR27cdJ}T1gTE-ckW(QUQwM78++i2$IzX6hJpv&RP+KfP!4wHJXRG-(hC?#;K)V}X;O9suTbgU#-Z~#wO}W1eM=3q z=n96SCu)noKuu~v3ATqGSOg|giw$fL1m*^Iwr{gdOI$od4=<|F?1eGjsmiDd#`F z{~tlF&tvX?x&NOF_b-7%Ab)M7W4q(2BZsr7vje$)$DD7Rx!_L3Be~;CGV>4M{BQIh^q==%=Q&0#nCTykzeh{beS_eEsr}bL0_wx;*#noz z$^HF+>0id4w$lR~L@{`VuHYtr&vRFBv*hVibtTF8Z1|Ucx9lB1Ni9yB2Wdqh7ouOKF|#B5OM;l;Q(6@ zO~7-{DO7>uJe@q1f8c-@-5W@YZws2Fb0>G-BQIZxOXjN zcQ_7@fxc9OPSk@IIC?gtLukWI-xVja0eo&Oox^>t1uPi z?{y)uQA1DC1NQGJ<5#23R1@E`?WUKeLi97kIsb3y|Esb8++ulX$wK{W&H0a2@V^@9 z{x;hl*)rIR^7WcykF|fZYr+4Ak-+i*cVEA=t#byQ)*Cke0cNkUpfH!f{&JG>QOnhX z*?&8?e|+y>#@&eNe+ntz*U0*?;q|}NlYlzEnhC%UKm7k=?<~No+`4^lC$=ai0(Jo_ z-gkA{iQV1Z-QC^Y-QC@}?G9{3#TE?k{^ne;b$@a0{m$LzoNqsey&jYehzM(rImUnd z;}9&sW?%p>9GRU~82XdI0K=WB<^5k8#IHL(Uh7EzyWx85df|G`@5k`?n#d&3gX&Ph zrFCU;J*IDH4HkF~-Jpwm{0->eS)O$V=>$$nH1H<-!AFuWEO-L(nemf@^rfOBNW-t< zW9Nm>rWBBzgeh4v>Q$;DhZBJK>EeLj)V3 z23cWZ7Z_$eYh7<0k2g>itH$b$L+C|PBPPHIE=^aNkhGw^<{8{JWzBi;2)jvc@OXMr zn<*0>LC4SrcIKYSiBH%mi35}|SPlLB-+en3xWVG9UO+4bs3P zjwGe;5uN;H`hvsw4Q+!>w1$eX9M_T6c#v%m+!c6;I<EF*NWg{{GRN{LHwMnArNY zz_)BR`h@Fv{$+=w&;sX=&9HyGm{*!d&)j(ajMnYaJ>~v)bN?^o z{C@@iuL(l3o&G;P9>1N`1!Q`EWB*qZ-}P;VhwT5X;Q!N&hm7IIEPTIP@qOO``u_^t@$JC>7jWyJ!Q1n#D*~V2M|1%jN%k6pyLSs$W%>jk*DH31 zot*icH^B8OaHD_b#=i^??HC=vY3`t_+(q|!M!rC``VKtcD+xF8IO~b11fG`!vhR-< z*Zcnqx4)+%{A(3p$uCntwU`Q!jI^LTxIwMQ9b^c;aFuX`^~D?HDLEml_QdL!CV@DkZ7KPn@pojjd7kzZ+ZzjJm8Aw`)I?GPjs~v@o=UzzOYU9=H*n_Q#KG@_ z9-+X(JZ9aP2Tf?P0(MQ`9kPH{3A#ow6|!ol>P zGAo1zKIXOXz|Tzi@p*4rJ}Q9PVGMFoOKS6(`hxne2s%izXGBnDGLLJs`&&#^624z< z>HBp`6N%4%9qm}uKX0}Ex+>ruyL68^|1QqI*#CXi=U1xX`mu#v&$KxFx0Cz-2sJ-$ ztHW^ldw|=A8JDjqFn^yJ)0wQMX6*jA^4*Vu@$csR4`up4ZGL0UK%!Gkm>c5sAGh3t z0hk3erxm;1Ed{ zot{8c0KpJ?!)EZ4{R`TGsDJs{{*Q0L|J`r>`wAd9fiKy>{%sGijVVBAgU82g13f)J zcCrHAqY4leUN?EHDU;P;Jt+^}&9ygc9H(@FeICb>I}6xoxm>R)W#b zLqRYdr;aIj4UT1J-yg@p)>H#g3rc|Gsj!L*<3#MwwBXB&A1A&DZ?oV^SO)!JT{ev! zIQPR~A1$D|9N_am4~iF@4c%`we1E3GRJcj^pPMeF7hmTklD!MF{~OKue}&^`Wn7WA zN&HXX|8tmxzL4-!1-7&}|6Ztn+TpBtoK)|;@c#y*vcAvxw-{S<{tp_TlI^R2|Boc6 zHfdQ_--TQ*;KIxy|T?yUMu6N7<2S5YIy1KFv zw8IHVfye(&7{of~GdRU{;qxSh8GM(W;6)x+sRiQvKZF_df@fwp%At?o0ip(cV4u`>`JPxxjILO)E9kd0yV7&{Ubg_@BayjS$DIf7rCKN=WP>a()5lrGd34a-+ z-~TXh%bS|S+8}KM?*Dz9|D3vtx&fda583|<{?8m76FdR!lah^TEA}QQ)%R)u z`5uD|8@d0}8g0h5^#2Ep&$<5%^8BwfT`+xu^>2fnJsi)r-^`!P+3C{S!ra;o^7qB! z!wgrE>3<|0-C53mK^PxPY_DvJeF*2%7lzI%Fn|K^0A|SZ{|^3des=veUCp`Wr;+7z z3|IgAu5eeRE7}!B1-OUD|4P?LR~tP36<0P_Jl7-Vc5;68RDgvz0tABQzvIN;q6S>& z*SpLFkGPXO=l`v&01@^`W&uwHh&%uP`Sbr13H(M)6{(@IoWP$wz^@e`b_(z$hYL=i zFAhN;Vk*E?=?+p3Hh?#5fZOZ>=UMy19&z9gn85nba*$nMKYB|AUEo{pnl*5O8}r=r zAvgFmKB2wwpeSTYXu6LweKOD05>$XshV%G@^(Hw?RDknrwR=$ka?=A`L+Lsa#hY2l zq`YSWUWW?4Jvo9JeI^pcAFvhNKnms{(10qWVf!-+h#GJ}y8;xgGqbdcV(6RZp5_3m zLD2`4L^&+_fCr>&Zo@xd5}iN?GWS9_l?n>tfM6f`fs}LvQ9&Pr-h

      r6Pp$YdClJ zV|s)u?Cy_}O0Bl>rw z`M52TG(0|Z-=4qIu4Tjk%-ifCg43cZCRxjFe!SSiD>duvdtgK z4&aXSwe;{SfRATg$pW13+QoUl0t)cP^@R!$?fT%l%UhO$1UA6uGp{R+E7ExrB(N(} zz$5s5&Cmv<0SS1@y?=+tJv>7mGZlm}0ff_Yhz{Uy&wpG8@Sm>%u{}U+1&DPD7P;Y` zZJ?+CN9X}Oy8wX%3Pw;1nHQqNDcFMq9z_)}1x8>K_&`N%8El`(3fsjluy@QZP&fnZ z15xflUZB_ozBHd?;v5X`#9+=~ekC1(x|%AO@|fb8ZWy;1$Ky{`Ojdy3r~rMa0C{i> zKSu=+Q$TKd08s%(!3eP978U^(xRn&a?)sW|hWViqdZoKU8qO*vf&Op| zh@klN6h55$Kp05HgR4+yI)Oe+VFKBUR^e4}QjI^ee7r0=8d}DWEDje`DzOcfkX=Nxsh;*Ei;X2zr1} zHUkUU1XQ8}$O20k(E|HU2Pig5#Z0WHX-$N?ir^Z- z?CApzf(MLdFHlJvjHB=;sT`h*(xw?TpeTER1e!OXf@g#GQ3V##3k)Y~q%(}c#<+4< zhn-snzi}6xfs4~yjMt0tniC^$czLN>bjw85!3;|YU*(A!7j=$C-kle1sU6r2N3 zq9U-4+j$hY} z(Z<~Hf12aC({!XO-e_~08qeEls2-*9;wx;2yS`yXQ zG_t_?^fG1p6=>WpO0p2qQ zL@*891_ziy(nndi0I6N?Q4Vf!4#7zvo%1Su|HkwHY2gKWuqbi+i|+q52;e)30mj|` z|M~m=AN|Q+D?lXp%C9}Z&k7LB2wEap!9&mniqyc;qz3xq75*7Mz%h`(sq_GiB_mMq zfv(7`ux{KUdTS=~La*QwKGD)ns)7=b6tJJ?U3Z+q3y~OhpMBH>*Z_7i!#?5=v>JcP zrbfFlE89R(0eZz$fLI(LH@P9#luh_uwp84TzYa2}S7|DOoo%A%7a;tRO;9vg z$CdVke)S{ncm6_@zB`#ZuF-cy1SivE(*$XXqgm(yUuh%GUoSPO_zElI zb1(<~e>nO-x2^+xrxUtQWPViA_s1XQnoRj^q)b$fE8mo&=zr&_m(`>OGcN0M`R+v< zbjIe!ne10y8Z(0a3-<4P(=pSl81_#u+*;3(^X+SKp!@A^nE~@Z)RKbxzX>@nTdlX) z{s-7f)7|xE+jEd)h|KuI4QC6G9ao=4xc7O10``a7|J0cr&2JG`FjTz|aQ=R-MXrM& z{}0&%JO>GQ$dobjD!(D>AY;g{O+g&Y3`lR#|u zFQ)$wJU=6tR%7S?I0Wz?o#=n{ZU4Li2(R#;oWOl}g?o^|i6B5dr~tL`gj7%mrzR~R z6h_cSb^-ll1t<(7@SXJn{$NwkkX5njNDKUcqHH~?Ah8SdWfO3lUEox1pYkvQ1sh&hBK;y2;@6(|CP~tPaDN7rm+{Lc#T6?E0p1H7T@`l$^RPQhXq;Hdz! zWnxfIJc8=r5@x_7D6Rb)%AnIR6`%>XMG^dg-oXgmgiClQwn)L&w73JEv#hm@AS=je z$&N1Ys@w&(!*$Zn{7voxhnnh`w5HUiCva8fp$x2vZ%sPmD?DrjE4Vbn|&mVg9? z;1Cc`y+s9>NChaZ_z7=duI?s%!~(R*sR5VC*jxlpup9mXm2lq=rWeS7g7|yzyWnT^=Xa?E=ee(s z;xoDnUx6LL+o=jWg%GrJoK0_*$P`DTf2dR^=HC;EE)yA0p#dZ)j&&0s5Do>3^_sH%{NaxG;A|_j>~7 ze^NMD#my}^{maY;;Ql4D1X=2^r(Mg>=q2c%uhoT~a~7MwSJsTo{!LJP?E>wMU;|j# z9>V#bPX`cTH{!>&7k|D0n1G9&577bUWBwOOJ|)opHYVF|v1`Aa0q(kfgA;Jnb)HS& zb^3yNpa7*&4ZmP}FbfQ@3VVQbqiE$oWfQO$Hb6H# z!ipG^8=s(KpFw_2aX5jWr~r%9-fCsFpc-GjqijPP)D{H1AdG-;wgHU4R{MCcnDYF>2v~J za1*OcKd#~`mPRKb_boxIZR#|C20x@%>0@Er_RcL)2W$NPPZm z^#j%EKyP;l4Ujk45G9!XdgBvy0F=m^J-`gv0hB=7yVv=_nGLnCi3z|(A5aFQzaP86 zHJtp5Faq~+?{7mDwBNOpx-b;Ba3EX2OSlO2bJimX#2>%EEBFAmz#B9Re1NZX{oy>` zO7vfx|H!!h|4+sMJ$2%b6(9nn)l&gHE@8JNE5nl(@M{I=g;#JrdwIJRui#9$ggvue zASq@Zyk;}I60#E`AHS+q1b3|S2CVFil{P=y5H#AJuSY*FlOOruGuNvw&-j1a|1{=rK$_}xd& zbvV`G858|u&Uq-c;SROo4zE7}Q+UHieC5th!L}hMpG!x!cUjJUOA?L7;#{T?y( zzbH+5ZGO^DYO%2#t6fR*#}nND^1*Lz$6jM68^C1xKoGzoY(H;-04O*mEmCg604~q@ zKgj*BGqmRZe`4@6)`44n)0hd}|1ccCuEG1sZnm)Z6TJUD=38w3ywLoYwsa-&^MWP9 zk^?{ICV2lY!~N@tHMuPihIc>PGOGJ~G(Zlp-1zhU9 z#0-!DC!oTx0Tt>%3HSgVm;)xbmT>krp$u5*T8=V!xoZlkzs;!;-gE%FQ4%)C>Ax^Z zf6tf!Mx*@?BHt$=6+j?T;`|E+VBGotS8nxx?PGtf0D=+lk=iSI0FfK&Ne#Tn6mU!? z1_^(Fx%2?Txd+;j7Z5^TKtX$EoI=BFm+2E1!U}GQKS&_EfDhJ7vIpo)4NkqL!&HFO*QMsri z8s>}A^cM{{`#tD3rm*kZLdy3I%?r&BPJceMOVy}K!>CR>z$-p#)8TYb8Fu3o&i^eO z0P|Dfdh3@-4M09v(UaH!Bv(tTBT-H!Fj(PEY$ofkD13?)IDh0r_p`!u-INIZRY_7l zhp>U!NeA{0&2O-!EXeE_e4Cz=`DwD&3@m#w}`DgxBn!5syE00%SQ5VJ(A)E z;102d2_OtNe;io*-`czJe3f310AMb^;5~1J2^~ zkDxBpr9Sw(zB6P{E2sdI?IXAeL}rjk4J%4wNMd_9+2MO_i*b!@ z11mTfKEOwI0Ujiq|Jn!XvZ}JwQgu2U-aSrJ>mj8{j3#^gMj2g;Th22wTDI zT94d{^rQux0tXzxR$FICgG<;6bguo>8fvhbLVbew^<1SlXTYFjQ=-|49o4Tw9nc$Q zU4&^&jB|T_R0nqi!DAxjpCt%8)7|_(2gk2%XTb)6M`9Y=ft;TN?=SmP-2_ z_q}`gh#cf(uE1M#9Q{CFX7moQh8l8fR|6#|%PB5FO1F!xy^V)OW7a6t1}!tahL=EI zigMly^Q(pq!mP3K(PgM3waNDF$fj>7X#ZU5%yuxp8~A-h(fQ}Y!Jq<}Uwz3t*+Ay+ zBW;v6J8Y(!bT6~0Vz+hCy1dLdo!EOG!~@ue31~1H;4g|*?N6do63~*Nh9idfXn*>_ z{EsqPP5sGX_-ayM{0^h<-_F^80q&O$b!Lb}{JdQ0qaGTFAe{rKRFRIcm^DRr5nK>poF6j9(}1%0}RCv^dd=q4{-%~+CrP@ywW>q{U&#tEkP4ts0p8F9tmHnbj}K*f zD!^gWY_bB1lTG!GO~4{>z-q=oV+!L_@+)Vf3aDf#LSDc#97047P)pUSsc{THsw`Fp z;DqB;{FKCCf#*R2=8z)RmM+;%ubfkM0nhObIst=z2~%`Gu(WEj3-Hk;WG8R~j?Ef! zHU_Y7uSdp^6;ILZI14Axe$+gn8#n`7Xp3g0W+CXnM6~(C@aOMEU(f-rUMp_#Ca`uy zRjAL&u1RgEsj0zBO}s~{;pI`Cm#Xv+wfUH)e0&E@ce;wv%oua2E!(Lv=czR>;rpis ziBQ@4H_&!Rxv&K0-xYTMDRg;2{~PjEFJPx}Ul)%ZM+vqalk~f(cWK~4b%q%ou4qsI z?o#7({wL!6pN{E&n(-o=zZzt)+%$QcYp``WhSN_3U4LFU*=0dvdf?c4jIDnn65Xp< z`=Q`C!s-8P&4SZ=8@OFt@qD>&`-c9{LATd~yMI2akkvd3&eIu^KGkn(5WdewV2^Hv zZn~TU>f))Zk}sGJAHf%#v;*3;+F5uC_tdsPcPFYq5J^Lszy_nx;y;8hbehbeoth2I z>PtAgvpK;NH4~@@Be}^3bEXHC<> zZ=4*H4rtjW!p|q~c8e9kfG0{x-7t3)Ozb`@0D2zZSY7y2bP`4@v*b!})Iw z_jwEarv$hF2?XGw5`c5!I{5!K!&q{Ea*(>d7VN(;32d8j{0KsOwa)z9>|+VUov}7u z{~#EDE8%C}w|K$$uYu?9B2=7V-2EB2{i}lIti|)~l`Vl?Ape!{gPK6)-@@77ixdWD?}gcS+<6Fpu;)g-%#UH{iexC@&Sk z$CU~W(0P!99&7+}IwQyrT@SCQCv4ylI)DOreu|tgx!mEjSmfz|Y(l$KeD`#yhT-&0@=Li$)nFbOC*=waE<5 z$Tsk-WtH3oSS*>r0Yn8DN)Mo#Q=6Z{2%O5i>cku1CA+|xxYw5A`~YmXfwBT*Qa_>(-hdNUd!-^sKo)p`kMyVM0%qw4=-ZH#>mV;TE2+W}5)C}4 zTT3TBoO!wt{6L$oD0pB>-B;~n?IpN&8_C<53@X@@3A`RVI5#(PL1uzF=b>0-*e8cyYDf(~0`Bhx(@R5#SCed*`JDYTQlER9 z=fg8@;vBemG$XxZ9Z5aON$qPu9@sQ`dXWdTgZ=(7s=#lkg!l29a0^Q5$_Vb4+!YO0 z@YH#okD5h7KuH`yK9KdXh9vRsqH=3bmRFFpUb(UseF&7Ob=T!3m1QDe$yy6P)qBw)!@w&Ciy= z_5eTmg-n!&Us{w}CU$Uo5`o{Z#yHlv@PKt9MC=W2TUMc{k$IOCIH z3C-j!hj0TAbv{Bhe8G7HAAq^=2kVjf=}pe>CA@{Ek@DAq^l*{!RRqT`FI+wZBK0f! z7kB>u{@ng~Z~0>d`20%+h-C$e+(1zQwom~UvJDyyCfu1Gz>^sgK)3kS_Jq!Hn{5`1 zfF|4}`E1E>2sy!CX&Cz@hczd^}-kUgq`4dljSG(Cv}3AA5v>G+6NCmi(dIThg{?43~R!d>|iO1JQs zo!)a$gvUId@md&_<1K$8fX}a~gv$|L8|MGGFH`R}T^>`8vP&)LG9hFtM00*msaRAJ2XiVz&dqYXm787&+ zx8nCvj5Mb6=F}EDN{m^S9duxKEUztz@oQAL`^Cn8Ashc6R*kKmtv_tvHTXR4=4Tjf z3u5QrfysX`-T!hr|2v%ibfouXWkSzGqDLi12lRleN%Fnnc<=Cr5!?c0?|8Jqv#0~Z zLHBy%{@;w*pb^erJ=hdXp*k$b32;6&p$}f77PkK>WX|t4CW*n!6SW}LeC*wF-$`U|Y$aNS&qhY2PnF5|m zT~IsO13aSwOv1&+$u96CxYioONc1fZ9D+O*V7@v)ZAkisznTEY@MFp{kbpMK0g95H z{Gb>34?W&F!ttfR-Q`^Fboq#(pr#NAvj3@88(x z#pkU_^Fw80X(XIqW4lXxFXC%1(-=~0s@$ZP013&OM_~hXpA)0Cw(my zdaF6+XJ##U-#Rpz-D_GmsyS;@51Kj~I;+C{3BVIL+;N)@VqHwqS8WhLn?u7M&<7MS9$bLf z-Cx}F|Ig3upZT8H8X&&&pP2(Zi~z9>5UjxK_&|8{!CTk`FQNyCtpGJ;a$r8PLw~R} zx?MkFg9s)>%Z%F4q9VeJI zq(mO%Xa5NoFbz4J)!^#XBNw#4V=j8&-$?I$M|N*Ar;k%Z_HR>|{T;dSYvU7OVZRsP z%;5Bb<&&0PKN}g}{?0tkyu4)P?*9yr@F?itOtya=Q36(_|2N?g?oZB7N|*qidE?jH zKW_W~XP)+d^toayK&(f=uN6RS11`lV1Ge$JSjoj* z9~Y~ZxY_#P5O&_MigfG7vIqDfE5HJJfF?L#7a%w2wep*?S(&EvVk20LlaXGDWDYn< zdcahDU(!S?z@81zrvV9gCN)B9IalNG3+PA}P?L;dC;Y&|oVu*+1(K68_Ki~*&KCX- z=->(VgrXamLx(}lhx4-**3WTn|1dWHY2hoonEpH9{u8~}eZ(|fW5e1QtE4}J-`VM|;$GN|=ETBM%cs2F`y%90EPwUq9Wy;?Dm+IOdoW5g#}~Z-4g*>W!1M-Ifcdz=vRg z3%~+v(|w9?G{)PfH5H@_ z7~?>Y#<6_11*rWtf%~5Tg?voiNly14s4IbXsT*kJGQ3T$qW??5{a*~7Lw`IFchlW` z)#pS7&_4$6ffgIc{bw)w^{D~j?w>pv*)DuuTC;gce?+v zj-`%0^8EiGAKV8l-``mfO;0hpfXe9mOVRb`b7pcTq|3kQILof^4E{lv*%;iS>%T>& z&_%~_D##MYNRmOSar(7v|NJ=p8PNkL;q50QR`+dhfipv={M6dJi;o%3jSz3flqKpkicxl z&xVU2fg>dn=uZXk>;gO$pfJf{A5jSJQ5N8h*$N~;#VI5S3ZZNIeN4<_nFH#Ap9kr) zvl0A=U&tBmRiP3bgGQ(;d-i&8ZOhOH7`es^Q3d=tg_(63r~^smRPdIm;I{TMck~`+ zf@ScB$8&xMvbF2UY3{%b-%?hCMpT4ma0%LQyLaHEcLhc4q3!kiqc6PUp*WIEQ+y9@P)Bn1+|5^bA5+EvoMYc8KP zq4gf#Gt)^9E`?jT$PHa#?oVo90rL-3D{D=I;IQR4eI>_gA!#9HjA9#j#jwFJ&d^Ho z0pi04ID|TQu-aTLgEAna`dPWnMr;{QK^;)YTS*Q`rF_!g1ut8}9MF$BAOv1eZnDI_ z%Q@h%ZZrM$bdG8~=# z+AYik3pm9SK?g>{+aF9V=*3y@CeOR)oDYLpG?q#+fsYc83G5fAG3(F6seBc;{!V6# z6WZVC`ybHxf7T|{rKSG}1e2)7^xt2i|3_i}e&GK1N8ePFIyQxDrZ3PzlF*kP9CR7;K{-k?gzX6AD}?D;D4N^1BkR|V?!501!(DL4`*)<+MQeU z@~P?lgK+dvc`k_w(TSjOMl<%jRGzJHHvcOd#*G8?%2! zaK$3r{#oe#Q-l7Al&>hxzIa5%asU2HG=Tqc{fMmrf5ZZXQ=7*n#KQ^Nfigh21y8UK zMIYRnjd2AOBSCltdf^iCl-_a|+JMovjxftqc!7~10Xty^ce4s@fS2{T<)~$$r6&or z1uY3Ix9|!c0V_~LcKAIuSR+mKNv}^}x{NpNKxFK3+ir3HSyt=nQw}961M6kC_7!u@AUI7qACj&;llb z;kv%M&bpS&0<}Qi%F%y2a1t~y6KL2FcR{M4y-m?$fQGq-);_YhXF|_*D(>PJEpzi-VUFfYGbN|Wt*-RgrzqlaxSKb4boXkXFySV3}322h$N01_Q`O1$cvV*eXtYe|m>j?D|{rXieYW7T#~Y80JqtHvgHp{k^#T6M_E= zbxPdn|Bp}Uf8~2)E5IMIK#xA~Hd;_m1rXYxr8opklog7sY z=m+w$EA-)%CeuaBDj@K|lW>T4(#5amWG{n3w1CIFm~+2^^S+7q?O>Czn-hP4$04{z zr$G8I(ed8}V+;dh_^M5SXK5zx{=!TkrNAUx@U@IXzr2kabszsPFPKaQJiuDR09Xvu z`My31Ct$162zT^N{F`%vgzQwafC0WRl)+KWiwWR{sSMozAQD-gT1?i_WHttH`%mZe z-=gpTVe<#I?O>k@tK$}DEgkxsyddy3aQd7DF1LUU-*o(WT2KZ2IgPLB1d}^*JFM*g zLb$Oj!`T}M3UJ)<#1YS#nF^rg)_2nR+vWKWWd6^?WZ=vDk~-fq{jVqerwhBoN^JUz z^I4tL5*Ir^mEJ$MBfISVy_o$IbNk1W_y5nkKW_T}uRQDj_;dfP00Ie!)du|B2VQ^^ zbcpFt=z~QC7$)_>LK{>JR$y*8LGkRbPzN3P-7mBxNI(jS1gyeozJ;|IoPh7Rg>JQs zr%!c~81RN?>^zXGQs(Tqg`Y6ZMH}RX6Z8bH@Ug~5M#Y%c_#CC%eE6<43|d24w1MZ; zHR@QLa4V^bnoUi_KJYy5ICD|RwTwXmlClxJg?G+coP+!08dwSM-~yn53Frdu>wZIF zvl*mq7Tlm=u!Fk7yKSj!%sfzwKD;vS0p(B)h>pO_Tp%#QTwnufK?c5)((^=41ZSAx z4|2vuCD=euu!fiQoc(P~_XoJ?PiW7=?YY40a1G_r9r}kSocuRbktp{4UQGSjm^A|7 zBb4OtY|1<`lA5b@~%#;Om% z09Mff^fKOI0@!Nu2UksF>5Cg$j2Kzk@{kbYKbjs4ISaUSB!)r{m@q37;b6FYfmL z$0zc?`>lVh00If{Yy&*%pzAU{^f20>O)=`g;Zh&m2xUMCyMj-Uw><&dfIDzXH%q4= zk4r#$Tml3qKsW`JBR41+nE?mj1az^Kv*d;sco`(1A8vK|%u(c4ECmZJZ_0r>@G#o8 z)^LKd7~kO%xSYGL9{vECNDjTIZd50!UDRqgV*B9{5KeN?UKD~Oe@6mR;}q}^_q=VK zo{{Ki>#|MP#IS?I*a)0v5?GH;a29=lr~%#S1ln*5H`diBU#KR?KnQi93{}8M70@vg z@_u=&Wk=k$C zcx)NG=qIv*Hx{77u<-e-pipSf>_48lWFxHQtGXAuAG$Q?e~j!go1$)*fy&{W{-r)S zK4>MWapUkrd8+uL1lpn|10TI$u)+e&K<-y!T$jVm4J~IZzMw9v+L3~LJA&6PFujjp^H-88puwrb$hNLJ^Fckj z_a0P-P2l?i2lQqK5X9Z@kn_J5OfV0~fG-n(4;Z1?1c)9$RDcRh8F{$zGt%#;;vr6c zQknH9&c47M{@DA+-TwdGC;#W)_tPc7;}#g39p>2w3a2o^3l`d-d1!+?>cD2~kW1N( z_5$n!laLz{ilTHIyueYQ&Q-ynvXC5fhkeu>Jm+iT7@UFZz%!O*B+=GDsg?v*&=!dV z=p+)b87G?>rh=yLV1b_O@BrgCu)uXB-ZnAV4cTxDzpieF1=B;V%{`b$O{IQNZYhVs z#wLIS)R9PlH*>&C{Z+Q-E8zw8;UrZiRimKZ2X5d;m_e7A1a{&cDiA@@2Mj=a-&r5KolZmGc_q@N8<$oCrF9j9pzATl)BH^s{q&2k^+?jOKKo2df{% zEKrlqU-ax1K?oYjUEo-Dc!CEU?npq&cL4Xk%K3MI1Ze31a`EuxbNRplisyX67H};H zU~49TBAowpV10?%^(W-ckIy4ErzY<7|2%*H^RNBv0)G00yhI5uwgERmjzpI89?1(9 z+8_@rusIBJ&pt343gOQ%OMin~zJz4?t|$cU=z|j4p1?s{O5%JYsSfxeH-e+c4m9Bu z^n(2GY38<)74!mi&}7`~^rj@HTgLSg2?zuUxNF#Mm}F?fHbCqH1uJk4+Mq@-0t&0? zQ3pLzPN5JKNI(;i0KJk!NveEgA8-;4tzZR+E}$eDA%A^Z{SP>Hcj&bb!VFl+%{!Ip zdjz||K5XGTaUZv&CvQkEP>(85T_S|VIj;g0C`9g9W?gD(z&G{-VeIhlQ3bB?xWdW5 z%I~-7_8-$DykWoh1$KWzX8kmD{8^dz^T@MrVCPT*yrH^0{XOaZr@~LzM#AA0(*Hig z{>_S-(T>+~bI$)H_8CX?_uv3zW&)^;6Tmb!pO47{uL2hGL#@vD#g|ltc+|}t=C$Uc zB(kO9{@-Rzh+p$TP`{2$Y-ezJdjPT=$W7jZNq;X`{##CdR%apRcn6z&vBh_R>J{Y% zk8*^<)>$a=`ZnDBV*alWYrik3{z~3+l^XHck(60KH(Njxe@;vR8t}i|F(`nKGqv-( z;}M*{6?7BLs3Q58_yyBPoO*HN$0Gi*sDGU1=YRg}d%l976~Kc8yr*jvUSXbXfM5g& zzhI#ZSOhCDmJv{gZGesKa!$4ZU)cs+0SjCuvx6E+PCzPKI6J9zawAyAnwO1WC^_^~ z*jSguG5C}Dta*vKC!Bx)k^@iU6xInOz}xf;ciRcZCZya7Bw)W`mZ7tuoS}drso}AD zR9&VHV;fKbmym2|174tz-Korj6VR4P*#csomVLl;(7?U=6`Z49>;$W@R})I%WZ;2M zW_g z{ZJ~weSUq!tp7ru{%_j&pav=By`Mwg`+;m2ENFeo(f8MZ@!y`mYcL9hx#<4(aQolo z_WwctpC26N68ak8e*@S6t|9;6rv4*Nphc)`Ex-U*!GMfV3aD+>!)gxpfOie0jN2h0 z?l)C4zchETgj=fO%$S_L|1MibHZ|MfbR}osmKPMR3pe;7&i4;TX8Lz0&OGf<^YlZ* z(}UNV@c(6D^LfMMyX4r;)^8%(U!mA<09r86F_|0vh~o|nzweGD-16C-`Pl=y`7@>Y zTv~Pj1$j#zi328ce&Qn!P)7z+JuJ-s>FE1Kzb{<=J&(UV{c*kjze5%HwF1PthI^cX zLP3wkHsH8q1+M))KUnw$*TXB&$v#kQ1ESED+@Sm1fYNLLbExnO%!oSRI(@0w2nw$t z;TCqB+p0Gk!NRBmZn6;^MsiqDb3*fV(;BiYLQMXW6*PzR@Z#_S-x*Gj9oz>jP=ilc zI9T9Xb-db9tqu~9TlIn$cw0Hd=@_SURqDZ*4a6}_pn-Sj0yfE=U`MGGHZWgjlzt(h zOajMY2W>!kKbIOX9)7@J=JD?I0iGJrglRya0#%s>O0yrZ(gy@{kNct}^wK4e?BRFJ z_%E0Up2>Otwe0)9%6UH}cfU7iUjTn1kSW5(G*O;J z&++D5IDHr9yZp&o1N<)q?k(#I=LH%d5%kRn5(2Mzh1#i2B4ln^zes(7Q{IZIK;PG7<9?F^?d9cpg!9r7QS#41<8Nvhb39wkR zSU-{+vc@vp(ok*$pW;|O#oWqlWh401w9_;OPCy`j!B>qdjeU(F#ylVam%zM-7#e^D zW&sJfrtVN@;uqWiZ9q{t0nv2EXGjj12{*W_a0o1%*IMZdNz! zz??XUf7OM_N#HOia1Dsy92`W)(+3P;7U;_T+*;xRji>>&nbt!jS3qnC^)Z-W2DwS<&-+O-l#Q%SX-Its$L3I9pxce66?l;T3zbbP@i(gLva`q92bQie&U*r6j znr&r}-U(jOl>OyMs@4WLO*i##^vQ5NFynsE8OFmJI)G1#9~kIt{J?AB24WxuFuiG# zDUbQExvJ%sr8Z7KL2xpE*y=F*zqJ>ohi?b}ZW$>5J4ZJ9^=7E|W}@QXfqTbwygHua z>v!FG7?;0A&QWN2_3-(g@zL9<0dpPW90TA2_hWVtN`N<VFE=qdaJ0Ht@eh^Z?@C_niIMzCZ5t|GU+l*b3nBXNmO* zc?vUFQ~==-a7a3ZE&s(Uu(7=w+W?i^kj!WU1QvLX9&`~LG=T(IK>`xt6L6C3xlz`Z z))Lm-*7(*tQYGAm>>x1*oHj2q_h1glW&UV7WtxLmnBA1l^uV~yILcVp7%Y*1ZJ=Hr zmyiU82lT*8xd+>jj-lcbkW77tQ;1*&jzuF_56oPv_>v&<2_4NTi3N;7&*HAiuCa|&`D0{xz4ea#>(9iEfi<6X%T~m_zmN*aM<9E*)=8PoYE4?cn zj$H{|Z}9Foglkt{?(>Y!=k)s<*%Zvg1Ee=yzyMy`4a@fn`M^23>$TJgBltmi&VPNW z1}aAl&`Ui~axj3`bQ>pN1CL~ea61a3_e~j70X!&xc$Rq{|8CF!xUc7D1rSJp$2DAJ z2mRaz9Fg0A6)4B2!YdUnA+g&4p$$lGkH9D7GHUZxwu!c$wg$FhZ~{_-1YD5G0bOKv zh|mZgwai1g{*xIv++52XDCdCHYy>Nqa+=;6kFXJJiRWzw;|u8)+Qm@W5X2ntM!leJ zQm3*HsE0aMpn>1;$`ibxS;|1AwNf4JOkq635-P9Z(jU~X22&q^cW4bX0%9weS|7#D zdrwXRd&m)31sXSp8ZegbT!1U44HMl?#VkiGze0DMUuLOfUthEp)dfFDY-}kt<1k@2z-Z~Y&}221uhRK`Yeec^YH^6iyKIPyg){o z{onzc*t!PVmfA9a|39@`;oi`ISYUl7iHHeCJnr2OU} zy*Cs`uSsb8GCQBhDPSH*zyL=l9=$;UHlyx&=kQ|RUyuqQbO2?z{Trb9Z%iGiL_N^5 z3-EG&V^i>eP2f%vfcxVlYJz*<%^pDDfWO}Sah?CaYqj~?jiBHJh~$v_avLDB!}fv& zu8}@LLLb-#hPluOS|t{k`WGZ%hSUd%9PxCv&r&5k$J&=1aii4-zp#sP4yZ?RKpM+) z^FBET*zpX0N~+BmQ(aS062vbVmon#;HReJgcot58m;-FM1Vp0`ItVv-7+pXm)kqhR z99FRzmSEn1AEe83(p{tCYA&|@CDnqbDYJUpaCmo zA23NbT5bkAa$h%P1`r$}fdzUhfS3bJoa;dRyK-{Q({bLD>Jsxv#OY7M?eE3gGQk`O zpi@xj8H({IW4r&pY#b)xP_&l6?*yu!C*1x?Vs8K9;FL}2Qid`8uVQYw!2T}+7Z5*` zP8FGJ1}d{rK%YeooI=&8jn%nom|B@UU<vKQu>k{9ApIw0PY5XWzL4p@3v;o2~_&D2uZOoX9q&jG@%n+}G zvfN=01`8BOz*~@jQ}|8IM<3J%BtVBcAj%qQJ&a%2aBFjGacdstfZI6MO~JLcgeAxC z`+y4M2Yz4;g8!3h0AZkk|=&lO+BG zEI@DrM=&!tBu7tWg7%VI!Q=Xkxa$vrVP6NNU2Fx@uoZmABygQx`~YZx*a|G9KNswP zJ}~s!fY&#o0(g3WkQk1jjS3*R0foW$bC5ll9=y+ssXryZrsDT>lI!Qs&LEicAB+99 zz>AN4eLN3Pw}@t(|twvlLP-EE4P0g`jg(&sJUbS9ftq+T>lOHKR5S(h&=zZ z-~pea%ZXBQsip8q-hm>x6OKS_jL(cMOwUct&9BS@$@`dV%?|#O71h=Udl{zi^PJc~ zXC3D_=KN32Tx4{#z_ow4Ya+SbbII>m;F|54|2s=Q zZzc2q?W7`T8>;^IjuhPV8qmbjpoSHw0S$T7W*!il;IwdxLg4}I07aYte%J_2VIW+9 zv}^(d?=SB3{}pP?&kEq-1PE4;a0z&TQbcS6PH?~ML?5_JW{3-Bu)qQ^Y@l7-XH)uc#r4+9Q6MJ`xocGFXw+U z_rEy*Cz<|VaQ?kG|3P?|Rl@tHGwvUgnEp58aCn0hkRSRCNF27NhiaG}H`Vl}i6$?c)-qW(SSnc`TN|SQC<{`Po%?qWd;7xR{=-21!khu* zcJ$@MuOqYXI2nGINb);PlHYo=eJ7IQQIfgf1t>u^vU`4Gdgu&>C|H3;IDJj%0!EknMun-$3=qiMqj~>n5QN$E3}TO174C5XPyjE90{j)8{c&Go zY!4tf8?ng&;W9r>-JVR5G zB6<~#;B1(I!Yjlx2dtI*0HY!Gu*&k^uvST$CgJUl$9LOFec@F%1UJ_&Y^9|5puCd&#Zh$Rd*VO z@H{j&UD&mil_>(=Oac)&@ZARuIHB9iY`z*aU?y0=AiRV-!VhdJr+{ko@q!aj3MNl6 z&b7b;6?lDx=mY$j2D0z<#2dF?NzlZ&QEnGnYIK4s{RK?L0RDTGa{ROy0sXzns z@(7TO02gc`Cp>~&IR8CCGq4W*uh0WFWe-@2O`t#ef)tYbA9uR`D&K*hT|g`+z{3g> zJ|P~rz&$v~tO5y`ievCVut0$X2$z6BG{R}|3w$m0LF-Ya^+TIhiu}0@wlDb99F)w! zrpy5WxQ5=9bAWIS^|M6aX}gRx%St5MeMKLz*wl^uu&iW<90Cn&MHi42zp&p7YYk&? z3Mg$TXh>#wrJh&Ub0d1Tf`#!4h++~r2V%CA9KC+rpH*Pe=4BH2#K}5>$NqHgS`Qu= z3?7&PrO+qt^F39-39C;ihQut8AJtHR zeE7o|4xl0g$PJ*%2B0ikghqUp?o^bqC=gb`{5uBoPn`ecIFd)Garzhi%b1&F20;Ezf^?vXYCzf|^QlY6>(GXAG4{1g&GbYN~+idLv5` zJitoZPS}j}X7B73>EpjR%+7AOcJE{7mze~=p5%63a=mdScV~0wb{BRRaOZTVaYwoC zx%QCn+ssvj3NXi6oJoEe`~e$hKMm7+3hID`KA=8b#YA?5cj+vWIMeV*#pXX7m7owj zARo?u7^uSr8~_G#{u`kO63(B2=zr6|1{VDPxW`}RJMgmt#LfYN6%>mF3a_wzsLO?4 z=nUx-(oMPq2v(2|&)|&qL~I1_ksPqaHis0^);Q8Bq=&>~4mgEd-8gG|YejNIQ(0fY z3t9v(sG6lH`ha`r1ICadYBZ-ZKLXtv2^uJz0+ z0CwO?xItaW5Ob*c@C=J&UnXk65>x_xa1i&n1|?Enks=_N0TW>cv|#IQhacz*M>rlj zfv03~o(B;WlYmePjA0Jw5z_?-MnFwC0abW}PzOX65S@UTK0vq#6s8vtkAl1u;86&i zP|y2I@$vOw|8xNX7{ljW%GU7^l_pg89{evW=)V)?e=C^36J+;)gh}P8{tN6Me>RyV znPED@aGV4Fcbb3EH&THM;*8n=f5i1N8Kj@#wV|`|v#}Rkpq8Wo4TKAH!`hNPOf^uN z6x_ha9a-4^EnvrYm-L?eO!{N#0A9E$G{mt;@`B#r_xGJg0(SqYc!>`O@B!z4D=ff~ObpG? z6qIKVXn+r#Np=8#mFIrk*Xj8V#MS`M9PqbDfX6FreGC#X6jo4skbtVVh6{aAR=k45 zM({T{0ZXJ)NDVjvx$z4N$D?wGbp{zVHE{|M`5~7`uNh@&YO#`HD8P`@aEuDH`-IFZg9S_y)YFp*n2gTpn|ZdSEM8zEYzg^UoFmhF6sjL12*4iaHD|apHCf&*IOR9F z|5bN&cRhD)cO`d-yS%%!+u%;;zVBK=nrBwmX;OT%I1j-AvT<@Fa0x!aXM1FikEYiy zRRxpT2^@g!^O&9gTX4Zou!J7L0KUeiU^C}`9GgR-CJ4a~z$CLj1RF5!T>aI)1F;pr zlOH5h!m*qHp%L~Zhj>!NC&LNoOLkB*JcG;N7bw&Lsc;Gjvt0!VSOF)X2l+w8$qo=3 z!Q0mT*2O4I3 zV-koUKV+j}JQ-qT@e4_VR`|NQhaACSuw*KO2>MGz@E()%Hf15sVO{ambHfeD02=U^ zE&F!;0@8%KQ3EPa1B%j(r`AWq$$!Xveg<{E$2VYt!~?rC!?)ueZ$dZU2ux3?h3d+w zKxhVqa@fXx&5m-pA`l`Y4k*OVi15~5&>Kjg8+uFHx6JP?pP<_z^AI2AK3$8#bOuptB z=Il7HwIlCyxh)rp%`kfiXk0S#e5aD(_mB?22l-Af*M8SmR{?hwcS{}(+%?=)sR1S2 z!EP`29kv2h;RS7AZ}=VtQ4OZ|FEGHi;tIVIM}bE;3KVjbLsL8icHk=5L8mzL_rU${ z!4fzQ<7gYK;aS}Oz0d;I<@^_u=ie7SKoYqH_^X|O|LtFIYz6SR1qo*0KjH)kBtWEx z3DOfS-R7 zL~sK;f!S>CM=-zlW-HK^!@x6V=t~B{iYJ!oU8pp@#9Qu{??EX7gTi88QH;T20hkJqT?Y?(mBa zU$*qqoCo0geRJmKe2)k7%j_=cZtCvr?&xksA5e|+uXSf|zW@gq3Nt8-G@ruGQz(dn z@aw-0+B*dwsF85LPH+cgpr@}6J7_q2f>q!F2Vwo4=JfB!F<>cmVK}dXNFF>}Cn>r87e_5mhqR%;}=^;<0yEUjS&=dwhaFOec9as&ubSG7!LP;6WhOA z^8EWq^sgrD-=S>(){}{TQ+cZ-RdcfcE6=v0w>kx9q!a2J)z47Ju+oqM#YBX$gXtlz z08h;Q@B}zutqJ~G1IJ${d%G}4UbggOott3*M>%zHe^$9(x^lZKx;wcCy8F62xa%_q z7~SdJ&s_&x6I^v&IbD~T0Wvt(g8`&-+~)qDOl5C_zIY@GqwC;!A}g>S^+D8tWw?KA zp$=^0_r>4_y+H}8g8e(W`-3_CzW58J`JD&!*L(iQeZ{dAz~dVF>l`4|0Vkzf*hY|m zx%NqH1pDwj5&2=IVFnhlXJ;cQJVP(y6R@20knS;aKzg|kIKUh*3|>$vbizrjPb^39 z4eg6tNU$ZP1AhZJO*bL61gC7efFqAsbpZ!1|Gy`3k?c1{{Y$jR5f-g`*?h2~#YjyB~ z`n;z#A0-%o6WA=Q;`|?F!g$R2Pt5r*2>(|g00ZzZ6WZVFZ2#ja-rWCg)IS~YIhqfv z=`=k|gyMzn(E{6{HUF+z>;O-y&rk!{&;y({1W^&a@db(x3XsgQ)KUt@RVVWPhQhpU z3M1zmOn};Cc&&7vamI5M=Z-(=O5hH3S9W)Ik9Ci7_i#4?5A=1vaUFEca1PErJ zKaPPv$ezC*;}|%=)*QcD1&v^Qyh6^v3z}%{WUXS=k{}{ff+9b_lO_5^W{Hk6Hz7yN z+Z=8>j$1%CT*LCC6uiy$d!n(8u>>69?}nRj17;a|a36{qkks&+K42S3B16Fgs*x#L z2*qH0^(AQ{2k{Y}EcXIsaoNbK#3NVm5_^GFXaxqbjjKT(hZbFaT2#Xy;OgFBFL0D; zU=y9dBB>af!dV^zUw9~w0i5lgQbXLHO`qrogo02!8Zsd?12^c*`v>vSQ*a+y1-5t; z&e0Qj|7XJc$E+`}Z-igLI1s?y?EjwO|Cv!KMA}hJdX*8Ne>>3sJ(cKR0sb8|(Lj#? z=h%iK`UOnDAVYm>-y1_^(m}MQbtXUZ77AJpS{joBG!hr^h2;8*3J~oGhOIl6)ZWX^ zG_G2%`L2hq?CxUp{$1Te-NUE@joc=8GWTz;#jf72QmzcHTWA9G&dX#16?8mc`tQeF zR~mG;5)NZSsr9FEibxF_P(tnn2Qu?dU^_S(wqR#EgVM|h1;GomNG~wq{weT3!7z`j z0Dr~vFTQ3^4fu}2Or(jwm(0MYGDGn4-}wXx-|)8R(W}4=RHb8JBKv!}5!?nxWdzRQ zHEcHa0V!;6@eJIFW7q(aYhADc65$$n5N=>^x&V#D0*>;W?oEO~5pz=WeKZ1-$rCPS z@-=-iUNLS!E7&v!5xh!L_B2CJYJmOs8nA=2GD_{N)`2OkQFEXfe2=gGNp@|=E6ndfS+`sGK;SAMxfRkH_**p*YfW)W;UNa2{RPYGs-6mN4%i;3Q=Qf`KrazHN zFp}}{hr8p7plJoy#oPQIeNEGV-@-UJ*%L!l$ z2*3kV7V{}o#C9jEbuZ7z{rhrJwoo}P4i8~CZek}iY7Z=eC* z-yL|gW%92??;ng4U{(}BX}J57N#}o$|6kns|Er$=*a{$AT|8OBZ}|B?qZbq^;aJz; zjnXxE68LjpctK6s2b8s&u<&@*@X_W#~HGvClP^$U|uf}~PspS9Ood+qXc1KGS2 z(hb}vL1;VOz;JHaDkKPH@QUU23jXa7bHg*4#qY#^(NZLH=0K;9%e;WNgl^*9Kf(Fk z0g7J-JGg>=em?BLH28sWDobE6h@dasf$#*~dFzGpKR})SDbx&^|Jz9-sbqh>R_8w( ze?uwK%GxoXFoh0aFATs-rvEZ9{aX(ApEdn=+Uu!TG$x(wxc{26A9a%VN<0r&yx(}o zB_F8_ozEH&fP)OhSn#CJ98I*_S_^gqj58A9ze>%?ed|+(sh*c$0GS0|Ilyhh+cC>9>*q+!f$Iw*t6oz>g>( z+!u88dt%@mw#-_2VX{4>92+QQcYxIgSZP7i%zkP@$i{p?6!Rg8VQWdU=}B6MpOL|c zq)@Up?BQC$5998 zsj0yx`1Acd^MeGEvu8Mh@(bUlBRI_|-cP3BPAb8AZuOiHwDs4$t*{kNv0nMEG(QSaN{AG{MY4^@Vov<0@ywp1viNA3CPkm8ZD{6Xu- zOweK@8+%&PF|GC0r!wx{7ruGW0($!W>UYb}2d3|oe?%OBc?0|cYM=%53}}rPAWgts zJOWk72RO>)a0#}21aqrr_q|5~R9iX#8xAk205!pPL7;#|%o~I-C;pl$5Es928u-4n zYU58_(to3J_9H6gPquzZ8kl5(xGTWVQ30$iV%83^A18#Y9fH>Wpq{*HtmJU%10*Zt z4Ot<_%`Ln#N3lz|wi#f0nDNODzl1AbKKlb&F(Z`U$pr`sXhm*dCOrb_!CRRTXis8D zHZ2mJz&5sucXm`DK{zVYf;-qL+KJ?#T&Mz1Y$v!AC#o7?fCFOT54ZwjzK(8S6#RK( zJOY|`R<;X%#94C$hwVhP_Ih;PxxJF%5_;r$mYE@81p2aLv^E&sqzYt&v5V&!g(RVu zoZuUrHIp2|C*2Ye=T3LA1>h{-NbYBzvy%q znNMgA;vkZ-8sclZ3^z`Z96>_8b22u3ljEBxrK$@#=Umv(t?VaNRE- zuK!^Fm;P}BG6Z;{05n4jtV}idgbLV;nZT#;g>9Jk3&Tawlv&;@)RD%dK6%m68B~Dk zcs_f=_RL@+bSHekCFaDQgEc3UE#*uU zeodmVbOXQQ6Y2>^UlXU0Kj$?&`am*;2HxZ2eL^L;#r(i;suCRFgzthS*aXsFO*L4h zeq94b*vj3%pIY%7UBna6e?XXyoR(-S_W61;*V3WY0{ zM;MQ{Q~);u2tPyr+3#5uKDf0r)$kIQGKDYoEjUa(?+^ZSj z1!cF$cD#av=({U3eU}}Nz*qdZ=h!T;5`BIsXS5Y=oyu^7I%pspp1~yK3Pyt+_yj-j zywF1`!F7^`&ru6PnDjpYW4Mo*g8j@F9)USH!{=`DRiTBxaQi33ckJQmO(uag12}?8 zvyO^$h5Wy0aFPXK09wER2m^T0>$O)xx|VXNf5Z5f@Akgr9Y*(`8K$!a-`#Xll3v&{ z!h$Sd9-sy~NnVuG*!ocN!KWFC$zphIHiM%nh;MI?$^Nr~>z42A<#-d(Qn3N`DYWri8l!{AZu~-~a1>L;+S>h@gOLXo9Dm zJH&(ywDyMtsl+gG2Rqm%{)5{Zd~yQ)MIAA z3nng(*LyJeY5IYcOzDkABkT+ssKe|)Vc7e8;DL-(f@H9S(U~Uv%xqsM{lQ~}3$Bwh zbXC3Gq&D2;>_0>K`&=jrr~enaf64zUj^fyqX@ueY>8r^9v^)SQ@Fx^wZXu98pc_CZ zPs#uBK*MNC{^5M?|0|sTM6iGU%mH@i{0G|}!vK_LJHTmsX6B~C91X!re)=w5XFpJG zs%(7D=_Q~1xN}xB862IRUJc0vy-6}iRsRuiey5oW`syDqASw6%WhR2#_!shjP{a=5J0wgOyG(qtO%Ju*&G0fT?V4;9|Dm&c82Fjf9L9)ZAtGu9! zrk&i-7;F^32p6z`-PRrP1$ePf^sRn@Z8wwju6kuu!G!vA(nFWv4{StYKt{y|1d|}z z!%>lW!MKh`_QR+GgJ8sp*|XCNJfjAzwN14J;g~N6X3oykP!u?Uo6HYyG;S|LskOp<&E&GPgz|gNJOJoY{U=W$z&EN(qaDx4)1o=I4 zvV%M|s6H_)L2Rl)WYPvd!}Prc9lWJ3d?fQXB8p-h&qRD(CLG6JOaPZdZET^={|qY3 z9`MFvzM48b{E2QTn9e8ltE6O<1nU?Zo!0i14e+yJHVc{OI+XiuDh z?L)Qxg;vAl|^;&P}3L zT1anZgc|djDNYaRatGfwL*S?u;0^2y8(7%PNmhV`0@jfi(#L2-dT=(j2|m(~vQv0C zs$g+Fs~$zaMTYoH9B;KX2U|ryIj%4(G=Xg*Wnctju}|b6HDIv48K=SnPVhMsLz`gA z1~M~LopVzFZ6G20g`Rp}^xg*&n8L|wfnU(^ebeAhuf@(3fhzd%@=^t2dwn3E>moTF zJ4h9q2R}Fr=B@*HpgxoQQVD!<^msDapA%e=nS_Bf)Pp3P_k_G9<&lz;pPtWT=WFbI zb!j|@4aolt!~rDv-@%;!hj@Sz(tr5C0JKA)T*U748{~hbMggcr>e)HV@xtW8MT%ntVAt77|I!t3811dz=4K4*LYKgCM; zyULRNR0kHI3$ zWzqGDal8A1@NIaB3W5*hQGn{;;A6ggt{8WJH7Z9dI*R`A|FfwnyHOq_0Wcvmzy>@- zYjyz5W&-H4*9YeRyifo;qyKMa8^Rm!gq;84&ij9x?Yb=rd(<1^0=URTa7D*l(t+DD z4^Tr7(S3~7cmdjy&+G|Ts>dlbfXQS6 zrSpH_w}LGpIsKmE@E?G$KL?85Wf=c~_<^c||0|#aGy(zi;3H#j8_nZ$8~KSJ0RNrg z4zQSj$Ic!=5WqXP4)7CJz3>|Fqd(Z%A7G(?Rf-E32T~LiAemv36_8z}2Fm_`X7dT>HhD)%Oy(|+$iJ2U}PJ+lv@&o#lC|VEwT%(UpZi|dh z;Ij8YHV%tA&*L&;F^lHW)BR$piju`+SbHgVJ-aH??y_;|aWg*RfiC-vsU;`3C zSD^_8`yXHuU>Q9?F?xVYezQmikM9>kvR4yQ!IJpC=5Al=)1N7i8q5S#g9B(z8gvjp z*$JqD3sD<4lM{IeU%**7hwG{b5GGJ~Kz9%DvtkCT0)#t*#20X%*P84SwbH{kut{*9 z$_^f&P(WSqqYo$`oliWn0$izq6U|;^hLvVgIJFrK6mS6)um~=oJzRh{lY-y$+iVe7 zqz_?Mu!NpXkD=ew4rzLjce85wC2>V6H*xTDH+C51R zh+w}5Bd`S|Fc$RO8n<9En>TEFLh{9*;H(WMQD_{F!TR1MaSf;Pj*2>P86AE-`oI`+ z#oCf4P!^3KpF#tX$r-+ncQAz0yA2M18A|?4lE%hzs)yn1?FU!Tiy6btxC%Sq_3g-s z@6Mwq9}UF$H;n0{=~NFv|0m%8pOXNZgbL#e;%I{&F^eptvtBRQ0+!ReGz!3QcA*`k zZ;6GXA?Lq0=YIoxli%6W((81?6aAD9pn+qy$ijbLAu{t`~!jHg6720 zcc0Te7l&tKDnK7MmVC{Dlki&>?yk=T> zE1N{56EN8(^i{iwE;tuPu$fju^Uz|EB6^e>Fw)W1QI5@G3E3)g#=efs+^*z^nf8pZ zf}yr6IOo^G35-M?XlAQwD{L!Bx^NuZ2b=;YLD_T36zZUS0=d1Dvv>3vRp1a+U_O4K zfw%^na6*fK2C^|n6c^vnYq0xuQoKSu510axU;qkgO1zcVjl$*%wuH0=pNIJ* zB;U^gr?=AgwXZihflHYTNaU}9`dd>4y1@x{<^22jCm5058y@sKi`@E{deR-0kTW%EsT$323b== zmM>rj-QjXxA(9)|ALXc}GcP1BC?KxS2lIi_1SK)3yV-yVfr6lbsOB@$gT);vzJSW) z2d8DL@FO}~=>$5H9_WcX=q+r(4sDj!Uu&Wjp$5d%9^npH4Ij|aQ5mOj6307w<8AgC z_8|J?;`ZE341BXagcl69EoXXgC`x)W{51YfmGF)Cbv%P>RhmE>`T?0DOo~46geq`^ zJ9!Bj!Elu_S_d@Xi(;RJa~sDiA}rx6Sp3`E<>%21PLMTnh#p}d_xm=_?bLi>7} z|J(8W?&Rb9aQ>X3c03~gGYZ>FGN}Z>I@FjERGXdP|5u#<94LTI$T(Vv|NjmNV3}Yr z>f-;Og5&uld%@xpKvc&*ip12nWCAq@0bHR67^J<>>XEbP0h98=sKmDBG(7Kn=)+@@ z%aPZ&Ar;`WZ%N#~8*l|iW+#vr?w?w02dPC`i0Plg|1}AMK_GxHWPJ=}(#MCX-Z1X= z6}bP}qXpFF{5PShbmu2J0yoesI=xk@2RMip`1>Bf%>w@Zy!?#+6^;UAQc#iu1qDcY z@EI`SUMC9p6~$;6cZQV~Ao=0h@drm{hsYJ2L2KD)DH8&f$P3A8CNSR_w-gExUqAz+ z1gSwuj1Qz<@7I^03ADl;luM6`L-0H<;aOTg?!BV;gkx#X$P!+UQ@Dqt7866M@d@7G ze9Wg$Zfmb>ci1!8IGjfF_ zPau(Z1hBvjQbvQx=a|dpq5dd!jY;e+Mb};c?4FJ({`hPpjtEB(Mm2Z=Q}7VZ@HUTI zD2cat$a^={+YSEz9$yhk=O2^bnGvenJ6BKgSaDIK~1kR_y!D|#ChQH)8pn#M(S7sdW6_K zVmTkydojGCv85ymZ!xGCiK!eO_>KZN{q;cq1Hc%oy$(`q-g_k`|F1Ooe<=6=K01`h z_uL4F-hIi$nx}L;%|}P3HpFAwuEM+26*8D%0>t990V|eOC24{=BFD_urXS0i*`FRKf5`!DA$bY)2_x zif2TU17)9RQ;Rkwx zE6nNbh8tLjV{Zg|d%D5hHD-pV3O?QvczJxh9GvSypo4sOQc(3jlvjsjQVgR{9OsRx4pA2S1# z83wQ=nZVoZuk3lKcH`L+{MwNdh4eSgrjI2Zuo#=do*I7SF@~9bxOrD{Lq8<3KcAJhMi-%7vsS#_aQV9q@S_vJJrDHzGxM|kS2zj~RnXcfDm#TGH|&t| z23ZN><9H?Z^l8IAQqegpY@qU zJgV^d27GN-D#%Fg{>5m2$GH8&=>D^Ko8eqv2zIBgdn#(gVNv z7A7fd6&pbxk{24?KMuRX6Zprc2ROry&`Qh$Z^S)R02jbbD#u!S{o!PTH3I`QK?SrB zz;LAlE&v^@qss`_0dC<1dh~-6z&#D{vz_<9|9*bo30Qof>=V2UFC-4(ooc7B0+phYwqUKBxl%OZbMMh_Qbb>JM z>+AFdN7zfe8HQjf?tz(Jleo=ClIb%D?O-6k4uL%!!AFLxkM*Z_=#9gm51$!M*FTHj zwUODslU_IB{-SxO_AcmMih2`-KVcniCDH$~k$l_`{ckGz-zoUNm~2Pzw>KaUWr6)T znV@-bLM_4x7!7AcGi{v~hb;@M_1C&V?YwH_;yFEKrljv`i*C2qCoKQiSJ!7+-lDM7`%TSr~r+5Yo#~(ry zF6Q%__z55Qoem&QfN&PjjR5}s%=~O0adiUX5Vn%T!uddJT6nEe1t%zPPtvZ2dxP#8=JD3$34i2cT z2fzs?#wB=N+ovtl#*igiOAA05h_AhITwu%K92m0Zj#6ZbCUbmNNMJSUS$}(LG{T~A z>4F6!Qw8pjE3}&_qM2v}U0~cxq7$YiRY0o1F=h$p;}#e|%2*>N^oy%Hke*#+(b-1! z#_J*J!xz!-j?=~O2Fq_Idu%N=VKp-b8`w~?na3s`Yw`In-_9LGGv&5u_34qZEvd<+Y`KdiQ9N-wo zA;)Jrfa=;P@K8>@4-?f9*t;;E)TM&-R!7XJO!Qae+%Dr>W=7xdk1OaMX<^Oi_~*k2 zZpH%~?6)5mz%sx7Z2L__GI&os#NU`E*o5PE9L_)4{?Z%-&`cqKzVN!^;Rfe@X92|v zbdH*TLrnw;3+Q$N{cNZFkH4QEI{`rfk{o936qQaOSY?PW;58G@2g*Ld+)N5aBRTLY zQ$lM{1p4D*t!DZ$Bano>;txm-+HA}wGo&M(KvA;8Qm|e8F%H3P)PT`?H@!X%q5OIZ z{R^2`hqcx0$Ou9iD9wGCLi^&l#iZ;qx`9rP8V-XDff(!=`i*SiMI?&`GDTd~UW6); z*`5R}5Q;`{ia8rm3I~(9Q3vl$K{ZVnMn`axGr59fo^hn}cI1|>4pZmHjhzETkd%Ey zQN6!$j$eB{rykq^&tFGFyvpM`C;TQA;wJB1rFXc1(s!PEaSiYBQ?IvPk-X!P`|m-L zc}Y%x2ekiLppIj(e_y?mqf?f#HD@dG99YZqwpX^exSWfiZ3fwAkq3GQ4$zxUXDyjv z8OTo@%2tI)dRcuM-idhdr%Q~_MoFsbA@iM?ifUUO?f#TcTvEK+lNWfwH?m)D@O~Ta z{Qm3^8bDVN2s==e9pQJ$5^BO;pAUTfS{#2PVEwvs_cx^iv;YhAg3}!Z0>JI)h5eA$CkB$1T<5p-7Kd}G@!zB_x5|DmW3?8E|3cwC@&WN}lYp_fCj3WUI zKwoW(7RE$SC%DpwdOD*SNefBY&pee1@W70~B!(wvcOBR~r*ADaBX|{GKx$He1Gx1| z`4wZ&Z+^ej?D~7c_OH=w1y1Yx3S_?w#eXo$Uk4CCV}5FFs0DqT2w<-A0&ely<#Uj3 z??)$quz+qa@XvC#|Lphi`%b{MP3W51D|`f|XdCy5_yb*=#TzhRB6C9N*eCcFzUrtc z`N2cU4Xg8mDtL}p@)BdB5oEM9st`?)14i(h{)l^S54#1Y>HYBsRMs7^g0WEsE^-ep z#Tnm&?IHo_gVGILas;zwXej-11@6pr%nm)rE3^-0a60-xXE?Qrc0Y8&^!9{Qffu$L z=0VU9DRcs@*(KylcA!iP z-!o1cTbUIcX9OC}Ne(ip0ZHivUXX!xNZ$zWJydTGE9kF#kRI?!yQ>|?89yDbU~|@Jd|^M&ZF0JfQwcWF8_XwbWGtt+FSwu!nIkQ6@-!mPyB>9+ z0q->eD>PKUHs-`P<@0Un_IojlG>X~edCVp40QX;p_xr}=Pi9I+NfJ#uar@7v`wy`_ zuze!|q!9nYHdL$y_F(%J`v+V=zAzk<@j}O9K5DFXT8poj(g*R3Jl3!JbWYj zUgsw^9mFr^zad_rM(BZEKmbEw2BzTzT7u_W5P&riD7he#5cWhRgoPsj_dM{=aJK*4 z_wZvUARb}q1Y}akr3pwUu#8uZl_A{8*$H@(92Q^A37w`BSWIeAFE$ERFdgg@i_2Eg zo5pe2fCa{A@&lWp3iukijZ|zEdc(ZX2^fKesDs_~2BZh%ryGcZPv|@o@(Z-#Y#OYp z>EwvS(4K;oH#?@QZlDYbVQM&mSN3aYgd6Dx#@c(s4c0{`G?=wbr`W;QY~VX%+ru2e zT-z91UwVSZxCe`Y2Xes?CbC7NGkA$we}&A>LnL=>p+8v6d7jCs9#2IWg^oB1R!`nW ztH(I@drhWV{7TJO4%fd0x6g4Z$!%u-zOwTtoh^^ek6P0hU2>%DSG4~_cosro|1yvO zP}$y&zGbm}FaPQf_7n~~+fxVQfV>X}(40xh7g_OdZh!37w|kkWh)avQi0qYz@IxYKi^kbC_plyt!*OD zzI%ivJ8Unnmo>bq#2qA?h1=mTkxn45Pa22k~p4;DT3%s6+ff{KLQW8k`p-| zPOdA=TwT(J{6Pdc;R%z12_o9Uyq{4EZZN-p3a(&3p28iR@6GfI^6O^s{Wh4yU_Nt* zGk=Dhk6ZK;FTFqF_KRyv!NgBNJUN*FasY;2M}yw(gRcC5q^oXebm^5KWHqI0EVC_%Ld9y*ZQF#nO!C_F$Vm2v;|hyB~Y#Pb7tR7VO&S|i1~)SVGd4lPb$Dp^t!n0 z@U6i{@3Hg(v+4WivgvQO??ldj6SjY4Bjf)*2w(*qfFLzF|8>y;+N)_G7XtV_2Ov72 zqykw8z?}>H$EW1y{;Z1)u%-pA%z&G)M6z4>5M8583(lpF9EHZz1%0`O+Ch<(4B-eq z&&-Rk0jpsH2AFNk>ga;G%oNmsSEvF%&o4#UGpPB#$B>;9O&8GUe! z-b-&riioCX)Z^%{;RScm4Gd$$KsCC73|dsB4QzDGbo3`lpsK?UP9T{hGR)vLrU$l> zDl)@9n$y-1#;vBk4E$gr{5PrL2BO&Cb0gm-ZRjZcz*=r;nJenerjDk}>y$@1^x-t; zC3hqf$RHW@AOW7D*u2HzyvMgC=B7`>=W?*$&j!{nWvd95Xku&2tj_?tjG0U-ZL%F? z=KqfEr7Z$~V;WcqA2`Y;RHd=-6~XxbLec-Skc(WCorx2ff4ISBkfP|HJGHNx4?ckH zIDv914&b~I%k(s>z^IJEZ+X*Xh;16iPZZRLG22&fc*)@J2eQ=k)0&PH$Kuw%Nx%DLaN7W6ipd09} z)nnUOPAwkVz(vPSw1Ls^f(>BPz3~ae!#DgCe*L(8mwhe1!O1uW1E~W|sRQM}12&X` z%*+%eut&9jvOUK+aGuk;mEK?um|ZGCXHrKRQ41=g92Dn-8(;&G0a*OSiFZ&R3ae9J z3x8h=5JaGD2w5f5Ni12-pR*6Q|25kq5OtncIi1~?Nz z7CEPZtXx1*0fYm1q%wiRIY4(J$lsogzsi5RYQP8O5R^FqmqXCnC$d%Pg2D#KesS3- zRDn5x{NxA5VOsDmK34Gtj5B-l8m@>cAT=N=JB4ndaP2Ub;SU&QbY)_wvQb2J0}1g6 zJR?o;2uNT7b1^;jM)2Z=$P|pEKfoohkyA1N&um$?3?$P&;S@SVlE4(l0A}iHIEv5@ zq@xOav%kPAaF(Re?Jxs#sRJX>-n+sPHsmyxqZ`-21Uc+!RV8?jL;nhReII=Na@fL2 zuy+GV@90V|-x5^cn6qA=JdXzae-m3PTRR-beefEM=iD!_t>AaOoelv`{9imz_}s%V;nNdnl)2KA4Q^z=6a@d1S51e6}& zww{XTWGt*n1T!}XpbO98a{QJNa9&mA1|LW7z5^U~j-N*~^nNdN!7`lt@~{F$eC?e6 z)NK8V%q-wFJU)w2{l&M@KurU+RtP{;0C55?SF-@S`Lj;&r(L4H-}&AF$YucdH1J>L ztpB6$Q&504F>K8Wxg3H&<_IrjvUI$f6>7~bQ;r=Jd0+%%`MiS>3<0|?BsZj&+00o3 zQj#JX#;m|8=7m-=_cjt`pruihZop2KU4MeRL0k|lkdSHOxAw>M1ZPwoSc`jbCX>a(=?r?J z88$;TtZFX>I+yMsg*~?Y3z+>5Y~gX+UNXp5!4u5ogio-IqaKVv&l|?CBl)jMOdTu$ zGi;)VIE2PKA5FJMu5JyvxM<4#aDct<);Qi0C3HUwOKO?<=8AlWL zBu<9O*zdUNc<=Z{^Th`+pJ~8YXrY04q~7cKnW31+_O-YuDUEOhPdC?_znPJ6T~vd` zpGapf72pCIO(gF6oYVl#*Wj&yZ&vpF#b&$TJMh6R5Wr^ow7yj5reHL20=8GFprgPA zbEpk#`1~#=J|q+9qS_NAPC&~C6wU!k2jK1j{?Qrv**|V|0@hwJ(FG+t=x@CN3%O6m zPy@spPzy#-SNlYwJNF81Hs_;eOAV+D4#-VzKuoej?iy!Ez+7X@HO9aQbYQ<&1@yuE zxXg0%_LK>onAxt!zGZ2Zr~PMM_03Ruot|U%nc;a-h%{=q7crzd_jCofm?b&^`@Vy1WXrjYXWA!_KH48AVQVTuMdk`@xb)KCBZ>@5 z@C26N5@`M~wO|+3U?aTYIvyK%e<%0-VerBw`iCdBH@2^w{3Kur4=RZ-C%-x;zXK=d)bbz`PdOjORE{|Oc>2f)C(;mJ-}G1 zUtC<1UGPxeGm@~2u_b)!Y_>CAG9%)-C=aJMp0m3RE#L-@y(m;PWlHgL}Z{_JP_&whVa z4UmnI)~t|t1FVfACvcJObmoT%BiNtUS92J_Qt;ItJ}KBO8cKqoTTv)^E`dZ-Eya#g>t}dP%(?-9Qxm z2}uH5RH9HbrieY+Kpu@ek!w_eEo>bc3l`|WDXYW|LK}4;9a>>b*nzk9C)~nUxr>jn zomgtYQYTLk#BJS#vs((bJ}>HF3U(7jLO%?ppTEo0@l|?+OT1kL=idYAzvjk|#MdO{ z-z{3EiQMy$3#@3FH^Z$=?Uxe~IM(P|kiFM=F>~o!Os;Fn=T12)vOTv^$Ou zxPU#VV+~LNS7}#40Cv3%u86zz044EGZr~Y83V+hX97GM>4G$O@j-@!~co=zJJGiy) zF}3pJA;cTm`bo1-Czuepc8uuYT_mGvwMLE(%Vyk3F6vgpdLh| zB1GX43uZqlib58YeNXQEVx0V1bQB$!@DaSf5cY8wEaU}h%?sQ00CbMy+FLENULJ4sMm-&*WROlbKNv^mF8cP{-1VXC4@d$E$i`a=-xy2*J%AxRfCpeDYOU;i9nPumL=9+< zi=ZbgqLm7~1P*5ls;)H&aFIL^*%4@U02Tvaxd7Z9z+dH@|IzpPV-0u>@(gDLB~5&< zGd*bb_w=A9&S{~nBnd~x9dN@u0Uxl~oB*fYhK&Nnm>bSOns5Xh0ykg;cC%MtzA?cV zY;?mdXd!{Dc!nbwPw~cyOJFA2Ku2~C7GuvqD&-OgVcW<%JIDdX_rOz-8-I}(+a)~|I!gvOQq%0ilb|Ep^h!l4rmXx1Zba4^a*^o zU-jHZEuM?bxB(NP1y*Du<9r;!x0neKHLyBZYaY+}ahSU+p#9fu5lZ2khPODrpE<>6 z@b|CcE2iPuoQM-Zavi&%)pVjulg&V`Owf(sxBa*UtW;oY7Etzsx;215Itzc*&q)oi z7(rK(uPEg9OSk6O-FW`Q0V31#~d$7YxEV)E@7BZL)_;;T>>rHa+m;B&8BWf-!u; ze4a3do2dh{?c>4nfgplbOd8c8jjR&BB6(Ei{aSpi6`Q?!!|#vb)}IZpuo0dwgtPz9 z9>&>^PlfTot?UQpuR-6!H?w z;fbD0ep(d6lN^OnV50|A0B?NNoy}P!gxw zgpcPu_xeiI!imffkAj^UiEFbD-B~vnK$!#>kBcju0XWKjSlJCGlR)AEl2mXv1MpWp z<$wHrTQxwu0agtVRX`ZQ->3nHxpiF1pk#*xf;b!cR8j7LEIvs|5qym2Op>dH>m@MQ0-QO=Y=gC!8z|kHRz6_*MmoIZv0_*dZ)tjE$7zXLDe_~ zig>8*{doLI9=Lq{9p%Y0YJp3kKiuR@$5L3zL;OqbIo>*A(68jg{aXp_AB4MMIoif~ z?U@!;PfJ~Ez--hiw9vTpK^>R~I&8c$lF0k*WYi=;%kl1Z<)c*hl@n z$i4rJllu%Df0nwi37&8|Cw&a}|7d3g=*9UDqI<9y0GR`@b_0f}^Kb13w$8s>1N`H2 z@YnsU0kUBx)Ano6^R5pIr%5~s#`D$@12-GD?NrU z_kJBmOV0j4>dh?9{w9#fY0?f~;Q5IM>z_|EwTfC(rW{72{%zGxkcaYKi_1i`2Da&< zPsI&&Ur%b31qm%@*TN?w6`9Na>|^bRui_Bt3&I5k;Oz;->A&1L&2xrs;39Xwq&eYj2#cwb(Fbq7SAu zm5tl(_&#z_1ITVwWp;t^6Uj~QoQN6(&)cE1x^KN*G8=)VT1+{y_ z*`-&VK}5$J5W#KS1n0@{J`Q7eNIi~m?$2`P-{G^b+3+0&%>N7henIAwN`v{EIXdG_ z8UxqAjC+4SXaAbx34WiL+AnND@Y0ImVrZ^)<6rnI73(1E|0^vTvk!UEI;*024#x|5 zN`FHtNJVhaT3FK0V1Uf}fZ09Q~H?>Z-e-E%paQN!;Rv$A5r~Eu2^H}JXZ;nNp*&vE>3=}oi-GSj89Ji}sf9i;3)1g* zpq`B6&s#!;*~i~-m9zg2#xF55&H2Io0hhu#oP2m`=%v?(Xi3~H()o& zP&j~{Oh!aN4Xwm?zS1~L7Z3xkBrE+=9eStL)X&fOf(`0wYwq-kaQ*8z^}AJy^9GVW zmoTR>1O9I^=YI?=zzA5G!La`W`Dw^b5b*%I=73#kfZ_pkB>}v1djQRo_5v7~s0KQIkXumZ&lyO9%aFoy9?bp*lOm@_yxUCGp~$Ss;z zPX|Bvg|7M<=z0eV`>$jS^(9-N5qEEK(#CRu!xNwzzH>ZPT;UO>j5mPQXEU8Mf)m^s zS79SKf-H9C1enh4^f|Be zgs>k~aRV#_4c#$5;tEWQaw2-b0u+_EW=bC$X`#)*^%FSn;_2B25)kcg4mDu}zN|r< z`XTE72lA`D4g22zTlfEArvpGdz}6hFTLB2a=iKl8@iSo60C5LM4Up|(E*u~m2CXfl zR*IPD0zqg{%|NYXm=`Drf)!R!7=iO_7ukeIU^0HU9yo<+fpiV}f%IsEQO)-_1uio` zWU&I{Nf+!2H(1LkL$XkAT!XRMIPh4x1~)N3FoE4V9oaurp6w%69r)_31HsxF_RY~EqDW)(Hb>M^JIb7jIM+lp`w~{<09Ko3HY+(a#_9}D-CDHN=(pu{dHjcdxJ=3f=sr-`d`u> zYaclMX_sIIu!>T+)t zh7rgPBM_Th@h50of&^CMcO3`M)rlm$s%#v!D^?(pssfMbgimk|*3uD7BQ?JdJwZd& z6L^v-U@-$SL9iG1@LXI&{YV+BPril^^Mq*>9(W2K2w}2#4U_ldNf_uz{%~dbaXWP& zy_N)q;43@&?t|ISaDoL9EF+hE3YB089epo2y$8Ke(kS_+=>j!IzSn z9)bfhOpjrtVas}XqYdBfB6^`4Mi|q<>F@-U1uKmsC+sRrKqe+HYN7BC=UmICuXU*Z zi$VV*skhy5{dD4U-KhZmIRC@==mb6|TY)7BP#nNk4p8|0|6iSd_Y{Epy#M28;J>Q@ z!U=BUb!jCEkLGpQjlQ)Z-D`33t#Xqnn!qO_e&M?yfkSWtOXvqi;(Key*5N9+g&b4? z=?G$)AK9066L##?@-2rh*#l*~SH}C(6_3+YHmGjZkAh~N>EFQrS?F}iF)JBF#am+>qYLAvIzny@L3E zTsdIE|5*+|D+%l)u1|Lo&_90FyFc^eGZ0<_-mAG`7Y>l^Lg(=ZSc$@xS9mHM)L>9) zdz69dymEc$2C|?J#$@OCGdO{h=05JWh4=)9l7wYdff95C1z^BZnsLmC<{RS?%)lA? z;_cLdxiEx-(Ft166_iyD;&etr>Od%)$b=(Y1*RTN`gm(P>=I-TXJZRNH1ftC;2k(b z+R$Ql5ex^J3r|>?I-sM`Wx=BtUyGuBn`kN|^PS5FQ18x(_|zE8bvl zd_fIxVE0uhe;D0CsGG`a9(Ot2TV0dkdWlz zmu%ZT0jIW%jFF+ZhZ>`^2QX7)sRb{!n`H6sL5o|+{XC3&x{ay>C1C3d;?+ryb{H3T zaRep~L*WS?amH_h4Q`?!T;s&w;J@yoCp^Q~{}Hw?CR~3ylm<`DkIaG^Bo}l6_m8FL zSV`W`5ogyQgBp|_#iA&Ee^XTdA^K!80Je|?coDDD2R#<)D7o-JmWT1|49b~~Ct{y* z5ua3KYG7Vm6V*{p`=JLe!%uO^3^iln4D=!`uo@G;t*NaYcx%U_0~kQ=|Nf}4BYD;( z2Y4yWtV{sQHn3C5|6}R@!vD+pe@hK_-~WI1b?^SV@Ml13fGC63#87w*5PyJpgpR2_ zgB$5nB|kt|>b~4kt+~0Xz+{=^h-4;RJdV#7^QC!*e&7gcB5Ux!PXX=r!!gv_YzQ+@ znmXW(cQAvQ9QR;Eri!1kjrbhip`Gvp^SLcueL-2yP%ds#VF@2`whro>;MXm7pq^eD z&rL2S3Su!~{6xE~9YZZxLx(<*y(B%s1C4PKl|?z!NFvOIiy$5Dy(Hj**qrj{pabg> zm9*m6Q#M^oLyXu40 z>EFcNe}Qz=cX~|Y7yi{69A`Z|Q2qIS7U73D4(54jL^Xe*0{ZbRv_vx*LxtQ(PS9oZ zIb1*zpR8ahe~>^`vi};W$^SM~fbMVs13~|zc*bYaA1tFA+v=SE5&!R1?tk(By70gI z{D;4y-S7RsJ_F%6z%?}}9wBST*aiIN$Cx|Y#r-3x!gIi*qj+uh#?uo7;TLF$f4CY}N_3qhjY-EK5a|{9nob=*Im&(24$k zRV<;!{!0Ro%>P_Pw{_`%vJX_wzbggE?Ew6Lef_(?{+mjU5nbTp_sL=L3P0dgb`7WM zSzdS6&T)$om_}bZlsl?3+CY8ou9A3L3Zf3ArXPr^Sb^K*iyjB*Zeiod0+NQM4)g&J zv>_*_2Cji3@B;;5#?rElFg7m2H+YG!vWa9j4x;(=1(Gt*n0zfidg^q{7k@@GyvTjK zk(2@92-}fCY@vbF>?;1EJ*O);3sbih_rN?(@Mu)~AY6NG@$NN5$*aZfUKtmE1*$?h z-YW24RXFvv`D|01hn=V!{k0Kv6m#(-Zst!qjr#CJ`-s;s8GU~ty)en=4bUnFkp4Fh z&0;U7|1LS8QH&(;eqOj7YQk*x#`iEAOtS}cbI*87_n(42D-IOWIxr)BQ32+Y5wwrV zfa@TD&rArWL=ngbuUZtHwHhwrX7m7Ed2R=RwI-kuSm=(ja4-LIf$zcxEIR0;vPyAzGt6 zM7=pvwN(ajHl-Q9!f7WPNtVFA4S|EV&_E&3c`~xcKB5)ez@>8p)o=sncmXrVlc)tl zINN=2@%5x4bV1jXM^}a8;pXTTm?&c61MWC9+4EJOn9A(;QVP$M%r+ufL8LaKMD6AYD7T=$%g({jPAd= z*_|3V1yr;J{C|!K%NOPsSb*f5e+vPWR_DLDy8mVJZw!7wYX^u-|4aUtod0tw0qmAa z0FiCL7XSC&egFSA{PAymkm%jjH@GEW}c}(XqlM_FOk1b@w`D*yYE$IA*Q2H-|C7zJ+ z5fSw<1$Tcz-50NKU3AGn{65oA{6+J-qCe5UF!`6($cu(i0dIrwepBK7cTm5s;{lF< zA1Wg#C%~+PKcW+p)D!6b*O3ntLS1}>BQT;*Jf5elR80pRKslbj1|X`=Xf6Gzt+EGP z(*IT|@9%CW`zHyY*O=qHOR|fcf5HFa|8e90zuH;-XMMj?1H>id!U3{#Trx!N@v6JR z?Q@1Ki-ULsw!%s+SK5H^g2D-OpnI)PA6p7e%ZAFGnT{YaI$=bg_uO_5QNAwl+CRhz z*aknaoYOF!&R`@P3456xaT3-C5tJf(upqZ)N;PNv0{_4%g$8ChGf1ne*`oADeAN?N zq9@owH$E9PUeG{wc9iMVflQp-c<=+C$m@N?#NHKZ!AbbS!_h`9^L;}ZvUjXDRPp??n4SwMf(3H zB>#28{U^Tv$@l^m!2L=3=MJWX5AnR8M*WlXe_Qc?mjB<%0Cb=Kf7W^UEB?9RH9%&D z-f_oRZedXeg%OZ$;4rUAnO&3ll{x5C<6x}%seYh2j=@R_3)p-Lzzd|sEf9~*Lto8z z)PV=!fy?v-$MF&G#7VrGtf9H)G-(lfX47#J=KC`7dp&gn2SOG4{ps|sROUr zKXQjnWWT|MAB7RyK_w85U=|v=a0K1p%j&cEb;SqXry^Kbpc{<^PN_jmq({S5qV4S4IU z0gsed@S4*xe2g1P@`Tp&nzi}?OCJb?8x$;17k0ZmN})fm_(Cw=*{K7mNF0q1KOl(U zBTV5lXK!#;^#nPvJ@@se-Gp%oquwljHD}gGYwP%KV?m@zij;pWZFWQzp3>8vi*CFn)?Yx zcR8%I|MT!K*PQCVxPPqkZ{`13{(txR|G$3yyZ=1PA7D)m3M*(O3R;YS=!23XAV?rY zDTLw`T8C?R5zcjs6&Qe@MXEqE*ufg`TxIBYec`-4x&Lx-3#Nqy7eo+~{NXR=d(|7< z<)%CfSGJb~oi+3Y({axaz(e1HGbQuJdAMO?Ghy@)pUq+1c8kH^gPpE{B6Q{1aOK3H z4!mGf*F`4u_QTq*W#{uFNmKyMe?o;$ZK?1jUU0zbNL*f_Qqxylhu-B4nKNW6J6awi8 z+Ve_p%&zOI+*nFVPAz$R@xN1~N@o z7hc^LXI(m#LiQZREyUPGPw=ZT8YaFSPTcZ_KV3mK@IX9R!gnBoyG-hxg(KL@%!3Oi0Kc2-MFK@GX%;jTCVH4N!H9Pfvocz=JZ*&!M_P^ouPs*HsUXVsH`i@3S zHTQ>;oDUA!3m&=0%x@H?9kStfE~##RVg6>qY;1?+xCp*^4fYq+FN;$Bim1-N?hme? zQOff_$9em2RKDMRiu*qa`oF;Wzu`RpPk8Pv_0N_6BZ;r>`~Uy`mGAx&UC)5^>au1A zqy|WafaMW*j9XB44+|%7mb>aG{lG4mD`5qe!DLAlkd9z5>|jsk+}o0b(-4NRI!ZxV zCW`~mz@#(C4=T3qrwZ`bE*U9m1|fW zgOV;NDR;|wRsRaFCG6l(94@_KyE?Mzss+7oUHXD5AcE2$0)OU;?5a2Lpc14*J4{3! zh(c%ZhUAeu+@c|zrcF%J&B8sS9IQvXY7$pT2M5h{jVUK4R=lePM;0Z3{$K3Nzc>e`e;vJ_xf)N#UApx@pY4Q2y zVJ;y6)u9Gc{_SBMhT~3J0PnYlsm7b|{t?hAMD;iDIM)HC1mSb~6%X_d5R7Zx$ZX``+I;`kNS|0|CFWS|>y{06AGKNs&W6F(#9lSKEMkB+j6nkl#c z9&Z1`Jcq*l3;LJcUsm?-GoEc1`|q0mwSFq@*Qom$_*Xmw)~n5xEo@B>T27&-$}cF) zp!5Uh)Fkmis=zLig`^6s#Me3xoGU%SD11X!9q3LSXh$VzMkS~ZCteM%PcB~~f=!&(IUs@& zZ0zg78Eye8s6|?Nd5}R-?sZ?>1Ui#^c2I(Y^R81P0;m)vsTY;G^BdyxX-{%VKkogB z{7K7V9V<2;_572N)!`v;?}%Iz<6KQ8othw5s1e_h!hqW!tq|9{0R-u-v{{WBm{ zz*PeT3COmgSIQ;uSos8Q!wN{6z*%0!$DCMTo65ZurEmdgcRIJ;c$IrS2nIX|exNIC zcw5|XP2mWnH>eCtUJ4I^bOyo@WJWtos@Q=Ka0B;9)ChrJ-;ByO6Rmv!j+>U?@A7!> zJ()60qh<;ub>N2a8xEaaRDu<7b~CuaN5b9*Q4P9K4_c8$(iBdwf%DM_cE33vZOiAn zFx}IaUSbsWV-{+|DmI|)qpDnj^Ls_+e@qyN%wP|byT2yWKHWI|6Tl{`mFj;P#PSC0 zA6GGdd8uYascho+7tc?3h5biS3#WmN7J`vhtJ`0gf9d^?gZ^E&zlHu?-ha{lt=V7q z`TzS@ru!rRs%OBe0a67%sks5k7nUmU0#4wOnj^mH^bCq~_!x+GKfKm-`nl@dZ!)&Q^&i9ObAvpiP<8ebar5Wo?+Bpg)S>qDz_VbT{+-~H z3$T~s_ZRG+fo{f|&ZZR1UmfaOTWX!8eMr);sQwoAU(Yimu0LV^f4u#L`?r!mB>5|p zXIZ#^%lrS?&HcM)0RN58z>hV+QV696xHy4_umX2L0^%1Eg&>4m?J&37ZuIS~VBNJ~ zUa13f6-OwWaK>;ZhN;dV2zIQ?cdoD=_hx0)7x;kh)DXY>{{a7RrU?NiwUb5tH# z5FBB1g$Ih78h3OyGZnLWF{uP^;p`s3++D;`c$~?d{jdc)aT9EUJKO+ou%2Hx(&2C8 zqr1s5Jp$T42j0I$1$kwB0Q1K|?Mu(u_hgc}G;_Xk_rh-iMI8idj#JOa_*rY2m2HMqjBS5XsgaN_T9=AUrt-?G~yk{O+D zKRLfU8*IOgJd?7_EH#Aj@5X+lvFMYF$wb`^>wlT<mfyDJA%%AvvF2SUPEB|u)OY*n1`&TA^B>Pt?@IU^^xIg252L3hA zz~3VQQ3z#nKr}*e3fzOm7H;s8!UCu8wjOpe13R2(K)M2{1JV~vrw&X4ACFXZAepf8g#*~uT1;zR;S<9`HSvnW&YixcFNShrTkgFzx($8v#&_^*Zr%X z0ap!>ZouUlwwS@^yo#SFZt$+c0v0cDj@#~}vnLSGzz+Ig;Rx4K2bQ9X2_BfG^a2YH z45beARZgPL%28-Ji7X$HNxpVo=8Q6;7+Q7UBX{v*`htrpjVM^95iOxNn8wK+K`rQw zX4e4>-yG*&efWZ!;DahWDzU$#GWfnKHKGO|uLsg^##Da?&V3+v{xCF$X?T;D!aQ!p zn{*si@+KWf7@S{pwxy(E_E}gzU#0og;O=h)o6&=QM(%#m{KfHSY5vyfm(E{Kzoq(1 z;)l5YEauPU`?FI2T*{vt{r{_9+wQ;b&prbdBk)Dl04q=A$9_PnfaMsv0mCH;L+6}m z;0Qf|iyPRY6hjLSEaJ4xb=HB2iYJsh&<8xw?K?YA8+M?A(h5vYUS62G>eLSwc;oRo~nA{EGg!kgnlSeP!55jlckIxJR zJ&XlI%%FZOrn6X2rqOQtjMG$?Tb%vZqoPO8L?+f}UnfkGOzb@aOoc}-j^KgHi`x*FGKLai# zU{wLv?0~QWGDj$^z(Xf5AXVThRp27L*J+pmiy;)faHmoXH!xke#;F!qbzmAdsHGPS zRk~qMr?a>@&f+@s+ENFKsJ@^8eL)uXmL%s^jtN5`Ge*|b@fB4Ij?%RUbCNf4ldtAf zFUD82fT}QuQ$Cwtf93sod}JYa{R;Ys^>hLTd^Utc2{}9gME%$yjbjjqZ=g)_S zQKo#Q>#q-E(FQFe5H?e`drefxUvfSqPxN1umi!SUtf}(_3E8Q- zf{oOHRf-?@5fA+6ALya#Kr1z2Aay|af$+&=4{qkvxQG(M5k&F%Mk3c6&h8`gKKJ(( zy7zP3p1G{Ii&U*Umrp z?fnKR0#G6>Ss9Y`&RgMJv9YVaB6 z?hVS_b9}pxIo%IX@$cd-kYDfdUk~}{6Y9k)dWjEwbtLkPVuLD@QByLaMdm?^(D3;b zN1Lby3TZ?Y>VVhB+UzBpeWvj*b?N=$_1~p9f6MJBr{B{2W7rfZ1Idr|mEOip}UYDQwd@)uG} zGVyzJQBS-$`Tih{GI;!I;9r)GzddI^5Y0kR|9Hjt%~Sb)tN2%o*Ke0{`X5z#zoh&M z=P#_E<@k}i-<9@nss5t-S*pKOQ+MzG?|2Qn|IYvIGw@>-kQyMVB4IqF3J4aEDqu|! zh)Q5p0YL*YO>mkX`2?Nv5xDaGN;8z{qAhp{E!}X1(?2j5c3mb6CMe}_h*As!QQk!{ zXhlEX2uvVsVI}1)E{31TkJ(&t7RuydZqPw??(@t%GV;iPl9xd}GV+lue8z(_pNFsY zq=Fcn`yy17vd)t)w|*P`rta$A7rt*isDB2vX#xK_ney4dzgfIKlJI49{o?ky=sf** zRNw!I=fKMPx90tR^!&Pc|Nrf4(Ea=Wz0W|nTgcT9Sh*r^oO49asREKLAP!>LK_E#( zSK$T(4MZ5*qMG?NP6!oJbzq1C_q&|sjsiPhB(MPRD|rY44&7gW3@Ucr<=ML|TtP!UA|K`sIU0s``%?_G-xNY2#E z(K$BryPx0nU-w?`yVv)v?|Z+sH;4srEfJ~&IXo*u8-O1;&s!>6O>%uakieD{#}Pq{ zj0m6em0%gq&7ZNIF5r3k6W#*kYJyqy{=k*RI)+d1aPeSI+Rt9yGO>c<*?T;GqJ zA9_F5`s6lfepu~S#vG_?ebt@5jrIPvx&Of#zqX#-3kLp@7l1B+^#afbv0^|e1GwW@ zcD+V;u}NNlm4sM50EGb8793%XAX?TAqoi7hs=+rhJ5W&pRuUjTfG_x5t}@1TN4NrU z9{YnpR_+2gj>lTV+59m6_h&ybhd;xof8;1)K6{W)InrOmdsxmZdseaKf6Z#-MvgtU z%4~nH%=guOJ&tkAkH6`oZ2toH9#{CN`}?pRNxbONj}R!YG}nIS+cfHzRe;d1r~OL-<=%yx|}m@QmAg1KG9kpn(k!rxlK z+e)tMt!8hsw!!Xqu&>$8(Fc@1%=(Ar3ZF!o@1xGwIPXL6!_1%0n3Ud+tiPNwBkPCe zkM+Jv@mCBzSZB@F8yf@nl7YK<0aOZ=7cl&Qx|RU-LTH3g2UN`vcO%B?0kw(<_acN= zh&vA`Pk@-f&4sdJ*wM>pRQpg^}+o+ee*W**+9Mb$@Tf{f6~7RsC#p z|GgY*wtYRQ4BXudph^H`KxqS5MXV|X$`2@&FpHz<%d&2$DhB83YX-;-;0X{Fpn@1D zGX%AoK*a_7IY-|o6@v)r55AEK;#L_YY~@&fOZ|rD@Di?C%iLf_kEU{w$F{nLCb zBi_fXuU7Y9bsuaWNm(BX`$H=nn^XJ1rQ!k+W05mb>1@PBM zjA#HAGk5}AS%eJ=0scaX@&u?EplYC00#pv*3sR(Jc&gqXoM5Ysua6F(Ai^uaFJOaj zK(v6F-PmC7$n4`-V}Q-Wn_#ww-KR*qKPxkR%=sB?`?#VHmY*jr->`k;`^xr_^Q&6F zy2clCzk%L1_y2rGtgWZ_o&m!SpoGCLj5Wl{52!VShB^R0a9yq*KxSZQ1Xx*|DL3ea zN-2P9c%E$(>kE}fNM?_K_y9FUKbsyP2uIs_deq{UDQ0Zv2eWTWIv;KQOj%<7UIWzD>FQD!+qOLB6Isi`qi^5gL zs24PP0^|m2O(9klA})YZfK5dP$P-|-NUO;69jVlL~LZIRSC8k0JQ+hq4Eca4zS`F8)AgUXN|A$3Eqdbs}1WDmDMY|hr-u5=fm!e zTpv9%ls;woO6xbS?p4_SInI*}g^hvx$-td{K;4O4c><*rs_ej6L7+SV;&1o?BSXNo z21+-Ca)?c>IEGh%Ux0d`wmYAzYJ>WPG1IGhz7grG${ticT+M?GmJi!U?`*bzKSzdb z-~UPszz?XLz{m`g7r*2 z4Us1piUGWV5g{0@QWKSpL&q~V%<;wst5`hOs=u*^@LKVKu}HP!a9rpMSCtzJE|S^oV!|F*r`7*GuSFgGwffohe7HtL3kH!xaQxAF{4 z|2IBWt)c4~F^1Zw+JAG)x829nHZpAt{Nou=D%+iL!JVD}uVA@`75}hR>b>#4F}E9S z^S#+D{~v#rZAY{*@M8=Zo}jT+mfGBY)oa7L;TP2NyMNDkx4G4;qx@K(Y@gd0urctD zXQ0ss-2GW|Yi@jfH+#R^KK}8TY)7;)U}NBKXW(wu`}e;0w;$d13mXGA1|Bp9e!BfX zXg#;}=bxDYQ^P+ye)b!OhL^S{HU?}A*ch-eU}M0>fQa3F<@iB#=t)@ z19S8@hM2TDLrnTm_0UZGnjgkLe&1Qs%saHl%|rEPdkgv3j-fgu{%)AeN zM0?NSeNNKT%(dDf{>>?~z4iz5I&G7Ah1SE2@ACKX9l5U)T7>zOw#)3S$C&>^TW0R6 zAM+lnE%H92-!zZXJS858?fL1LriYv$?x|+?*P)+rs^~Jg+U5uYsdPJ78|9$C@YUW6bG#rTIhc zOY>!IANRYpceK{u`;_*Cd6gDseo0$ud0ks>Ss0jQIj8M0U(+HbC!Mu@eVXJCec)qq-{0{5R9nma z7-HTW(A$z6SZs@*H3v%!B+r@0ZWTM(LXkS zs%M%1XIQA^4XvZaUVqx+7+`1d(Spt31l-Tjx|&VKKOQ^0-yzr!`i{qZ?Q1jkh3~(l zwUzzj^W%+vqrW)E#?Se@494%#2R=_~Y-nFGk2@O23G>37d(YIznR{t2W;tFPc3?7L z4Dz^>51a$+hx;zi#Uib{9Fvo@P8f^ca{M*T#Sq6hi!N*ZI1iE`-s*{)IJywj~{P-&l~SGeD|+BkvyUwP577t z`~EBc_`I8wVg_0U1dcLa9k$=nFDA%RrIDqxK7#F~%KOcL6_#HQTWVo`G5#%fUeT7> zZ?3lJF>@?ovF}=TXj||wS7`^$pK4w{k9M2q^SfcIEVBYaEw98ZwLB6t*Rn!?$8t3A zhUK$v>wK=i9OdIZ{G_EvKnn}b%_99RZ>P0STeby+Th7J|@(J15!-oQ2w9F3hw4mEK zpFAe{oX(LpQ>*(+yFQ_psWHerozg#)KBKLE#LT`5$7>v)?7w)tdSkrL)Gx{N(Uguh zA76f$jS(Vwtr&rB!pBF+G`>glMv%Id4 zX4~#*dHcyPWdFM7&423j;8&m896aW!qZ5Dk)cV2C&}J8T1i}9|K5DHbUzgOk*{Zds zG;1%^e_meSHr>ZPdak{p`lY>9-@o=v`gxCz0jzeU_G{;35_J<9kE2P{*3^-Sxv1I8 zEpt&5&Mk9MlTb%i#(sMQe~+=(%~1I30#$2GQ0*O@{?xwmaq+v3Z5?In-K&)_G3FtT z-17UqvRlYjn|AMbu}w6xVSOAmcT_xZjHoV;#n)P zmnGCn>=pC)dyM_oSmuSX*JSYTxvzDr6%WNxHS%?6NUm%{&gRHA;X*0dyVyxQU1mGU zwtJzoZ2RqSl^l%f=piwWy4FUR3avD7b4vl*gSU|DiGVqGIZ8YB5R^H@s>k_M2YJ z2V<{EQatSQEF$*vg5wMV7r!5vLBJj!l~3+xbYb@#pV#&-qTMqNqR$x@(f*GP;)zyn z0vwEvZzsB!IEyhW+lzv=)%0(@T*bNEo21P)iS)_}a{Sm%WQJ6c$=M`ITx%t-7^~X! zdVXS5tIhn&JOQ)EF?(Ux)g(N2*o#}E>!@p~lWco`>>|K{caK&A91Py#Cb=5YrIpYl zP2%BRj^bMGEo$kki>#C?s!X{}g$30Td#N9fkEvGL8-AVYrda7u<1;BEu9EyCGU)qP zZqgddH3IgHxq0;H5GS#*ERP<3&QWZ1%_oj2M5kGf;x|vW6Rl?JV$7oUA}8n;fr|rK zMRNZKa*L?Epq36DDkfk*(&q-5s;tCu4!J#{3vkdWK-p2JMXGf=s>U0}r}1br%U<+M zZz0;eV=soTD8^c6SnXubD*WPJBN5)KLqwCTiX9^iQoz zbunyGYstZggAa+8opkZ^3$5k&8dBsY633TOmjEZRb9o_k*ykX=9GOdPGwo#yE;cO5 zBVga>UPQo-v7MDvML4f$UHoGt7i%wVlw7Ruwu#;zd7hrAJV9$lUZYOFM```wJc>BD zMRE}lvxR{DZLjm>b;enIGop~XcWfax`{on4_|8&7E(vaMb$1SDGPU^=%`xOr2X=*LJ&N+)=AGa1+ z;Z+2G8@Klcfs5UPuM=!7WNi+Ci{S7q0vEv%SrYs5y;mjn@Q8egeSg0qI^Cz77WidS zQdAjfLD7;6;O`N1oYpyRlGv~I*iW|*W{x2aQZ(x+CoqwUI$z{M=TOLX;>TeL7Fi;BZ)XmW5GU3{^Urg@~(mElzc{FpBy zR~J#6_v}SNR4KKYZ7(pl**#+tzZ~Tv%yU~w{7=}siQJ4^G+Ax9{I{qglFW_ z)t4_z8zak>pJ8S$AR>=I8WfBb%(=}ivyju zQ=hPS+Vjp<0`}E{L#l3*K7RS*SFXm8r^#R&2C6CVJ?2^AbKVT2-9(|qG zIpxtK@s7f7lu7*CI9CD8kM*ygM?Wx$_8&Tk0kc{P_?|(%-9)EQM=@YkOOZO`CiR%v zLWJ$jqny=@-AKIO(+3t8gUYm4{z{S$CYyuba zoige3(N}4H*%eyopGEUMGYQx~^~|C*eXh}O$EM1*vwNK6B6sJ0$wlbGFme;I6gn%6 zc62C|9C&SU7U1BQeO(0n2j=q^e3Rw;@T-2wbZ|nkw4Zl}r;(}nki^chKmB3wWlDW# zH%)U*r@ZGP>BE9_dThjTIuuq+Eyl*sX;DtU7y6{{J(yn(f^ZcBGZ%A%uShNe{4djjC7Bd3 z?=pQhJexlD%%H`=+2r#`lH|g^AX;+axcobM*OEq8p4&$=5-!qd+C_=4l+n8*(x}@4 zX93K8*13pN)-vheFFv=I+=j8=d3h`S=g6~^Gi$&6eY?R&Xx6+-wCv6GPwXkDU<-}Y`V;Jypq zj&8hmfWGa!oj&Yvkvb$Dp}?@qwDSE8UWboHrmVlsKXWqdEUVVaDod1 zZ}YbNk=s<;!AjRh)DXA;<{N`+CFVR!wZxniQ6*!PjIc^7$&aEfdI2R*-$jp?#ZzkN zZt^@7M~fG)BhT*B4t6_Sgoks$;wK3KVmI@cVfiK$;u!Pk-W-!FtvcIH0G!5~W_nXHHCWN;bz$7axD zV_FDs(C46w%;SFXxXL4uJ2%JM{5A62+g_aKGG^p#z+CNHN5BkjBxcTefjNJ9wZxq4 zS59ej_t1ignUpvnf_hJgr`ZcuQ(U-D<03E5ZZI4yJ?l{M9Qw)M-@|k zFR@=A=|_%1-;qO)KhQ&#!_@QWp9ox74lbmH@2{mvrC(4;>IRymt)%#Xo%F{}YpClZ z$0P@na?cYuxH<5)p|U+3pf=zin!sH?{h4{LnKn-htV=*D5jB1zAbv`8}-? zb7jVD0%qjEz?>R%Q)1pWrGTzJ$??tD^YmY|g7olcI^pUoxwzGh=+q-0(iv@##QuEQ zuc^byPgqNsO}*zXpz9Vt>Yo!tH4(Gv*(X1v$GZKArZ4!Co}2s`ZCJR8W=#*J_{BSE zUfLRZXvAU3!Rz{2$pLaoaA0bw@?P_st;9q9?Zs1O#?P4h#4EptJiht)ZvGmW@g6WE zCce#>kwXKsbvxsqQcajwPfjT#_=weKbLsohH|fo(=V;s10*QI@)HHg-aRs?wh^12= zAJU>$>!@GCNP70Q&!~Db(X-<|Bj1GA>2=5Dl7sP^ms8KwKha0#FC_;dJ2yxU4#jVm z9OMm)lpJ*NkCPmX-u}JhV0pw<0tYVdX#yO0rSUjt4!qKxWxo4pZ>6Jv3yHJikK+es z`CZ10)*7Z-=sM7Zt`59Kw_dEHnAIhci$$K%)u1(^)|`Dp4nSz?4D(`A#{^$Pq;)#4vHp65jbe$f0)1lVrOtL**}fI zLFkNJ0tX3kr34Nhe$`QcgT9kpMXUL`=)01~J8N+syXyVj^q+v6u}a*{+B$!Qzg%bh z%*Ew`N&*+(T8bqX!C_gF3*i6Ek}WZhTYgqz?q8fBF}DdhEHPJ4KS;oQ<;i`te%vNH z(`vVjTe9=_Ne2G;Y>YvO>SuE=}%tcyA1%ZqGBZ?#!zzi;cd2vWK0rMpH zGy>)kDW?gTA9qTSm_5!OmY5NfC%zm(PKUmulK~ObWnvtGgOO*G2^{>-_)C(54S{)* zgM_uE1P-c0>IfV_djSU>ogHPK;&IAewyoY`ygY8*Mk(Cj;%~uvx9>LKk5l;1k7WFw zw`tFe>ynEerpp*^NXfI!xJS3 zBcqZf2flIXk^|)N;NY^glE49Qg9GOrJAvozUT_eO@7YQG&_6NGrT&buTW_~_!}9mM z*D(GWGyGrL@(QX5V*G*EDRW*G{n?U5ht3ugFfWPACSd-+KV4!*ObpB;!;`7+k_38o zXI<+%!6+-uwhSHO(tz>H%8Gqi1B&YxHdmA#ovzUUEMpIe5F@dC9@-pbP>B$DB$f2W{rq3vd9Pt}LaN9`5caDyG~f z*JG^XaUWcda?Ab=`jyeo`_}UDuy0^S3(U}Ofw^pZEdlezK9vN_higg*m^Y2hCtyY% z49v6rGU!)5lj(iG3-r8aGEJV5COLri3l6>IWptH{r7wF_QEg?NmklFm;+!02iT7hcjEca z;!!^?fEoP-X0$SY;MU-$HcR0H2l8{~04+E``yiZW)W2(MxPM&tm340Jm&^;fHR{`c zwXV&-0~T-8tGPAm)jy?94gOGnHR`R+>#V4&qP~i{D)x;!D(b1IqoRI__fR)Qi+U;Q zq^OsoPTI6Sig-c4OFh)Ct4Y@VQ1?XL5A{ye`%vFQofGvv)HhMjLp>99Jj@NK|fm8esqPKWv=>;rQI>T#&UVV*bYaHzjQ4@12PbvM+RP;Wz>33WEq zSWs6(Jqh(R)RE8^)R9m>L){4VGt`YxFGHOO^)k%0sFTg&`Vi`4s0%f%hoKIJIuPm~ zsQ;kegSrRmJg9e|&Vjz5zJa<9ax&C)P{%-DP{)9FkGc)&7pU8yZh<-l>NKcNpbmn% zgi)74JqGoNhB^e-VNicSy#abVTIlSkH$Y!Uo#A8F)lpY~o{koE1nB6fBN+7q=;zSO zp_@Z5H*|8;2~ZzE{*D|3V+1vkrgZ@5-_U=d_d@rE&I`R4u`G06=(^wndM^3`Jr_DI zbZqFj(5<20La&B?3%%CRsiDt8pN1|AUE0uPo9eO96rj68Z-wp(oe_E?^hNXqx+3&d z=!xhH^hD^W&=E0ipp`*Cg>DGl6gnyNQs{)xN1+cw7e&4RT@)NN)kC5CLI1)rp#eeL zg!Th{51J2jE$Ca&vCtQ^(DR^QLC1%F1^o`Xm7&)`r-D`qeG2*QG0X+jbF7yoK^UyJnyP^-s+tCN)s^|mq zbo2rG1mbq7Pw>8tbs2XYpWnx8woOyrfwqmf4hT%J`Ae-4@8X#7mpCS3P8<`y6Zr&UOym=YA<+lK&*($byy5T87wYG88Rv4J zaZL0T$HZKYI2JJuTEsBu17a7%uMKhQPsI9{IB5F55kKIVcpvc;TEtUm(Fe3f{DkL! z&ja%==3ir7lQG|7o;BuI%&VABF|T61QPX)8^A`LN<}1vbm>V!(VxGeMi1`WgBIYH` zi-|(04Vepgi z*M^^jUxt5#Uo`x&;fLV|@f++9{tkWzeg^&qeg=LH{ssOGbqM$q!=D*k8+HqS0lxu1 z0o#F}fNj7(z%Jnzq(5MLH2eYfVb~phgK-Z#!`OqJVSF3*g>fzQkLKsOe%u=472^~8 zHCkhQ8vSkF;=JMf;e6qI<9y*f8|MkUf?x28c?Ud#Pn-wv2;Q*IrhEaX!IQ+rp92rR qXW%jVf&F6t*e{OTbU&Ck@EV`nX(p4p4Z!nHnM_|jZ8D)Xnf@0ts= 0.5 ){ + eyeIndex = 1; + } + + float4 col = lerp( tex2D(_MainTex, leftEyeUV ), tex2D(_RightEyeTex, rightEyeUV ), eyeIndex ); + return col; + } + ENDCG + } + + Pass + { + Cull Off ZWrite On ZTest Always + + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + sampler2D _RightEyeTex; + float4 _RightEyeTex_ST; + + SamplerState sampler_MainTex; + SamplerState sampler_RightEyeTex; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + float frag (v2f i ) : SV_Depth + { + float2 leftEyeUV = i.uv; + leftEyeUV.x *= 2; + float2 rightEyeUV = leftEyeUV; + rightEyeUV.x -= 1; + + float eyeIndex = 0; + + if ( i.uv.x >= 0.5 ){ + eyeIndex = 1; + } + + float leftDepth = SAMPLE_DEPTH_TEXTURE( _MainTex, leftEyeUV); + float rightDepth = SAMPLE_DEPTH_TEXTURE( _RightEyeTex, rightEyeUV); + + return lerp( leftDepth, rightDepth, eyeIndex ); + } + ENDCG + } + + + Pass + { + Cull Off ZWrite On ZTest Always + + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + sampler2D _RightEyeTex; + float4 _RightEyeTex_ST; + + SamplerState sampler_MainTex; + SamplerState sampler_RightEyeTex; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + float frag (v2f i ) : SV_Depth + { + + float leftDepth = SAMPLE_DEPTH_TEXTURE( _RightEyeTex, i.uv); + + //outDepth = leftDepth; + return leftDepth; + } + ENDCG + } + + } +} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader.meta new file mode 100644 index 000000000..a28d69fee --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 9b18630c0b0dd0944962c68ec75a3220 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _LeftEyeTex: {instanceID: 0} + - _RightEyeTex: {instanceID: 0} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Internal Resources/PlanarReflections_VRCombine.shader + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat new file mode 100644 index 000000000..7f722eefd --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Unlit_PlanarReflections_VRCombine + m_Shader: {fileID: 4800000, guid: 9b18630c0b0dd0944962c68ec75a3220, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _LeftEyeTex: + m_Texture: {fileID: 2800000, guid: 8542e4d5587eafe4e8fc90a22e37de30, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: a4990eba93b69ae418bde7beaab33926, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RightEyeTex: + m_Texture: {fileID: 2800000, guid: ae4d478fbcb50e542b7efbc3ca302b72, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: [] + m_BuildTextureStacks: [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat.meta new file mode 100644 index 000000000..710167ade --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: d629934c57ebb874aaca64bf019a5550 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Internal Resources/Unlit_PlanarReflections_VRCombine.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures.meta new file mode 100644 index 000000000..eee0da37c --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: db8b8f7213caac341a2905e22c082979 +folderAsset: yes +timeCreated: 1567532331 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png new file mode 100644 index 000000000..6ecb92bf0 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b27d8c5df3332547d4a3694b01eb79d39f40c23b46bfc777fbee60210f9346f +size 84013 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png.meta new file mode 100644 index 000000000..60fe1123a --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 1b27979f83089a74d8e0e37092ae6c66 +timeCreated: 1567532375 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Abstract Mirror.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png new file mode 100644 index 000000000..b588a5fe0 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9adac0ea36972981e1280db3b157d85fa6a4f1c6f941c9e8f959dde1e2b6c56b +size 34365 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png.meta new file mode 100644 index 000000000..0891e765d --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 21af9a3bd6fe9a7459bd7f8913249c72 +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Color.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png new file mode 100644 index 000000000..673ecda47 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:279e26e210f0cea601a8749362906b62ee15ffa5179d1cb6c0136f4a29380e36 +size 41264 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png.meta new file mode 100644 index 000000000..bc875eceb --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: a4990eba93b69ae418bde7beaab33926 +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Height.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png new file mode 100644 index 000000000..b5d29c446 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:331bf7681583301b38c802c27c1472224adfc201b4720013b9b5916943580312 +size 29653 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png.meta new file mode 100644 index 000000000..ef96270d8 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 3ce5160c86f773a4bbdc98508d41fe9d +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/BrokenMirror_Normals.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png new file mode 100644 index 000000000..fbb53f8ed --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bedf4c9b4cff5c5b387bde927e7d5e856148ed821b05fa10f0ff523af0b32feb +size 108609 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png.meta new file mode 100644 index 000000000..96b24174b --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 97204b14e5f25984e9a65f306002767f +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Floor_Color.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png new file mode 100644 index 000000000..45e8044a3 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df2088f0ef0652cd398bc6a65f047b87cdcc4b73e0b948c27ce68f8771922c69 +size 172048 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png.meta new file mode 100644 index 000000000..d6c3b2883 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 9dee4083c2cdae74a873d64904763b30 +timeCreated: 1567532375 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Floor_Height.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png new file mode 100644 index 000000000..d5c1460fe --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d446680aad8a5d5a6f660045dbc069e8862472964f5c755dbaf1b12366208005 +size 240570 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png.meta new file mode 100644 index 000000000..851a7c639 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: 6f5e0593c1b25774da9ea9dce850a026 +timeCreated: 1567532375 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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: 1 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Floor_Normals.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png new file mode 100644 index 000000000..600809234 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:071c25199d9990b5e78e097efba44365349ce4a0cd5b2176e111ed3693cb3188 +size 276356 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png.meta new file mode 100644 index 000000000..3f5c18737 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: d221b879ee42df14d8643aa3c004860a +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Mirror_DropNormals.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png new file mode 100644 index 000000000..4badb1e64 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e1e5a6e847a8177d6ccca19a948c53d55a5abe4b93d6ff8e95d7a8e5c3e16d7 +size 151293 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png.meta new file mode 100644 index 000000000..80cd6c979 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: d0532f1cdc6ef784386831f345dd6bd3 +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Mirror_Fog.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png new file mode 100644 index 000000000..c5df49673 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd01de8c506de32426a2f0d5772c19256907537c16c7a08d088434292fdc30b7 +size 12833 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png.meta new file mode 100644 index 000000000..2c9a38eac --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: c20b3f4a7170091499b262fed8bd3c3a +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Mirror_Mask.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png new file mode 100644 index 000000000..c5df49673 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd01de8c506de32426a2f0d5772c19256907537c16c7a08d088434292fdc30b7 +size 12833 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png.meta new file mode 100644 index 000000000..a4f0cb5b0 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/Opaque.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: af9bf88d1c266ce4881e47d20e726708 +timeCreated: 1567532375 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/Opaque.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png new file mode 100644 index 000000000..b0c05abbe --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d5de4ce9b8ef34aff390ffe52ef5ab562b59cc9246a3c0912496c0ef910a2bd +size 222641 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png.meta new file mode 100644 index 000000000..ee34678df --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 6bdc80a30f4463948bb42d9323a571f3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Textures/RoughnessMask.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo.meta new file mode 100644 index 000000000..242a46103 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d20c684c5ef31fc4c90f069f8bd3cb25 +folderAsset: yes +timeCreated: 1568055240 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png new file mode 100644 index 000000000..7c6f52212 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9753e8dfecb388c765593db99001711b774877fdb8480f0c888a805df3735f14 +size 635872 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png.meta new file mode 100644 index 000000000..8d18cf45d --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png.meta @@ -0,0 +1,85 @@ +fileFormatVersion: 2 +guid: cfa5a2106223add4487f9e7e69e0cc73 +timeCreated: 1568227140 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Water Demo/FoamTexture.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png new file mode 100644 index 000000000..596d80608 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a860b219be60de669f2b7a330d4cdc3bfaa2a57578ebcb5c029c5324eb8ffb5 +size 1251561 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png.meta new file mode 100644 index 000000000..0973d112f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Sand.png.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 4674bcc392530ad4999c810eb614ca3a +timeCreated: 1568835503 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 16 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Water Demo/Sand.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png new file mode 100644 index 000000000..9b66c4be5 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c41a80df0b553072f5a64b021c9dffae5631638b7130b71b3631992919d9d64 +size 2263 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png.meta new file mode 100644 index 000000000..21c481250 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 9f3d43c8d75062f4bb420270ea892aad +timeCreated: 1568055222 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Water Demo/WaterGradient.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png new file mode 100644 index 000000000..4dde6a153 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46e9254ed78ac21e846e13b6843e937d4596c6a01f64e6d7a8e3416d29c4b39a +size 285973 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png.meta new file mode 100644 index 000000000..0be9cbf63 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Shared Assets/Water Demo/Waves.png.meta @@ -0,0 +1,105 @@ +fileFormatVersion: 2 +guid: 4910e02118dc64947b2b69b4b4dd3cef +timeCreated: 1567532376 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + 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: 1 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Shared Assets/Water Demo/Waves.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code.meta new file mode 100644 index 000000000..dcdbc8bbd --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9ddebe418d99084db28b8747dce9b77 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core.meta new file mode 100644 index 000000000..181555ca1 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3df6aacb7b2371f4bb17508d5d9acd11 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs new file mode 100644 index 000000000..43f9ceb7b --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs @@ -0,0 +1,13 @@ +namespace PlanarReflections6 { + + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + + public class PlanarReflectionCamera : MonoBehaviour { + + [HideInInspector] public bool isReflectionCamera; + + } + +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs.meta new file mode 100644 index 000000000..b6fe9fbd9 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: ecdd6888154342440bbd72acf48d6cb1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Core/PlanarReflectionCamera.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs similarity index 78% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs index c2034eb6e..2e89fa5fb 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs @@ -1,7 +1,7 @@ -namespace PlanarReflections5 { +namespace PlanarReflections6 { /* - * PIDI - Planar Reflections™ 5 - Copyright© 2017-2024 + * PIDI - Planar Reflections™ 6 - Copyright© 2017-2025 * PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. * You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any @@ -18,15 +18,19 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; + using UnityEngine.Rendering.Universal; [RequireComponent( typeof( Renderer ) )] [ExecuteAlways] + [DefaultExecutionOrder(99)] + [HelpURL( "https://irreverent-software.com/docs/planar-reflections-6/getting-started/planar-reflection-caster/" )] public class PlanarReflectionCaster : MonoBehaviour { public static readonly int _reflectionTex = Shader.PropertyToID( "_ReflectionTex" ); public static readonly int _reflectionDepth = Shader.PropertyToID( "_ReflectionDepth" ); public static readonly int _reflectionFog = Shader.PropertyToID( "_ReflectionFog" ); public static readonly int _blurReflectionTex = Shader.PropertyToID( "_BlurReflectionTex" ); + public static readonly int _vrMode = Shader.PropertyToID( "_VRMode" ); [System.Serializable] @@ -67,13 +71,62 @@ public BlurSettings[] blurSettings = new BlurSettings[0]; [SerializeField] protected Renderer rend; - + protected MaterialPropertyBlock mBlock; + [SerializeField] protected Vector3Int _currentVersion = new Vector3Int( 6, 0, 0 ); + + protected readonly Vector3Int _targetVersion = new Vector3Int( 6, 0, 4 ); + +#if UNITY_EDITOR + + private int _updateTestCounter = 3; + + public string Version { get { return $"v{_currentVersion.x}.{_currentVersion.y}.{_currentVersion.z}"; } } +#endif + +#if UNITY_EDITOR + + private void OnValidate() { + + if ( _currentVersion != _targetVersion ) { + SelfUpdate(); + } + + } + + private void SelfUpdate() { + + UnityEditor.Undo.RecordObject( this, this.GetInstanceID() + "_versionChanged" ); + Debug.Log( $"Updated from version {Version} to version v{_targetVersion.x}.{_targetVersion.y}.{_targetVersion.z}" ); + _currentVersion = _targetVersion; + UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty(); + + } +#endif + + ///

      + /// Tests whether the given renderer is visible through the reflection used in this caster from the given camera's point of view + /// + /// + /// + /// + public bool IsVisible( Renderer renderer, Camera fromCamera ) { + + + return castFromRenderer.IsVisible( renderer, fromCamera, rend ); + + } + private void OnEnable() { #if UNITY_EDITOR - BlurMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath( UnityEditor.AssetDatabase.GUIDToAssetPath( UnityEditor.AssetDatabase.FindAssets( "PlanarReflections5_InternalBlur" )[0] ) ); + + if ( !BlurMaterial ) { + BlurMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath( UnityEditor.AssetDatabase.GUIDToAssetPath( UnityEditor.AssetDatabase.FindAssets( "PlanarReflections_InternalBlur" )[0] ) ); + } + + #endif rend = GetComponent(); @@ -139,23 +192,45 @@ RenderTexture.ReleaseTemporary( blurSettings[i].blurredDepth ); } + if ( rend ) { + rend.SetPropertyBlock( null, 0 ); + } + } + private void OnWillRenderObject() { - - void BlackReflection( ScriptableRenderContext context, Camera cam ) { - - if ( mBlock == null ) { - mBlock = new MaterialPropertyBlock(); + if ( castFromRenderer ) { + castFromRenderer.RegisterCaster(); } + +#if UNITY_EDITOR + + if ( !Application.isPlaying ) { + if ( _updateTestCounter > 0 ) { + _updateTestCounter--; + } + else { + + if ( _currentVersion != _targetVersion ) { + SelfUpdate(); + } + } + } + +#endif + + + } + + void BlackReflection( ScriptableRenderContext context, Camera cam ) { for ( int i = 0; i < castReflection.Length; i++ ) { mBlock.SetTexture( _blurReflectionTex, Texture2D.blackTexture ); mBlock.SetTexture( _reflectionTex, Texture2D.blackTexture ); rend.SetPropertyBlock( mBlock, i ); } - } @@ -165,6 +240,7 @@ mBlock = new MaterialPropertyBlock(); } + if ( !Application.isPlaying ) { if ( castDepth.Length != rend.sharedMaterials.Length ) @@ -185,6 +261,18 @@ } } + var uData = cam.GetUniversalAdditionalCameraData(); + + if ( cam.cameraType == CameraType.Game && Application.isPlaying ) { + mBlock.SetFloat( _vrMode, uData.allowXRRendering && UnityEngine.XR.XRSettings.enabled ? 1 : 0 ); + } + else { + mBlock.SetFloat( _vrMode, 0 ); + } + + if ( cam.TryGetComponent( out PlanarReflectionCamera refCam ) && refCam.isReflectionCamera ) { + return; + } for ( int i = 0; i < castReflection.Length; i++ ) { mBlock.SetTexture( _blurReflectionTex, Texture2D.blackTexture ); @@ -193,7 +281,7 @@ } - if ( !castFromRenderer ) { + if ( !castFromRenderer || !castFromRenderer.isActiveAndEnabled ) { return; } @@ -206,7 +294,6 @@ Texture rTex = castFromRenderer.GetReflection( cam ); - if ( rTex != Texture2D.blackTexture && blurSettings[i].useBlur ) { if ( blurSettings[i].forceFakeBlur ) { @@ -268,6 +355,7 @@ else { mBlock.SetTexture( _blurReflectionTex, rTex ); mBlock.SetTexture( _reflectionTex, rTex ); + rend.SetPropertyBlock( mBlock, i ); } if ( castDepth[i] && castFromRenderer.Settings.renderDepth ) { diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs.meta similarity index 64% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs.meta index 4e494961e..1a208a378 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionCaster.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs.meta @@ -13,9 +13,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/PlanarReflectionCaster.cs - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Core/PlanarReflectionCaster.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs new file mode 100644 index 000000000..a96d9a70a --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs @@ -0,0 +1,1331 @@ + +namespace PlanarReflections6 { + + /* + * PIDI - Planar Reflections™ 6 - Copyright© 2017-2025 + * PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. + + * You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any + * means on any platform except with the purposes of contacting the developers to request support and only when taking + * all pertinent measures to avoid its release to the public and / or any unrelated third parties. + * Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, + * published, redistributed nor made available to any unlicensed third parties. + * + * For more information, contact us at support@irreverent-software.com + * + */ + + using UnityEngine.Rendering; + using UnityEngine.Rendering.Universal; + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + using UnityEngine.XR; + + + + [HelpURL( "https://irreverent-software.com/docs/planar-reflections-6/getting-started/planar-reflection-renderer/" )] + [ExecuteAlways] + public class PlanarReflectionRenderer : MonoBehaviour { + + + protected List _nodeStates = new List(); + +#if UNITY_2023_3_OR_NEWER + protected UniversalRenderPipeline.SingleCameraRequest rq = new UniversalRenderPipeline.SingleCameraRequest(); +#endif + + [SerializeField] protected RenderTexture _externalReflectionTex; + + [SerializeField] protected RenderTexture _externalReflectionDepth; + + [SerializeField] protected Vector3Int _currentVersion = new Vector3Int( 6, 0, 0 ); + + protected readonly Vector3Int _targetVersion = new Vector3Int( 6, 0, 4 ); + +#if UNITY_EDITOR + + public bool showAdvancedSettings; + + public Mesh defaultReflectorMesh; + + public Material defaultReflectorMaterial; + + [SerializeField] + [InspectorName("Preview Reflective Plane")] + [Tooltip("Renders a simple display plane where the reflection can be previewed.")] + private bool _showPreviewReflector; + + [SerializeField] + [Tooltip("If enabled, the reflection will be rendered and visible in the Scene View both in Play Mode and Edit Mode")] + private bool _previewInSceneView = true; + + public string Version { get { return $"v{_currentVersion.x}.{_currentVersion.y}.{_currentVersion.z}"; } } + +#endif + + protected int _currentActiveCasters; + + protected float _internalTimer; + + + + [SerializeField] protected PlanarReflectionSettings _settings = new PlanarReflectionSettings(); + + public PlanarReflectionSettings Settings { get { return _settings; } } + + protected Camera _reflectionCam; + + protected ReflectionData _gameReflection; + + +#if UNITY_EDITOR + + protected ReflectionData _sceneReflection; + + private MaterialPropertyBlock _sceneReflectorMatBlock; + +#endif + + + public delegate void ReflectionRenderCallback( Camera forCamera, Camera withReflectionCamera, RenderTexture reflectionTexture ); + + public ReflectionRenderCallback OnReflectionRendered; + + public ReflectionRenderCallback OnWillRenderReflection; + + + private Plane[] _visibilityPlanes = new Plane[6]; + + private int _updateTestCounter = 3; + + +#if UNITY_EDITOR + private void OnValidate() { + + if ( !_settings.vrMat ) { + _settings.vrMat = new Material( Shader.Find( "Hidden/Planar Reflections/Internal/VRCombine" ) ); + } + + + } + + private void SelfUpdate() { + UnityEditor.Undo.RecordObject( this, GetInstanceID() + "_versionChange" ); + Debug.Log( $"Updated from version {Version} to version v{_targetVersion.x}.{_targetVersion.y}.{_targetVersion.z}" ); + _currentVersion = _targetVersion; + UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty(); + } + +#endif + + public Texture GetReflection( Camera cam ) { + + var planarCam = cam.GetComponent(); + + if ( cam.cameraType == CameraType.SceneView ) { + +#if UNITY_EDITOR + if ( !_externalReflectionTex && !_sceneReflection.reflectionTex ) { + return Texture2D.blackTexture; + } + return _externalReflectionTex ? (Texture)_externalReflectionTex : _sceneReflection.reflectionTex; +#else + return Texture2D.blackTexture; +#endif + } + else { + + switch ( _settings.cameraFilteringMode ) { + + case PlanarReflectionSettings.CameraFilteringMode.AllCameras: + if ( planarCam && planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByComponentOnly: + if ( !planarCam || planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByPrefix: + if (planarCam && planarCam.isReflectionCamera || ( !string.IsNullOrEmpty( _settings.camerasPrefix) && !cam.gameObject.name.Contains(_settings.camerasPrefix) ) ) { + return Texture2D.blackTexture; + } + break; + + } + + if ( !_externalReflectionTex && !_gameReflection.reflectionTex ) { + return Texture2D.blackTexture; + } + + return _externalReflectionTex ? (Texture)_externalReflectionTex : _gameReflection.reflectionTex; + + } + + + } + + + + public Texture GetReflectionDepth( Camera cam ) { + + var planarCam = cam.GetComponent(); + + if ( cam.cameraType == CameraType.SceneView ) { +#if UNITY_EDITOR + if ( !_externalReflectionDepth && !_sceneReflection.reflectionDepth ) { + return Texture2D.blackTexture; + } + return _externalReflectionDepth ? (Texture)_externalReflectionDepth : _sceneReflection.reflectionDepth; +#else + return Texture2D.blackTexture; +#endif + } + else { + switch ( _settings.cameraFilteringMode ) { + + case PlanarReflectionSettings.CameraFilteringMode.AllCameras: + if ( planarCam && planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByComponentOnly: + if ( !planarCam || planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByPrefix: + if ( planarCam && planarCam.isReflectionCamera || ( !string.IsNullOrEmpty( _settings.camerasPrefix ) && !cam.gameObject.name.Contains( _settings.camerasPrefix ) ) ) { + return Texture2D.blackTexture; + } + break; + + } + + if ( !_externalReflectionDepth && !_gameReflection.reflectionDepth ) { + return Texture2D.blackTexture; + } + + return _externalReflectionDepth ? (Texture)_externalReflectionDepth : _gameReflection.reflectionDepth; + + } + + } + + + public Texture GetReflectionFog( Camera cam ) { + + var planarCam = cam.GetComponent(); + + if ( cam.cameraType == CameraType.SceneView ) { +#if UNITY_EDITOR + return _sceneReflection != null && _sceneReflection.reflectionFog != null ? (Texture)_sceneReflection.reflectionFog : Texture2D.blackTexture; +#else + return Texture2D.blackTexture; +#endif + } + else{ + switch ( _settings.cameraFilteringMode ) { + + case PlanarReflectionSettings.CameraFilteringMode.AllCameras: + if ( planarCam && planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByComponentOnly: + if ( !planarCam || planarCam.isReflectionCamera ) { + return Texture2D.blackTexture; + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByPrefix: + if ( planarCam && planarCam.isReflectionCamera || ( !string.IsNullOrEmpty( _settings.camerasPrefix ) && !cam.gameObject.name.Contains( _settings.camerasPrefix ) ) ) { + return Texture2D.blackTexture; + } + break; + + } + + if ( !_gameReflection.reflectionFog ) { + return Texture2D.blackTexture; + } + + return _gameReflection.reflectionFog; + } + + } + + + public void RegisterCaster() { + _currentActiveCasters++; + } + + +#if UNITY_EDITOR + [UnityEditor.MenuItem( "GameObject/Effects/Planar Reflections 6/Create Reflections Renderer", priority = -99 )] + public static void CreateReflectionsRendererObject() { + + var reflector = new GameObject( "Reflection Renderer", typeof( PlanarReflectionRenderer ) ); + reflector.transform.position = Vector3.zero; + reflector.transform.rotation = Quaternion.identity; + + } + + [UnityEditor.Callbacks.DidReloadScripts] + private static void OnScriptsReloaded() { + var cams = Resources.FindObjectsOfTypeAll(); + + foreach ( Camera cam in cams ) { + if ( cam.name.Contains( "_RefCamera" ) ) { +#if !UNITY_2018_3_OR_NEWER + DestroyImmediate( cam.targetTexture ); +#else + RenderTexture.ReleaseTemporary( cam.targetTexture ); +#endif + cam.targetTexture = null; + DestroyImmediate( cam.gameObject ); + } + } + } + +#endif + + + + + public void OnEnable() { + + if ( !_reflectionCam ) { + var rCam = new GameObject( "_RefCamera", typeof( Camera ), typeof( UniversalAdditionalCameraData ), typeof(PlanarReflectionCamera) ); + + _reflectionCam = rCam.GetComponent(); + + rCam.hideFlags = HideFlags.HideAndDontSave; + rCam.GetComponent().enabled = false; + rCam.GetComponent().cameraType = CameraType.Game; + } + + + _gameReflection = new ReflectionData( _reflectionCam, _settings ); + _gameReflection.RegenerateTextures( _settings ); + +#if UNITY_EDITOR + + _sceneReflection = new ReflectionData( _reflectionCam, _settings ); + _sceneReflection.RegenerateTextures( _settings ); + +#if UNITY_2018_1_OR_NEWER + UnityEditor.EditorApplication.QueuePlayerLoopUpdate(); + UnityEditor.SceneView.RepaintAll(); +#endif + + +#endif + + +#if UPDATE_PLANAR3 + if ( GetComponent() ) { + _settings = GetComponent().Settings; + } +#endif + + + //Camera.onPreCull += RenderReflection; + + RenderPipelineManager.beginContextRendering -= RenderAllCameras; + RenderPipelineManager.beginContextRendering += RenderAllCameras; + RenderPipelineManager.beginCameraRendering -= DrawPreview; + RenderPipelineManager.beginCameraRendering += DrawPreview; + + } + + public void OnDisable() { + +#if UNITY_EDITOR + UnityEditor.Undo.undoRedoPerformed -= ApplySettings; + +#endif + RenderPipelineManager.beginContextRendering -= RenderAllCameras; + + + RenderPipelineManager.beginCameraRendering -= DrawPreview; +#if UNITY_EDITOR + _sceneReflection.Release(); +#endif + _gameReflection.Release(); + + if ( _reflectionCam ) { + DestroyImmediate( _reflectionCam.gameObject ); + } + +#if UNITY_EDITOR + _sceneReflection = default; +#endif + + } + + + public void ApplySettings() { + + _gameReflection.RegenerateTextures( _settings ); + +#if UNITY_EDITOR + if ( _sceneReflection != null ) + _sceneReflection.RegenerateTextures( _settings ); +#endif + + } + + void RenderAllCameras( ScriptableRenderContext context, List cams ) { + +#if UNITY_EDITOR + + if ( !Application.isPlaying ) { + if ( _updateTestCounter > 0 ) { + _updateTestCounter--; + } + else { + + if ( _currentVersion != _targetVersion ) { + SelfUpdate(); + } + } + } + +#endif + + if ( !_reflectionCam ) { + var rCam = new GameObject( "_RefCamera", typeof( Camera ), typeof( UniversalAdditionalCameraData ), typeof( PlanarReflectionCamera ) ); + + _reflectionCam = rCam.GetComponent(); + rCam.hideFlags = HideFlags.HideAndDontSave; + rCam.GetComponent().enabled = false; + rCam.GetComponent().cameraType = CameraType.Game; + return; + } + + _reflectionCam.GetComponent().isReflectionCamera = true; + + for ( int i = 0; i < cams.Count; i++ ) { + if ( !cams[i] ) { + continue; + } + _reflectionCam.transform.position = cams[i].transform.position; + _reflectionCam.transform.rotation = cams[i].transform.rotation; +#if UNITY_2023_3_OR_NEWER + RenderURPReflection( cams[i] ); +#else + RenderURPReflection( context, cams[i] ); +#endif + } + + _currentActiveCasters = 0; + + } + + + void DrawPreview( ScriptableRenderContext context, Camera cam ) { +#if UNITY_EDITOR + if ( cam.cameraType == CameraType.SceneView && _showPreviewReflector ) { + DrawReflectorMesh( cam, _sceneReflection ); + } +#endif + } + + + + /// + /// Calculates a reflection matrix for this Reflection Renderer's plane + /// + /// + private void CalculateReflectionMatrix( ref Matrix4x4 reflectionMat ) { + + Vector4 plane = new Vector4( transform.up.x, transform.up.y, transform.up.z, -Vector3.Dot( transform.position, transform.up ) ); + + reflectionMat.m00 = ( 1F - 2F * plane[0] * plane[0] ); + reflectionMat.m01 = ( -2F * plane[0] * plane[1] ); + reflectionMat.m02 = ( -2F * plane[0] * plane[2] ); + reflectionMat.m03 = ( -2F * plane[3] * plane[0] ); + + reflectionMat.m10 = ( -2F * plane[1] * plane[0] ); + reflectionMat.m11 = ( 1F - 2F * plane[1] * plane[1] ); + reflectionMat.m12 = ( -2F * plane[1] * plane[2] ); + reflectionMat.m13 = ( -2F * plane[3] * plane[1] ); + + reflectionMat.m20 = ( -2F * plane[2] * plane[0] ); + reflectionMat.m21 = ( -2F * plane[2] * plane[1] ); + reflectionMat.m22 = ( 1F - 2F * plane[2] * plane[2] ); + reflectionMat.m23 = ( -2F * plane[3] * plane[2] ); + + reflectionMat.m30 = 0F; + reflectionMat.m31 = 0F; + reflectionMat.m32 = 0F; + reflectionMat.m33 = 1F; + } + + + + /// + /// Transforms the WorldToCamera matrix of a given camera by reflecting it around this Reflection Renderer's plane + /// + /// + /// + public Matrix4x4 ReflectWorldToCameraMatrix( Camera fromCamera ) { + + Matrix4x4 reflectedMatrix = Matrix4x4.zero; + + CalculateReflectionMatrix( ref reflectedMatrix ); + + return fromCamera.worldToCameraMatrix * reflectedMatrix; + + } + + /// + /// Taking a transform as a reference it reflects its position and rotation based on this Reflection Renderer's Plane + /// and applies the new values to another transform. + /// + /// + /// + public void ReflectTransform( Transform original, Transform reflected ) { + + Vector3 relativePos = original.position - transform.position; + Vector3 forward = original.TransformPoint( 0, 0, 1 ) - transform.position; + Vector3 up = original.TransformPoint( 0, 1, 0 ) - transform.position; + Vector3 right = original.TransformPoint( 1, 0, 0 ) - transform.position; + + reflected.position = Vector3.Reflect( relativePos, transform.up ) + transform.position; + + forward = Vector3.Reflect( forward, transform.up ) + transform.position; + up = Vector3.Reflect( up, transform.up ) + transform.position; + right = Vector3.Reflect( right, transform.up ) + transform.position; + + up = ( up - reflected.position ).normalized; + + reflected.LookAt( forward, up ); + + } + + + /// + /// Reflects a position around this Reflection Renderer's plane + /// + /// + /// The reflected position + public Vector3 ReflectPosition( Vector3 original ) { + + original = original - transform.position; + return Vector3.Reflect( original, transform.up ) + transform.position; + + } + + + /// + /// Tests whether the given renderer is visible for the given camera through this reflection. If provided, it will test for visibility confined to the + /// reflective area of the reflection caster mesh + /// + /// + /// + /// + public bool IsVisible( Renderer renderer, Camera fromCamera, Renderer onCaster ) { + + Vector3 oldPos = renderer.transform.position; + Quaternion oldRot = renderer.transform.rotation; + + ReflectTransform( renderer.transform, renderer.transform ); + + Bounds visBounds = renderer.bounds; + float scale = visBounds.extents.magnitude; + Vector3 refScreenPos = renderer.transform.position; + refScreenPos = fromCamera.WorldToViewportPoint( refScreenPos ); + + + Ray cameraRay = fromCamera.ViewportPointToRay( refScreenPos ); + Plane refPlane = new Plane( transform.up, transform.position ); + + renderer.transform.position = oldPos; + renderer.transform.rotation = oldRot; + + GeometryUtility.CalculateFrustumPlanes( fromCamera, _visibilityPlanes ); + + + if ( refPlane.Raycast( cameraRay, out float intersectionPoint ) ) { + + Vector3 bMax = fromCamera.WorldToScreenPoint( visBounds.max ); + Vector3 bMin = fromCamera.WorldToScreenPoint( visBounds.min ); + + visBounds.center = cameraRay.GetPoint(intersectionPoint); + + Vector3 bMax2 = fromCamera.WorldToScreenPoint( visBounds.max ); + Vector3 bMin2 = fromCamera.WorldToScreenPoint( visBounds.min ); + + float dist1 = Vector2.Distance( bMax, bMin ); + float dist2 = Vector2.Distance( bMax2, bMin2 ); + scale = ( dist1 / dist2 ); + visBounds.extents = visBounds.extents * (dist1/dist2); + + if (!GeometryUtility.TestPlanesAABB(_visibilityPlanes, visBounds ) ) { + return false; + } + + return onCaster.bounds.Intersects( visBounds ); + + } + + return false; + + } + + + /// + /// Renders a URP-based reflection (with support for VR) for the given camera. + /// +#if UNITY_2023_3_OR_NEWER + public void RenderURPReflection( Camera cam ) { +#else + public void RenderURPReflection( ScriptableRenderContext context, Camera cam ) { +#endif + + + var planarCam = cam.GetComponent(); + + if ( cam.cameraType == CameraType.Preview || cam.GetUniversalAdditionalCameraData().renderType == CameraRenderType.Overlay ) { + return; + } + + if ( _currentActiveCasters < 1 && _settings.updateOnCastOnly && cam.cameraType != CameraType.SceneView ) { + return; + } + + + + var isSceneCam = cam.cameraType == CameraType.SceneView; + + if ( !isSceneCam && !planarCam && cam.gameObject.hideFlags.HasFlag( HideFlags.HideInHierarchy ) ) { + return; + } + + if ( !isSceneCam ) { + + switch ( _settings.cameraFilteringMode ) { + + case PlanarReflectionSettings.CameraFilteringMode.ByPrefix: + if ( !string.IsNullOrEmpty( _settings.camerasPrefix ) ) { + if ( cam.cameraType != CameraType.SceneView && !cam.name.Contains( _settings.camerasPrefix ) ) { + return; + } + } + break; + + case PlanarReflectionSettings.CameraFilteringMode.ByComponentOnly: + + if ( !planarCam || planarCam.isReflectionCamera ) { + return; + } + + break; + + case PlanarReflectionSettings.CameraFilteringMode.AllCameras: + + if ( planarCam && planarCam.isReflectionCamera ) { + return; + } + + break; + } + + } + else { +#if UNITY_EDITOR + if ( !_previewInSceneView ) { + return; + } +#endif + } + + + bool isVRCamera = cam.cameraType == CameraType.Game && cam.GetUniversalAdditionalCameraData().allowXRRendering && XRSettings.enabled; + + Vector3 leftEyePos = cam.transform.position; + Vector3 rightEyePos = cam.transform.position; + + if ( isVRCamera ) { + InputTracking.GetNodeStates( _nodeStates ); + + for ( int i = 0; i < _nodeStates.Count; i++ ) { + if ( _nodeStates[i].nodeType == XRNode.LeftEye ) { + _nodeStates[i].TryGetPosition( out leftEyePos ); + } + else if ( _nodeStates[i].nodeType == XRNode.RightEye ) { + _nodeStates[i].TryGetPosition( out rightEyePos ); + } + } + } + + float eyeDist = Vector3.Distance( leftEyePos, rightEyePos ) / 2; + + + Plane reflectionPlane = new Plane( transform.up, transform.position ); + + if ( Mathf.Abs( Vector3.Dot( transform.up, cam.transform.forward ) ) < 0.01f && ( cam.orthographic || reflectionPlane.GetDistanceToPoint( cam.transform.position ) < 0.025f ) ) { + return; + } + +#if UNITY_EDITOR + + + + if ( isSceneCam ) { + if ( Screen.width != _sceneReflection.screenRes.x || Screen.height != _sceneReflection.screenRes.y ) { + _sceneReflection.RegenerateTextures( _settings ); + } + } + else { + if ( Screen.width != _gameReflection.screenRes.x || Screen.height != _gameReflection.screenRes.y ) { + _gameReflection.RegenerateTextures( _settings ); + } + } + + + + var currentData = isSceneCam ? _sceneReflection : _gameReflection; + +#else + if ( Screen.width != _gameReflection.screenRes.x || Screen.height != _gameReflection.screenRes.y ) { + _gameReflection.RegenerateTextures( _settings ); + } + + var currentData = _gameReflection; +#endif + var refCamera = _reflectionCam; + + refCamera.CopyFrom( cam ); + + refCamera.depth = cam.depth + 99; + refCamera.allowHDR = cam.allowHDR; + refCamera.allowMSAA = cam.allowMSAA; + refCamera.useOcclusionCulling = false; + refCamera.cullingMask = _settings.reflectLayers; + + switch ( _settings.reflectionBackground ) { + case PlanarReflectionSettings.ReflectionBackground.CopyFromCamera: + refCamera.clearFlags = cam.clearFlags; + break; + + case PlanarReflectionSettings.ReflectionBackground.Skybox: + refCamera.clearFlags = CameraClearFlags.Skybox; + break; + + case PlanarReflectionSettings.ReflectionBackground.SolidColor: + refCamera.clearFlags = CameraClearFlags.SolidColor; + refCamera.backgroundColor = _settings.backgroundColor; + break; + + case PlanarReflectionSettings.ReflectionBackground.Transparent: + refCamera.clearFlags = CameraClearFlags.SolidColor; + _settings.backgroundColor.a = 0; + refCamera.backgroundColor = _settings.backgroundColor; + + if ( !_settings.renderDepth ) { + _settings.forceHDR = false; + } + + break; + + + } + + + refCamera.cameraType = CameraType.Game; + refCamera.renderingPath = cam.renderingPath; + + refCamera.useOcclusionCulling = false; + + refCamera.targetTexture = _externalReflectionTex ? _externalReflectionTex : currentData.reflectionTex; + + + var uData = refCamera.GetUniversalAdditionalCameraData(); + + uData.renderType = CameraRenderType.Base; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.nearClipPlane = _settings.nearClipPlane; + refCamera.farClipPlane = _settings.farClipPlane; + + refCamera.rect = new Rect( 0, 0, 1, 1 ); + refCamera.aspect = cam.aspect; + + ReflectTransform( cam.transform, refCamera.transform ); + + uData.SetRenderer( _settings.reflectionURPRendererIndex ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up ) ); + } + + var tempLOD = QualitySettings.lodBias; + var maxLod = QualitySettings.maximumLODLevel; + + QualitySettings.lodBias *= _settings.customLODBias; + QualitySettings.maximumLODLevel = _settings.maxLODLevel; + + + uData.renderShadows = _settings.renderShadows; + uData.volumeLayerMask = _settings.postFXVolumeMask; + uData.antialiasing = _settings.useAntialiasing ? AntialiasingMode.FastApproximateAntialiasing : AntialiasingMode.None; + + OnWillRenderReflection?.Invoke( cam, refCamera, null ); + + var oldCulling = GL.invertCulling; + GL.invertCulling = true; + + if ( +#if UNITY_EDITOR + !Application.isPlaying || +#endif + ( Time.realtimeSinceStartup > _internalTimer ) ) { + + + if ( _settings.renderFog ) { + refCamera.targetTexture = currentData.reflectionFog; + refCamera.depthTextureMode = DepthTextureMode.None; + uData.renderPostProcessing = false; + + uData.SetRenderer( _settings.fogRendererIndex ); + var clearF = refCamera.clearFlags; + var clearCol = refCamera.backgroundColor; + refCamera.clearFlags = CameraClearFlags.Color; + refCamera.backgroundColor = Color.clear; + + +#if UNITY_2023_3_OR_NEWER + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + var rendTex = _externalReflectionDepth ? _externalReflectionDepth : _gameReflection.reflectionDepth; + + rq.destination = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + GL.invertCulling = oldCulling; + + var depthRD = _gameReflection.rd; + + var tempBufferL = RenderTexture.GetTemporary( depthRD ); + + Graphics.Blit( rendTex, tempBufferL ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + rq.destination = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + + var tempBuffer = RenderTexture.GetTemporary( depthRD ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer ); + _settings.vrMat.SetTexture( "_RightEyeTex", tempBuffer ); + + Graphics.Blit( tempBuffer, rendTex, _settings.vrMat ); + + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + } + else { + rq.destination = currentData.reflectionFog; + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + } + +#else + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + var rendTex = currentData.reflectionFog; + + refCamera.targetTexture = rendTex; + + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + GL.invertCulling = oldCulling; + + var tempBufferL = RenderTexture.GetTemporary( currentData.rd ); + + Graphics.Blit( rendTex, tempBufferL ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + + var tempBuffer = RenderTexture.GetTemporary( currentData.rd ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer ); + _settings.vrMat.SetTexture( "_RightEyeTex", tempBuffer ); + + Graphics.Blit( tempBuffer, rendTex, _settings.vrMat ); + + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + } + else { + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + } +#endif + + + + refCamera.clearFlags = clearF; + refCamera.backgroundColor = clearCol; + uData.SetRenderer( 0 ); + } + +#if !UNITY_2023_OR_NEWER + if ( _settings.renderDepth && !isSceneCam ) { +#else + if ( _settings.renderDepth ) { + +#endif + refCamera.targetTexture = _externalReflectionDepth ? _externalReflectionDepth : currentData.reflectionDepth; + refCamera.depthTextureMode = DepthTextureMode.Depth; + refCamera.aspect = cam.aspect; + uData.renderPostProcessing = false; + + uData.requiresDepthOption = CameraOverrideOption.On; + uData.requiresColorOption = CameraOverrideOption.Off; + var clearF = refCamera.clearFlags; + refCamera.clearFlags = CameraClearFlags.Depth; + uData.renderShadows = false; + + +#if UNITY_2023_3_OR_NEWER + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + var rendTex = _externalReflectionDepth ? _externalReflectionDepth : _gameReflection.reflectionDepth; + + rq.destination = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + GL.invertCulling = oldCulling; + + var depthRD = _gameReflection.rd; + depthRD.colorFormat = RenderTextureFormat.Depth; + + var tempBufferL = RenderTexture.GetTemporary( depthRD ); + + _settings.vrMat.SetTexture( "_RightEyeTex", rendTex ); + + Graphics.Blit( rendTex, tempBufferL, _settings.vrMat, 2 ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + rq.destination = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + + var tempBuffer = RenderTexture.GetTemporary( depthRD ); + + _settings.vrMat.SetTexture( "_RightEyeTex", rendTex ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer, _settings.vrMat, 1 ); + _settings.vrMat.SetTexture( "_RightEyeTex", tempBuffer ); + + Graphics.Blit( tempBuffer, rendTex, _settings.vrMat, 2 ); + + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + } + else { + rq.destination = _externalReflectionDepth ? _externalReflectionDepth : currentData.reflectionDepth; + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + } + +#else + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + var rendTex = _externalReflectionDepth ? _externalReflectionDepth : _gameReflection.reflectionDepth; + + refCamera.targetTexture = rendTex; + + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + GL.invertCulling = oldCulling; + + var depthRD = _gameReflection.rd; + depthRD.colorFormat = RenderTextureFormat.Depth; + + var tempBufferL = RenderTexture.GetTemporary( depthRD ); + + _settings.vrMat.SetTexture( "_RightEyeTex", rendTex ); + + Graphics.Blit( rendTex, tempBufferL, _settings.vrMat, 2 ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + + var tempBuffer = RenderTexture.GetTemporary( depthRD ); + + _settings.vrMat.SetTexture( "_RightEyeTex", rendTex ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer, _settings.vrMat, 1 ); + _settings.vrMat.SetTexture( "_RightEyeTex", tempBuffer ); + + Graphics.Blit( tempBuffer, rendTex, _settings.vrMat, 2 ); + + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + } + else { + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + } +#endif + uData.renderPostProcessing = false; + uData.volumeLayerMask = _settings.postFXVolumeMask; + + refCamera.clearFlags = clearF; + + } + + refCamera.targetTexture = _externalReflectionTex ? _externalReflectionTex : currentData.reflectionTex; + + + uData.renderPostProcessing = _settings.usePostFX; + uData.volumeLayerMask = _settings.postFXVolumeMask; + + uData.requiresDepthOption = CameraOverrideOption.Off; + uData.requiresColorOption = CameraOverrideOption.Off; + + + refCamera.enabled = _settings.usePostFX; + +#if UNITY_2023_3_OR_NEWER + + + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + uData.allowXRRendering = false; + uData.renderPostProcessing = _settings.usePostFX; + uData.volumeLayerMask = _settings.postFXVolumeMask; + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex; + rq.destination = _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex; + + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + GL.invertCulling = oldCulling; + + var tempBufferL = RenderTexture.GetTemporary( _gameReflection.rd ); + + Graphics.Blit( _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex, tempBufferL ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + rq.destination = _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex; + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + ; + var tempBuffer = RenderTexture.GetTemporary( _gameReflection.rd ); + + _settings.vrMat.SetTexture( "_RightEyeTex", _externalReflectionTex?_externalReflectionTex:_gameReflection.reflectionTex ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer, _settings.vrMat ); + Graphics.Blit( tempBuffer, _externalReflectionTex ? _externalReflectionTex : _gameReflection.reflectionTex ); + + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + + + } + else { + + rq.destination = _externalReflectionTex ? _externalReflectionTex : currentData.reflectionTex; + refCamera.cullingMask = refCamera.cullingMask = _settings.reflectLayers; + + if ( isSceneCam ) { + refCamera.cameraType = CameraType.Preview; + } + else { + refCamera.cameraType = CameraType.Game; + } + + UniversalRenderPipeline.SubmitRenderRequest( refCamera, rq ); + + + } + + refCamera.targetTexture = rq.destination; +#else + + + if ( Application.isPlaying && cam.cameraType == CameraType.Game && isVRCamera ) { + + uData.allowXRRendering = false; + uData.renderPostProcessing = _settings.usePostFX; + uData.volumeLayerMask = _settings.postFXVolumeMask; + + GL.invertCulling = true; + + var rendTex = _externalReflectionTex ? _externalReflectionTex : _gameReflection.reflectionTex; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = rendTex; + + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Left ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Left, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + GL.invertCulling = oldCulling; + + var tempBufferL = RenderTexture.GetTemporary( _gameReflection.rd ); + + Graphics.Blit( rendTex, tempBufferL ); + + GL.invertCulling = true; + + refCamera.worldToCameraMatrix = ReflectWorldToCameraMatrix( cam ); + + refCamera.targetTexture = rendTex; + refCamera.projectionMatrix = cam.GetStereoProjectionMatrix( Camera.StereoscopicEye.Right ); + + if ( _settings.accurateMatrix ) { + refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up, Camera.StereoscopicEye.Right, eyeDist ) ); + } + + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + + + var tempBuffer = RenderTexture.GetTemporary( _gameReflection.rd ); + + _settings.vrMat.SetTexture( "_RightEyeTex", rendTex ); + + GL.invertCulling = oldCulling; + + Graphics.Blit( tempBufferL, tempBuffer, _settings.vrMat ); + Graphics.Blit( tempBuffer, rendTex ); + RenderTexture.ReleaseTemporary( tempBuffer ); + RenderTexture.ReleaseTemporary( tempBufferL ); + + GL.invertCulling = true; + + } + else { + UniversalRenderPipeline.RenderSingleCamera( context, refCamera ); + } + +#endif + + } + + + QualitySettings.maximumLODLevel = maxLod; + QualitySettings.lodBias = tempLOD; + + + + if ( +#if UNITY_EDITOR + Application.isPlaying && +#endif + Time.realtimeSinceStartup > _internalTimer && _settings.reflectionFramerate > 0 ) { + _internalTimer = Time.realtimeSinceStartup + ( 1.0f / _settings.reflectionFramerate ); + } + +#if UNITY_EDITOR && !UNITY_2024_3_OR_NEWER + if ( cam.cameraType == CameraType.SceneView && _showPreviewReflector ) + DrawReflectorMesh( cam, currentData ); +#endif + + GL.invertCulling = oldCulling; + OnReflectionRendered?.Invoke( cam, refCamera, currentData.reflectionTex ); + + + } + + + private Vector4 CameraSpacePlane( Camera forCamera, Vector3 planeCenter, Vector3 planeNormal ) { + Vector3 offsetPos = planeCenter; + Matrix4x4 mtx = forCamera.worldToCameraMatrix; + Vector3 cPos = mtx.MultiplyPoint( offsetPos ); + Vector3 cNormal = mtx.MultiplyVector( planeNormal ).normalized * 1; + return new Vector4( cNormal.x, cNormal.y, cNormal.z, -Vector3.Dot( cPos, cNormal ) ); + } + + + + private Vector4 CameraSpacePlane( Camera forCamera, Vector3 planeCenter, Vector3 planeNormal, Camera.StereoscopicEye stereoEye, float eyeDistance ) { + Vector3 offsetPos = planeCenter; + Matrix4x4 mtx = forCamera.worldToCameraMatrix; + + mtx[12] += stereoEye == Camera.StereoscopicEye.Left ? eyeDistance : -eyeDistance; + + Vector3 cPos = mtx.MultiplyPoint( offsetPos ); + Vector3 cNormal = mtx.MultiplyVector( planeNormal ).normalized * 1; + return new Vector4( cNormal.x, cNormal.y, cNormal.z, -Vector3.Dot( cPos, cNormal ) ); + } + + +#if UNITY_EDITOR + private void DrawReflectorMesh( Camera sceneCam, ReflectionData data ) { + + if ( !sceneCam || data == null ) + return; + + var matrix = new Matrix4x4(); + matrix.SetTRS( transform.position, transform.rotation, Vector3.one * 10 ); + + if ( _sceneReflectorMatBlock == null ) { + _sceneReflectorMatBlock = new MaterialPropertyBlock(); + } + + _sceneReflectorMatBlock.SetTexture( "_ReflectionTex", data.reflectionTex ? (Texture)data.reflectionTex : (Texture)Texture2D.blackTexture ); + Graphics.DrawMesh( defaultReflectorMesh, matrix, defaultReflectorMaterial, 0, sceneCam, 0, _sceneReflectorMatBlock ); + + } + + + public void OnDrawGizmos() { + Gizmos.matrix = Matrix4x4.TRS( transform.position, transform.rotation, Vector3.one ); + Gizmos.color = Color.clear; + Gizmos.DrawCube( Vector3.zero, new Vector3( 1, 0.01f, 1 ) * 10 ); + Gizmos.color = Color.cyan; + Gizmos.DrawWireCube( Vector3.zero, new Vector3( 1, 0, 1 ) * 10 ); + Gizmos.matrix = Matrix4x4.TRS( Vector3.zero, Quaternion.identity, Vector3.one ); + } + + +#endif + + + + } + +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs.meta similarity index 74% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs.meta index 5179d42f6..9d426be30 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflectionRenderer.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs.meta @@ -19,9 +19,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/PlanarReflectionRenderer.cs - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Core/PlanarReflectionRenderer.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs new file mode 100644 index 000000000..0534b8c87 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs @@ -0,0 +1,208 @@ +/* +* PIDI - Planar Reflections 6 - Copyright 2017-2025 +* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. + +* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any +* means on any platform except with the purposes of contacting the developers to request support and only when taking +* all pertinent measures to avoid its release to the public and / or any unrelated third parties. +* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, +* published, redistributed nor made available to any unlicensed third parties. +* +* For more information, contact us at support@irreverent-software.com +* +*/ + +namespace PlanarReflections6 { + + using UnityEngine; + + [System.Serializable] + public class PlanarReflectionSettings { + + /// + /// Enum listing the different ways in which the background of the reflection can be cleared + /// + public enum ReflectionBackground { CopyFromCamera, Skybox, SolidColor, Transparent } + + /// + /// Enum that lists the ways in which the cameras can be filtered when deciding whether they should trigger reflections or not + /// + public enum CameraFilteringMode { AllCameras, ByComponentOnly, ByPrefix } + + /// + /// The way in which the background of the reflection will be cleared + /// + [Tooltip( "The way in which the background of the reflection will be cleared" )] + public ReflectionBackground reflectionBackground = ReflectionBackground.CopyFromCamera; + + /// + /// The way in which the cameras can be filtered when deciding whether they should trigger reflections or not + /// + [Tooltip( "The way in which the cameras can be filtered when deciding whether they should trigger reflections or not" )] + public CameraFilteringMode cameraFilteringMode = CameraFilteringMode.AllCameras; + + + /// + /// The near clip plane of the reflection + /// + [Tooltip( "The near clip plane of the reflection" )] + public float nearClipPlane = 0.03f; + + /// + /// The far clip plane of the reflection + /// + [Tooltip( "The far clip plane of the reflection")] + public float farClipPlane = 1000; + + /// + /// The layers that can be reflected by this reflection + /// + [Tooltip("The layers that can be reflected by this reflection")] + public LayerMask reflectLayers = 1; + + /// + /// Assigns a custom Renderer index to the reflections, different from that of the main camera. Please make sure that your index is not larger than the amount of actual renderers in your URP asset + /// + [Tooltip( "Assigns a custom Renderer index to the reflections, different from that of the main camera. Please make sure that your index is not larger than the amount of actual renderers in your URP asset" )] + [Min( 0 )] + public int reflectionURPRendererIndex = 0; + + /// + /// Custom LOD bias to be used within the reflection + /// + [Tooltip( "Custom LOD bias to be used within the reflection" )] + [Range( 0, 1 )] + public float customLODBias = 1.0f; + + /// + /// The maximum LOD level to be rendered by the reflection. Useful when working with high poly count scenes. + /// + [Tooltip( "The maximum LOD level to be rendered by the reflection. Useful when working with high poly count scenes." )] + public int maxLODLevel; + + /// + /// Whether this reflection will render shadows or not + /// + [Tooltip("Whether this reflection will render shadows or not")] + public bool renderShadows = true; + + /// + /// DO NOT ENABLE. It is unnecessary in most cases. It defines whether this reflection will use a custom Post FX volume mask and rendering workflow or not. + /// + [Tooltip( "DO NOT ENABLE. It is unnecessary in most cases. It defines whether this reflection will use a custom Post FX volume mask and rendering workflow or not." )] + public bool usePostFX = false; + + /// + /// If PostFX use is enabled, this provides the custom mask to track the PostFX volumes + /// + [Tooltip("If PostFX use is enabled, this provides the custom mask to track the PostFX volumes")] + public LayerMask postFXVolumeMask; + + /// + /// Whether the reflection will use an accurate (oblique) projection matrix or not. It is recommended to leave this setting enabled + /// + [Tooltip("Whether the reflection will use an accurate (oblique) projection matrix or not. It is recommended to leave this setting enabled")] + [InspectorName("Use Oblique matrix")] + public bool accurateMatrix = true; + + /// + /// If the filtering mode is set to ByPrefix, the prefix that the reflection system will look for to decide whether a camera requires reflections or not. + /// + [Tooltip( "If the filtering mode is set to ByPrefix, the prefix that the reflection system will look for to decide whether a camera requires reflections or not." )] + public string camerasPrefix; + + /// + /// Whether the resolution of the reflection texture will be calculated as a factor of the screen's actual resolution or not. + /// + [Tooltip( "Whether the resolution of the reflection texture will be calculated as a factor of the screen's actual resolution or not." )] + public bool screenBasedResolution = true; + + /// + /// When specified, the explicit resolution that will be used to render the reflection texture. + /// + [Tooltip( "When specified, the explicit resolution that will be used to render the reflection texture." )] + public Vector2 explicitResolution = new Vector2( 512, 512 ); + + /// + /// A factor that the reflection's resolution will be multiplied by. It is useful to downscale or supersample the reflection's resolution at will. + /// + [Tooltip( "A factor that the reflection's resolution will be multiplied by. It is useful to downscale or supersample the reflection's resolution at will." )] + [Range( 0.1f, 2.0f )] + public float outputResolutionMultiplier = 1.0f; + + /// + /// A custom framerate that the reflection will be rendered at. By default it is set to 0, meaning it will be updated on every frame. + /// + [Tooltip( "A custom framerate that the reflection will be rendered at. By default it is set to 0, meaning it will be updated on every frame." )] + [Range( 0, 120 )] + public int reflectionFramerate = 0; + + /// + /// Whether the reflection texture will generate mip-maps or not. It is recommended for PBR-Like reflections, as it is used internally by the Shader-based blur pass. + /// + [Tooltip( "Whether the reflection texture will generate mip-maps or not. It is recommended for PBR-Like reflections, as it is used internally by the Shader-based blur pass." )] + public bool useMipMaps = true; + + /// + /// Whether the reflection texture will use anti-aliasing or not. It is recommended to disable this unless the resolution of the reflections is too low. + /// + [Tooltip( "Whether the reflection texture will use anti-aliasing or not. It is recommended to disable this unless the resolution of the reflections is too low." )] + public bool useAntialiasing = false; + + /// + /// Whether the reflection will clear its background to a solid color or not. Legacy. + /// + public bool clearToColor = false; + + /// + /// The color that the reflection will clear its background to. + /// + [Tooltip( "The color that the reflection will clear its background to.")] + public Color backgroundColor = Color.blue; + + /// + /// Whether this reflection requires a Depth pass or not. + /// + [Tooltip( "Whether this reflection requires a Depth pass or not." )] + public bool renderDepth = false; + + /// + /// OBSOLETE. Whether this reflection requires a Fog Pass or not. + /// + [Tooltip( "OBSOLETE. Whether this reflection requires a Fog Pass or not." )] + public bool renderFog; + + /// + /// The custom URP Renederer index that contains the Fog Pass + /// + [Tooltip( "The custom URP Renederer index that contains the Fog Pass" )] + [Min(0)] + public int fogRendererIndex = 1; + + /// + /// Whether the reflection texture will be an HDR-ready texture or not. It is recommended to enable this if you are using Bloom or other HDR-dependant effects. + /// + [Tooltip( "Whether the reflection texture will be an HDR-ready texture or not. It is recommended to enable this if you are using Bloom or other HDR-dependant effects." )] + public bool forceHDR = true; + + /// + /// If enabled, the reflection will only be updated when a caster connected to this renderer is actually visible by any camera. It helps greatly to save performance. + /// + [Tooltip( "If enabled, the reflection will only be updated when a caster connected to this renderer is actually visible by any camera. It helps greatly to save performance." )] + public bool updateOnCastOnly = true; + + /// + /// Allows the reflections to render world-space canvas elements, but in turn disables some other features such as VR support + /// + [Tooltip("Allows the reflections to render world-space canvas elements, but in turn disables some other features such as VR support")] + public bool worldCanvasCompatibilityMode = false; + + + /// + /// INTERNAL. The material used to combine / compose the VR-ready reflections + /// + public Material vrMat; + + + } +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs.meta new file mode 100644 index 000000000..e3e9d40e4 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 5258faf5b3481754c84c9c1e9fc4f5fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Core/PlanarReflectionSettings.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs new file mode 100644 index 000000000..9db1f8895 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs @@ -0,0 +1,118 @@ +/* +* PIDI - Planar Reflections 6 - Copyright 2017-2025 +* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. + +* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any +* means on any platform except with the purposes of contacting the developers to request support and only when taking +* all pertinent measures to avoid its release to the public and / or any unrelated third parties. +* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, +* published, redistributed nor made available to any unlicensed third parties. +* +* For more information, contact us at support@irreverent-software.com +* +*/ +namespace PlanarReflections6 { + + using UnityEngine; + + + [System.Serializable] + public class ReflectionData { + + protected Camera _reflectionCam; + + public RenderTexture reflectionTex; + + public RenderTextureDescriptor rd; + + public RenderTexture reflectionDepth; + + public RenderTexture reflectionFog; + + public Vector2Int screenRes; + + + public void ForceSetCamera( Camera cam ) { + _reflectionCam = cam; + } + + public ReflectionData( Camera cam, PlanarReflectionSettings settings ) { + _reflectionCam = cam; + reflectionTex = RenderTexture.GetTemporary( 1, 1 ); + reflectionDepth = RenderTexture.GetTemporary( 1, 1 ); + reflectionFog = RenderTexture.GetTemporary( 1, 1 ); + screenRes = new Vector2Int( Screen.width, Screen.height ); + RegenerateTextures( settings ); + } + + public void RegenerateTextures( PlanarReflectionSettings settings ) { + + RenderTexture.ReleaseTemporary( reflectionTex ); + RenderTexture.ReleaseTemporary( reflectionDepth ); + RenderTexture.ReleaseTemporary( reflectionFog ); + + rd = new RenderTextureDescriptor( Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.width : settings.explicitResolution.x ) ), Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.height : settings.explicitResolution.y ) ) ); + rd.useMipMap = settings.useMipMaps; + rd.msaaSamples = 1; + rd.colorFormat = settings.forceHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default; + rd.depthBufferBits = 16; + rd.autoGenerateMips = true; + rd.volumeDepth = 1; + rd.vrUsage = VRTextureUsage.None; + rd.dimension = UnityEngine.Rendering.TextureDimension.Tex2D; + rd.mipCount = 6; + + + + screenRes = new Vector2Int( Screen.width, Screen.height ); + + if ( rd.width < 1 ) { + rd.width = 512; + screenRes.x = 512; + } + + if ( rd.height < 1 ) { + rd.height = 512; + screenRes.y = 512; + } + + reflectionTex = RenderTexture.GetTemporary( rd ); + reflectionTex.filterMode = FilterMode.Bilinear; + reflectionTex.wrapMode = TextureWrapMode.Repeat; + + if ( settings.renderDepth ) { + rd.colorFormat = RenderTextureFormat.Depth; + reflectionDepth = RenderTexture.GetTemporary( rd ); + reflectionDepth.filterMode = FilterMode.Bilinear; + reflectionDepth.name = "_REFDEPTHP6"; + } + else { + RenderTexture.ReleaseTemporary( reflectionDepth ); + } + + if ( settings.renderFog ) { + rd.colorFormat = RenderTextureFormat.Default; + reflectionFog = RenderTexture.GetTemporary( rd ); + reflectionFog.filterMode = FilterMode.Bilinear; + reflectionFog.name = "_REFFOGP6"; + } + else { + RenderTexture.ReleaseTemporary( reflectionFog ); + } + + rd.colorFormat = settings.forceHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default; + reflectionTex.name = "_REFTEXP6"; + + } + + + public void Release() { + RenderTexture.ReleaseTemporary( reflectionFog ); + RenderTexture.ReleaseTemporary( reflectionTex ); + RenderTexture.ReleaseTemporary( reflectionDepth ); + } + + + } + +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs.meta new file mode 100644 index 000000000..10189cf43 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Core/ReflectionData.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 7dea88453419ae741966cb3a627872bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Core/ReflectionData.cs + uploadId: 779751 diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Editor.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor.meta similarity index 77% rename from Assets/External/_StudioKafka/MeshSyncPro/Editor.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor.meta index 687bf3744..93e96973f 100644 --- a/Assets/External/_StudioKafka/MeshSyncPro/Editor.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 289042708b12df64f989e3ea0c83a041 +guid: fe8f27a65200af547a4f12b3432f2d84 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png new file mode 100644 index 000000000..62748ff4e --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:008a0ff573e63d6dfe98452ac37c6c19aac48ab4b27d9a85cc75f3353a026dbe +size 5280 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png.meta new file mode 100644 index 000000000..c646e184b --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_1.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 7f6ef1d9284d43c4d94c23b42aa217aa +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_1.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png new file mode 100644 index 000000000..45b05ce79 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bffa57056d85447403b685062bc6a1c1559abc3b242b75dc6dafb6a11144205 +size 857 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png.meta new file mode 100644 index 000000000..f3ee05d5a --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: d977402345865d346abe3bd3081460d0 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_2.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png new file mode 100644 index 000000000..be81ec11c --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f969bd63ee71665a1e16136d2698d5bb7798c56452b1e8ee7a32619985d479a5 +size 10258 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png.meta new file mode 100644 index 000000000..76aca3bd3 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 7b235ebb1f0cf4146a3f6594503c68c6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_2_Selected.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png new file mode 100644 index 000000000..99b08d2db --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83523f138c09cdd742808cee668431655e8374681605f6ef45143a0d2b8110e4 +size 834 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png.meta new file mode 100644 index 000000000..411a1d1a9 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_3.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: ccae7f2413c373d4ab8536ea400dbd45 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_3.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png new file mode 100644 index 000000000..da9a35741 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed620a93fd088f841fa5ab896a2bf7b9acf2de7c51a35ced5a359b4c2d3058e0 +size 868 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png.meta new file mode 100644 index 000000000..6c66b4ba6 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_4.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 63186489cbcd20f4ebb8f2f39f27bffb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_4.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png new file mode 100644 index 000000000..d4606e4f5 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d779a060a412ea56caaafc5edfe7650cefefa0bfd2a1613a6b2fbfabc1eb14a +size 1862 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png.meta new file mode 100644 index 000000000..e27f77c20 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Background_5.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 9129ff92013542e4db31c3161412ff20 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Background_5.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta new file mode 100644 index 000000000..77811cfb1 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: debda0473feed5d4e8ac5c53f3ee38dd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/PIDI_EditorSkin_PR5.guiskin + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs similarity index 97% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs index 29d3dcba5..0ab479734 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs @@ -1,7 +1,7 @@  #if UNITY_EDITOR /* -* PIDI - Planar Reflections™ 5 - Copyright© 2017-2024 +* PIDI - Planar Reflections™ 6 - Copyright© 2017-2025 * PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. * You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any @@ -14,7 +14,7 @@ * */ -namespace PlanarReflections5 { +namespace PlanarReflections6 { using UnityEditor; class PlanarAPI { diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs.meta index 5cb8a31c5..d2f5711a5 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarAPI.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs.meta @@ -11,9 +11,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/PlanarAPI.cs - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/PlanarAPI.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs similarity index 94% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs index 6f1a90e09..bcd32dd03 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs @@ -1,4 +1,4 @@ -namespace PlanarReflections5 { +namespace PlanarReflections6 { using System.Collections; using System.Collections.Generic; @@ -87,7 +87,7 @@ CenteredLabel( "Support & Assistance" ); GUILayout.Space( 10 ); - EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP / HDRP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info ); + EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info ); GUILayout.Space( 8 ); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); @@ -115,7 +115,7 @@ lStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black; lStyle.fontSize = 8; - GUILayout.Label( "Copyright© 2017-2023, Jorge Pinal N.", lStyle ); + GUILayout.Label( $"Copyright© 2017-{System.DateTime.Today.Year}, Jorge Pinal N.", lStyle ); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); @@ -139,7 +139,7 @@ GUILayout.Space( 45 ); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); - GUILayout.Label( "v5.3.0", pidiSkin2.customStyles[2] ); + GUILayout.Label( (target as PlanarReflectionCaster).Version, pidiSkin2.customStyles[2] ); GUILayout.Space( 6 ); GUILayout.EndHorizontal(); GUILayout.EndVertical(); diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta similarity index 63% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta index 9ce14f9f1..effa42448 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs.meta @@ -13,9 +13,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/PlanarReflectionCaster_Editor.cs - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/PlanarReflectionCaster_Editor.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs similarity index 51% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs index fbe00fec0..b3dcd877a 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs @@ -1,13 +1,24 @@ -namespace PlanarReflections5 { + +/* +* PIDI - Planar Reflections™ 6 - Copyright© 2017-2025 +* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. + +* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any +* means on any platform except with the purposes of contacting the developers to request support and only when taking +* all pertinent measures to avoid its release to the public and / or any unrelated third parties. +* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, +* published, redistributed nor made available to any unlicensed third parties. +* +* For more information, contact us at support@irreverent-software.com +* +*/ + +namespace PlanarReflections6 { - using System.Collections; - using System.Collections.Generic; using UnityEngine; using UnityEditor; - using UnityEngine.Rendering; - using UnityEngine.Rendering.Universal; - [CustomEditor(typeof(PlanarReflectionRenderer))] + [CustomEditor( typeof( PlanarReflectionRenderer ) )] public class PlanarReflectionRenderer_Editor : Editor { @@ -27,42 +38,43 @@ GUILayout.Space( 8 ); - AssetLogoAndVersion(); + AssetLogoAndVersion(); GUILayout.Space( 4 ); GUILayout.BeginHorizontal(); - GUILayout.Space(16); + GUILayout.Space( 16 ); - if ( GUILayout.Button( "General Settings", _currentTab == 0?pidiSkin2.customStyles[6]:pidiSkin2.customStyles[5], GUILayout.MaxWidth(240) ) ) { + if ( GUILayout.Button( "General Settings", _currentTab == 0 ? pidiSkin2.customStyles[6] : pidiSkin2.customStyles[5], GUILayout.MaxWidth( 240 ) ) ) { _currentTab = 0; } GUILayout.Space( 12 ); - if ( GUILayout.Button( "Performance", _currentTab == 1?pidiSkin2.customStyles[6]:pidiSkin2.customStyles[5], GUILayout.MaxWidth(240) ) ) { + if ( GUILayout.Button( "Performance", _currentTab == 1 ? pidiSkin2.customStyles[6] : pidiSkin2.customStyles[5], GUILayout.MaxWidth( 240 ) ) ) { _currentTab = 1; } - + GUILayout.Space( 12 ); if ( GUILayout.Button( "Post FX Settings", _currentTab == 2 ? pidiSkin2.customStyles[6] : pidiSkin2.customStyles[5], GUILayout.MaxWidth( 240 ) ) ) { _currentTab = 2; } - - GUILayout.Space(12); - if ( GUILayout.Button( "?", _currentTab == 3?pidiSkin2.customStyles[6]:pidiSkin2.customStyles[5], GUILayout.MaxWidth(24) ) ) { + GUILayout.Space( 12 ); + + if ( GUILayout.Button( "?", _currentTab == 3 ? pidiSkin2.customStyles[6] : pidiSkin2.customStyles[5], GUILayout.MaxWidth( 24 ) ) ) { _currentTab = 3; } - GUILayout.Space(16); + GUILayout.Space( 16 ); GUILayout.EndHorizontal(); - GUILayout.BeginHorizontal(); GUILayout.Space( 16 ); + GUILayout.BeginHorizontal(); + GUILayout.Space( 16 ); GUILayout.BeginVertical(); @@ -70,48 +82,50 @@ GUILayout.Space( 16 ); + if ( UnityEngine.XR.XRSettings.enabled ) { + + EditorGUILayout.HelpBox( "This project is using VR cameras. Planar Reflections will now be rendered in VR-Stereoscopic Mode, which is still EXPERIMENTAL." + + "\n\nCompatibility is not guaranteed and the reflections will only work with Single-Pass Instanced mode, so please use with caution.", MessageType.Warning ); + + GUILayout.Space( 16 ); + } + CenteredLabel( "Basic Properties & Features" ); GUILayout.Space( 16 ); + if ( serializedObject.FindProperty("_settings.cameraFilteringMode").enumValueIndex == (int)PlanarReflectionSettings.CameraFilteringMode.ByComponentOnly ) { + EditorGUILayout.HelpBox( "Only cameras with the Planar Reflection Camera component attached will trigger reflections from this Reflection Renderer", MessageType.Info ); + GUILayout.Space( 16 ); + } EditorGUILayout.PropertyField( serializedObject.FindProperty( "showAdvancedSettings" ) ); EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectLayers" ), new GUIContent( "Reflect Layers" ) ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "externalReflectionTex" ), new GUIContent( "Output to Texture", "An optional RenderTexture asset to which the reflection will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras" ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectionBackground" ) ); + + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.cameraFilteringMode" ) ); + + + if ( serializedObject.FindProperty( "_settings.reflectionBackground" ).enumValueIndex == (int)PlanarReflectionSettings.ReflectionBackground.SolidColor ) { + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.backgroundColor" ), new GUIContent( "Background Color", "The color that this reflection will use as a solid background instead of the skybox" ) ); + } + + GUILayout.Space( 12 ); + + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_externalReflectionTex" ), new GUIContent("Ext. Reflection Texture", "An optional RenderTexture asset to which the reflection will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras" ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) ); if ( serializedObject.FindProperty( "_settings.renderDepth" ).boolValue ) { - EditorGUILayout.PropertyField( serializedObject.FindProperty( "externalReflectionDepth" ), new GUIContent( "Output Depth to Texture", "An optional RenderTexture asset to which the reflection's depth will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras. Must be in 'Depth' texture format." ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_externalReflectionDepth" ), new GUIContent( "Ext. Depth Texture", "An optional RenderTexture asset to which the reflection's depth will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras. Must be in 'Depth' texture format." ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) ); } GUILayout.Space( 8 ); // - Toggle( new GUIContent( "Reflection Depth", "Whether this reflection will render its own depth texture or not" ), serializedObject, "_settings.renderDepth", 1 ); - - if ( serializedObject.FindProperty( "_settings.renderFog" ).boolValue ) { - GUILayout.Space( 8 ); - - EditorGUILayout.HelpBox( "Fog Rendering is no longer needed in most cases for Unity 2022+ with URP as fog is rendered in the reflection by default.", MessageType.Info ); - - GUILayout.Space( 8 ); - } - - Toggle( new GUIContent( "Reflection Fog", "Whether this reflection will render its own fog pass or not" ), serializedObject, "_settings.renderFog", 1 ); - - if ( serializedObject.FindProperty( "_settings.renderFog" ).boolValue ) { - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.fogRendererIndex" ), new GUIContent( "Fog Renderer Index" ) ); - } - - GUILayout.Space( 8 ); - - Toggle( new GUIContent( "Clear to Color", "Controls the clear flags of the reflection so that instead of reflecting the skybox it reflects a solid color" ), serializedObject, "_settings.clearToColor", 2 ); - - if ( serializedObject.FindProperty("_settings.clearToColor").boolValue ) { - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.backgroundColor" ), new GUIContent( "Background Color", "The color that this reflection will use as a solid background instead of the skybox" ) ); - } + Toggle( "Reflection Depth", serializedObject, "_settings.renderDepth", 1 ); + GUILayout.Space( 16 ); if ( serializedObject.FindProperty( "showAdvancedSettings" ).boolValue ) { @@ -120,21 +134,40 @@ GUILayout.Space( 16 ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.mainRenderPassIndex" ), new GUIContent( "Renderer Override", "Assigns a custom Renderer index to the reflections, different from that of the main camera. Please make sure that your index is not larger than the amount of actual renderers in your URP asset" ) ); - - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.camerasPrefix" ), new GUIContent( "Camera's Prefix", "Filters the in-game cameras so that a reflection is generated and displayed only for those that contain the given prefix in their name" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectionURPRendererIndex" ), new GUIContent( "Renderer Override", "Assigns a custom Renderer index to the reflections, different from that of the main camera. Please make sure that your index is not larger than the amount of actual renderers in your URP asset" ) ); GUILayout.Space( 8 ); - Toggle( new GUIContent( "Preview Reflection", "Enables or disables a preview reflection plane in the Scene view to show the reflection and its properties regardless of if it has been assigned to a Caster" ), serializedObject, "showPreviewReflector", 1 ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_previewInSceneView" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_showPreviewReflector" ) ); + + if ( serializedObject.FindProperty( "_showPreviewReflector" ).boolValue ) { + serializedObject.FindProperty( "_previewInSceneView" ).boolValue = true; + } GUILayout.Space( 4 ); - Toggle( new GUIContent( "Accurate Matrix", "When enabled, the reflection will use a custom oblique projection matrix to avoid clipping and present more accurate reflections.\nIt may, however, interfere with some PostFX and projection-dependant features" ), serializedObject, "_settings.accurateMatrix", 1 ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.accurateMatrix" ) ); EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.nearClipPlane" ), new GUIContent( "Near Clip Plane" ) ); EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.farClipPlane" ), new GUIContent( "Far Clip Plane" ) ); + GUILayout.Space( 12 ); + + if ( serializedObject.FindProperty( "_settings.renderFog" ).boolValue ) { + GUILayout.Space( 8 ); + + EditorGUILayout.HelpBox( "Fog Rendering is no longer needed in most cases for Unity 2022+ with URP as fog is rendered in the reflection by default.", MessageType.Info ); + + GUILayout.Space( 8 ); + } + + Toggle( "Reflection Fog", serializedObject, "_settings.renderFog", 1 ); + + if ( serializedObject.FindProperty( "_settings.renderFog" ).boolValue ) { + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.fogRendererIndex" ), new GUIContent( "Fog Renderer Index" ) ); + } + GUILayout.Space( 16 ); } @@ -144,60 +177,68 @@ if ( _currentTab == 1 ) { - GUILayout.Space( 16 ); - - CenteredLabel( "Reflection Quality" ); GUILayout.Space( 16 ); - Toggle( new GUIContent( "Render Shadows", "Whether this reflection will display shadows or not" ), serializedObject, "_settings.renderShadows", 2 ); + CenteredLabel( "General Performance Settings" ); + + GUILayout.Space( 16 ); + + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.updateOnCastOnly" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.renderShadows" ) ); GUILayout.Space( 8 ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.customLODBias" ), new GUIContent( "Custom LOD Bias","Further adjusts the LOD bias of the game in order to render lower quality models for the reflections if necessary" ) ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.maxLODLevel" ), new GUIContent( "Max. LOD Level", "The maximum LOD level allowed in reflections" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.customLODBias" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.maxLODLevel" ) ); GUILayout.Space( 8 ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectionFramerate" ), new GUIContent( "Reflection's Framerate", "The maximum framerate of this reflection. Set to 0 to remove any FPS cap and render the reflection in sync with the in-game cameras" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectionFramerate" ) ); GUILayout.Space( 16 ); - CenteredLabel( "Output Quality" ); + CenteredLabel( "Reflection Output Quality" ); + GUILayout.Space( 16 ); - Toggle( new GUIContent( "Screen Based Resolution", "The resolution of the reflection will be determined by the resolution of the screen / game's window" ), serializedObject, "_settings.screenBasedResolution", 1 ); + + Toggle( "Screen Based Resolution", serializedObject, "_settings.screenBasedResolution", 1 ); if ( !serializedObject.FindProperty( "_settings.screenBasedResolution" ).boolValue ) { - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.explicitResolution" ), new GUIContent( "Base Resolution" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.explicitResolution" ) ); } - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.outputResolutionMultiplier" ), new GUIContent( "Resolution Multiplier", "The factor by which the reflection's resolution will be multiplied" ) ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.outputResolutionMultiplier" ) ); GUILayout.Space( 4 ); - Toggle( new GUIContent( "HDR Reflection", "Whether the reflection texture will use an HDRP compatible format" ), serializedObject, "_settings.forceHDR", 1 ); - Toggle( new GUIContent( "Mip Maps", "Whether the reflection texture will use mip maps or not" ), serializedObject, "_settings.useMipMaps", 1 ); - Toggle( new GUIContent( "Anti-aliasing", "Whether the reflection texture will use anti-aliasing or not" ), serializedObject, "_settings.useAntialiasing", 1 ); + Toggle( "HDR Reflection", serializedObject, "_settings.forceHDR", 1 ); + Toggle( "Mip Maps", serializedObject, "_settings.useMipMaps", 1 ); + Toggle( "Anti-aliasing", serializedObject, "_settings.useAntialiasing", 1 ); GUILayout.Space( 16 ); } - + if ( _currentTab == 2 ) { - GUILayout.Space( 16 ); + GUILayout.Space( 16 ); - Toggle( new GUIContent( "PostFX Support", "Allows the reflection to render Post Process FX with its own custom settings, useful to display ambient occlusion, bloom or other effects within the reflection itself" ), serializedObject, "_settings.usePostFX", 1 ); + EditorGUILayout.HelpBox( "\nEnabling Post FX in the reflections is heavily discouraged, as it will often produce unexpected results and heavily impact performance. The reflections will automatically reflect most effects, including SSAO and bloom (as long as the reflection is marked as HDR enabled in the Performance tab).\n", MessageType.Warning ); - if ( serializedObject.FindProperty( "_settings.usePostFX" ).boolValue ) { - GUILayout.Space( 8 ); - EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.postFXVolumeMask" ), new GUIContent( "Post FX Volume Mask", "The layer mask for the PostFX volumes with which this reflection will interact" ) ); - } - GUILayout.Space( 16 ); + GUILayout.Space( 12 ); + + Toggle( "PostFX Support", serializedObject, "_settings.usePostFX", 1 ); + + if ( serializedObject.FindProperty( "_settings.usePostFX" ).boolValue ) { + GUILayout.Space( 8 ); + EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.postFXVolumeMask" ) ); + } + GUILayout.Space( 16 ); } - + if ( _currentTab == 3 ) { @@ -207,12 +248,14 @@ CenteredLabel( "Support & Assistance" ); GUILayout.Space( 10 ); - EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP / HDRP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info ); + EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info ); GUILayout.Space( 8 ); - GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); GUILayout.Label( "For support, contact us at : support@irreverent-software.com" ); - GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); GUILayout.Space( 24 ); @@ -226,20 +269,23 @@ GUILayout.Space( 8 ); - GUILayout.EndVertical(); GUILayout.Space( 16 ); + GUILayout.EndVertical(); + GUILayout.Space( 16 ); GUILayout.EndHorizontal(); - GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); var lStyle = new GUIStyle(); lStyle.fontStyle = FontStyle.Italic; - lStyle.normal.textColor = EditorGUIUtility.isProSkin?Color.white:Color.black; + lStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black; lStyle.fontSize = 8; - GUILayout.Label( "Copyright© 2017-2023, Jorge Pinal N.", lStyle ); + GUILayout.Label( $"Copyright© 2017-{System.DateTime.Today.Year}, Jorge Pinal N.", lStyle ); - GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); GUILayout.Space( 24 ); @@ -262,7 +308,7 @@ GUILayout.Space( 45 ); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); - GUILayout.Label( "v5.3.0", pidiSkin2.customStyles[2] ); + GUILayout.Label( (target as PlanarReflectionRenderer).Version, pidiSkin2.customStyles[2] ); GUILayout.Space( 6 ); GUILayout.EndHorizontal(); GUILayout.EndVertical(); @@ -271,16 +317,18 @@ void CenteredLabel( string label ) { - - GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); var tempStyle = new GUIStyle(); tempStyle.fontStyle = FontStyle.Bold; - tempStyle.normal.textColor = EditorGUIUtility.isProSkin?Color.white:Color.black; + tempStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black; GUILayout.Label( label, tempStyle ); - GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); } @@ -298,10 +346,11 @@ private bool BeginCenteredGroup( string label, ref bool groupFoldState ) { - if ( GUILayout.Button( label, groupFoldState?pidiSkin2.customStyles[6]:pidiSkin2.button ) ) { + if ( GUILayout.Button( label, groupFoldState ? pidiSkin2.customStyles[6] : pidiSkin2.button ) ) { groupFoldState = !groupFoldState; } - GUILayout.BeginHorizontal(); GUILayout.Space( 12 ); + GUILayout.BeginHorizontal(); + GUILayout.Space( 12 ); GUILayout.BeginVertical(); return groupFoldState; } @@ -319,7 +368,7 @@ public static void PopupField( GUIContent label, SerializedObject serializedObject, string propertyID, string[] options ) { - + GUILayout.BeginHorizontal(); @@ -346,42 +395,45 @@ - private static void Toggle( GUIContent label, SerializedObject serializedObject, string propertyID, int toggleType = 0 ) { + private static void Toggle( string label, SerializedObject serializedObject, string propertyID, int toggleType = 0 ) { + - GUILayout.BeginHorizontal(); var inValue = serializedObject.FindProperty( propertyID ); + + GUIContent trueLabel = new GUIContent( label, inValue.tooltip ); + switch ( toggleType ) { case 0: - EditorGUILayout.PropertyField( inValue, label ); + EditorGUILayout.PropertyField( inValue, trueLabel ); break; case 1: if ( inValue.hasMultipleDifferentValues ) { - var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } ); + var result = EditorGUILayout.Popup( trueLabel, -1, new string[] { "Enabled", "Disabled" } ); if ( result > -1 ) { inValue.boolValue = result == 0; } } else { - inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0; + inValue.boolValue = EditorGUILayout.Popup( trueLabel, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0; } break; case 2: if ( inValue.hasMultipleDifferentValues ) { - var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } ); + var result = EditorGUILayout.Popup( trueLabel, -1, new string[] { "True", "False" } ); if ( result > -1 ) { inValue.boolValue = result == 0; } } else { - inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0; + inValue.boolValue = EditorGUILayout.Popup( trueLabel, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0; } break; diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta similarity index 63% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta index 884be240d..96055be31 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs.meta @@ -13,9 +13,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source - Code/Editor/PlanarReflectionRenderer_Editor.cs - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/PlanarReflectionRenderer_Editor.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef similarity index 91% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef index 686096a4b..3e1c57915 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/Editor/PlanarReflections5_Editor.asmdef +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef @@ -1,5 +1,5 @@ { - "name": "PlanarReflections5_Editor", + "name": "PlanarReflections6_Editor", "rootNamespace": "", "references": [ "GUID:334652eda5240b34295005cfff81eee2", diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef.meta new file mode 100644 index 000000000..554997238 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 06deb2bf6632f9948857f762d2560e0a +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/PlanarReflections6_Editor.asmdef + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png new file mode 100644 index 000000000..38706b77f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d123fd5894710b2846785590c01a22f41f55862e4e3b547682a2348f8208b4a +size 177782 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png.meta new file mode 100644 index 000000000..4243e5001 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 9ba256d32c910d741afcc66ab425375f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/Planar_Reflections_6_Logo.png + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only.meta new file mode 100644 index 000000000..801d15d59 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7b950310fca0c04e8f0221754efd748 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs new file mode 100644 index 000000000..e74bf7045 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs @@ -0,0 +1,317 @@ +namespace PlanarReflections6 { + + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + using UnityEditor; + + [CustomEditor( typeof( PlanarReflectionCasterDecal ) )] + public class PlanarReflectionCasterDecal_Editor : Editor { + + public GUISkin pidiSkin2; + + public Texture2D reflectionsLogo; + + bool[] _folds = new bool[16]; + + bool supportFold; + + private void OnEnable() { + + } + + + public override void OnInspectorGUI() { + + GUI.color = EditorGUIUtility.isProSkin ? new Color( 0.1f, 0.1f, 0.15f, 1 ) : new Color( 0.5f, 0.5f, 0.6f ); + GUILayout.BeginVertical( EditorStyles.helpBox ); + GUI.color = Color.white; + + GUILayout.Space( 8 ); + + AssetLogoAndVersion(); + + + GUILayout.BeginHorizontal(); GUILayout.Space( 16 ); GUILayout.BeginVertical(); + + GUILayout.Space( 16 ); + + EditorGUILayout.HelpBox( "This component is in Beta. It is an initial implementation that will be worked on and improved in future releases.", MessageType.Info ); + + GUILayout.Space( 12 ); + + EditorGUILayout.HelpBox( "Due to how the Decal Projector component works (no accessor to the property block of the decal's material), it is not possible to have different reflections assigned to decals sharing the same material. All decals sharing the same material will also share the same reflection.", MessageType.Warning ); + + GUILayout.Space( 16 ); + + EditorGUILayout.PropertyField( serializedObject.FindProperty( "castFromRenderer" ), new GUIContent( "Cast From Renderer", "The Planar Reflection Renderer from which this Caster will take the reflections" ) ); + + GUILayout.Space( 8 ); + + Toggle( new GUIContent( "Reflection Color", "Wether this material requires a reflection color texture" ), serializedObject, "castReflection", 1 ); + Toggle( new GUIContent( "Reflection Depth", "Wether this material requires a reflection depth texture" ), serializedObject, "castDepth", 1 ); + Toggle( new GUIContent( "Reflection Fog", "Wether this material requires a reflection fog texture" ), serializedObject, "castFog", 1 ); + + GUILayout.Space( 4 ); + + + var blurProp = serializedObject.FindProperty( "blurSettings" ); + + Toggle( new GUIContent( "Blur Pass", "Enables a blur pass on the reflection texture that can be used internally by reflection-compatible shaders" ), blurProp.FindPropertyRelative( "useBlur" ), 1 ); + + + if ( blurProp.FindPropertyRelative( "useBlur" ).boolValue ) { + GUILayout.Space( 8 ); + CenteredLabel( "Blur Settings" ); + GUILayout.Space( 8 ); + Toggle( new GUIContent( "Fast Blur", "A very simple, faked blur approximation designed for low end platforms" ), blurProp.FindPropertyRelative( "forceFakeBlur" ), 1 ); + + PopupField( new GUIContent( "Blur Pass Mode", "The way in which the blurred reflection will be sent to the material\n\nFinal Output - Blurs the reflection itself\nSeparate Pass - Stores the blurred reflection on its own texture (_BlurReflectionTex)" ), blurProp.FindPropertyRelative( "blurPassMode" ), new string[] { "Final Result", "Separate Pass" } ); + EditorGUILayout.PropertyField( blurProp.FindPropertyRelative( "blurRadius" ), new GUIContent( "Blur Radius", "The spread of the blur effect" ) ); + EditorGUILayout.PropertyField( blurProp.FindPropertyRelative( "blurDownscale" ), new GUIContent( "Blur Downscale", "The downscaling applied to the blurred reflection. Increases the overall blurriness" ) ); + } + + GUILayout.Space( 16 ); + + + + if ( BeginCenteredGroup( "Help & Support", ref supportFold ) ) { + + GUILayout.Space( 16 ); + + CenteredLabel( "Support & Assistance" ); + GUILayout.Space( 10 ); + + EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info ); + + GUILayout.Space( 8 ); + GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + GUILayout.Label( "For support, contact us at : support@irreverent-software.com" ); + GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + + GUILayout.Space( 24 ); + + if ( CenteredButton( "Online Documentation", 500 ) ) { + Help.BrowseURL( "https://irreverent-software.com/docs/planar-reflections-5/" ); + } + GUILayout.Space( 16 ); + + } + EndCenteredGroup(); + + GUILayout.Space( 16 ); + + GUILayout.EndVertical(); GUILayout.Space( 16 ); GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + + var lStyle = new GUIStyle(); + lStyle.fontStyle = FontStyle.Italic; + lStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black; + lStyle.fontSize = 8; + + GUILayout.Label( $"Copyright© 2017-{System.DateTime.Today.Year}, Jorge Pinal N.", lStyle ); + + GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + + GUILayout.Space( 24 ); + + GUILayout.EndVertical(); + + serializedObject.ApplyModifiedProperties(); + + + } + + + + + + + private void AssetLogoAndVersion() { + + GUILayout.BeginVertical( reflectionsLogo, pidiSkin2 ? pidiSkin2.customStyles[1] : null ); + GUILayout.Space( 45 ); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.Label( (target as PlanarReflectionCasterDecal).Version, pidiSkin2.customStyles[2] ); + GUILayout.Space( 6 ); + GUILayout.EndHorizontal(); + GUILayout.EndVertical(); + } + + + void CenteredLabel( string label ) { + + + GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); + + var tempStyle = new GUIStyle(); + tempStyle.fontStyle = FontStyle.Bold; + tempStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black; + + GUILayout.Label( label, tempStyle ); + + GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); + + } + + + bool CenteredButton( string label, float width = 400 ) { + + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + var btn = GUILayout.Button( label, GUILayout.MaxWidth( width ) ); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + + return btn; + } + + + private bool BeginCenteredGroup( string label, ref bool groupFoldState ) { + + if ( GUILayout.Button( label, groupFoldState ? pidiSkin2.customStyles[6] : pidiSkin2.button ) ) { + groupFoldState = !groupFoldState; + } + GUILayout.BeginHorizontal(); GUILayout.Space( 12 ); + GUILayout.BeginVertical(); + return groupFoldState; + } + + private void EndCenteredGroup() { + GUILayout.EndVertical(); + GUILayout.Space( 12 ); + GUILayout.EndHorizontal(); + GUILayout.Space( 4 ); + } + + + + + public static void PopupField( GUIContent label, SerializedProperty inValue, string[] options ) { + + + GUILayout.BeginHorizontal(); + + var tempStyle = new GUIStyle(); + EditorGUILayout.PrefixLabel( label ); + + + + if ( inValue.hasMultipleDifferentValues ) { + var result = EditorGUILayout.Popup( -1, options ); + + if ( result > -1 ) { + inValue.intValue = result; + } + } + else { + inValue.intValue = EditorGUILayout.Popup( inValue.intValue, options ); + } + + GUILayout.EndHorizontal(); + + } + + + + private static void Toggle( GUIContent label, SerializedObject serializedObject, string propertyID, int toggleType = 0, int atIndex = -1 ) { + + + GUILayout.BeginHorizontal(); + + var inValue = serializedObject.FindProperty( propertyID ); + + if ( atIndex > -1 ) { + inValue = inValue.GetArrayElementAtIndex( atIndex ); + } + + switch ( toggleType ) { + + case 0: + EditorGUILayout.PropertyField( inValue, label ); + break; + + case 1: + if ( inValue.hasMultipleDifferentValues ) { + var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } ); + + if ( result > -1 ) { + inValue.boolValue = result == 0; + } + } + else { + inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0; + } + break; + + case 2: + if ( inValue.hasMultipleDifferentValues ) { + var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } ); + + if ( result > -1 ) { + inValue.boolValue = result == 0; + } + } + else { + inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0; + } + break; + + } + + GUILayout.EndHorizontal(); + } + + + + private static void Toggle( GUIContent label, SerializedProperty inValue, int toggleType = 0 ) { + + + GUILayout.BeginHorizontal(); + + + switch ( toggleType ) { + + case 0: + EditorGUILayout.PropertyField( inValue, label ); + break; + + case 1: + if ( inValue.hasMultipleDifferentValues ) { + var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } ); + + if ( result > -1 ) { + inValue.boolValue = result == 0; + } + } + else { + inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0; + } + break; + + case 2: + if ( inValue.hasMultipleDifferentValues ) { + var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } ); + + if ( result > -1 ) { + inValue.boolValue = result == 0; + } + } + else { + inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0; + } + break; + + } + + GUILayout.EndHorizontal(); + } + + + + + } + +} \ No newline at end of file diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs.meta new file mode 100644 index 000000000..ecdab81b2 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: 65b18076ee652dd4daf2d92caa187db6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - pidiSkin2: {fileID: 11400000, guid: debda0473feed5d4e8ac5c53f3ee38dd, type: 2} + - reflectionsLogo: {fileID: 2800000, guid: 9ba256d32c910d741afcc66ab425375f, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/Editor/URP-Only/PlanarReflectionCasterDecal_Editor.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef similarity index 91% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef index b36efaccd..77765725b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Source Code/PlanarReflections5.asmdef +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef @@ -1,5 +1,5 @@ { - "name": "PlanarReflections5", + "name": "PlanarReflections6", "rootNamespace": "", "references": [ "GUID:15fc0a57446b3144c949da3e2b9737a9" diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef.meta new file mode 100644 index 000000000..eb7ae4ebb --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/PlanarReflections6.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 334652eda5240b34295005cfff81eee2 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/PlanarReflections6.asmdef + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only.meta new file mode 100644 index 000000000..f32e75edf --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aeed938a94f9c98418572e1c0a64b71a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs new file mode 100644 index 000000000..3aada1ce4 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs @@ -0,0 +1,257 @@ +namespace PlanarReflections6 { + + /* + * PIDI - Planar Reflections 6 - Copyright 2017-2025 + * PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete. + + * You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any + * means on any platform except with the purpose of contacting the developers to request support and only when taking + * all pertinent measures to avoid its release to the public and / or any unrelated third parties. + * Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared, + * published, redistributed nor made available to any third parties unrelated to Irreverent Software by any means. + * + * For more information, contact us at support@irreverent-software.com + * + */ + + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + using UnityEngine.Rendering; + using UnityEngine.Rendering.Universal; + + [RequireComponent( typeof( UnityEngine.Rendering.Universal.DecalProjector ) )] + [ExecuteAlways] + [HelpURL( "https://irreverent-software.com/docs/planar-reflections-6/getting-started/planar-reflection-caster-decal/" )] + public class PlanarReflectionCasterDecal : MonoBehaviour { + + public static readonly int _reflectionTex = Shader.PropertyToID( "_ReflectionTex" ); + public static readonly int _reflectionDepth = Shader.PropertyToID( "_ReflectionDepth" ); + public static readonly int _reflectionFog = Shader.PropertyToID( "_ReflectionFog" ); + public static readonly int _blurReflectionTex = Shader.PropertyToID( "_BlurReflectionTex" ); + public static readonly int _vrMode = Shader.PropertyToID( "_VRMode" ); + + [System.Serializable] + public struct BlurSettings { + + [System.NonSerialized] public RenderTexture blurredMap; + [System.NonSerialized] public RenderTexture blurredDepth; + public bool useBlur; + public bool forceFakeBlur; + public int blurPassMode; + [Range( 0, 1 )] public float blurRadius; + [Range( 1, 4 )] public int blurDownscale; + + + } + + + public PlanarReflectionRenderer castFromRenderer; + public Material BlurMaterial; + [SerializeField] protected Material originalMaterial; + public bool castDepth; + public bool castFog; + public bool castReflection; + public BlurSettings blurSettings; + + [SerializeField] protected Material _instMaterial; + + [SerializeField] protected UnityEngine.Rendering.Universal.DecalProjector rend; + + + [SerializeField] protected Vector3Int _currentVersion = new Vector3Int( 6, 0, 0 ); + + protected readonly Vector3Int _targetVersion = new Vector3Int( 6, 0, 3 ); + +#if UNITY_EDITOR + + private int _updateTestCounter = 3; + + public string Version { get { return $"v{_currentVersion.x}.{_currentVersion.y}.{_currentVersion.z}"; } } +#endif + +#if UNITY_EDITOR + + private void SelfUpdate() { + UnityEditor.Undo.RecordObject( this, GetInstanceID() + "_versionChange" ); + Debug.Log( $"Updated from version {Version} to version v{_targetVersion.x}.{_targetVersion.y}.{_targetVersion.z}" ); + _currentVersion = _targetVersion; + UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty(); + } +#endif + + private void OnEnable() { + +#if UNITY_EDITOR + BlurMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath( UnityEditor.AssetDatabase.GUIDToAssetPath( UnityEditor.AssetDatabase.FindAssets( "PlanarReflections_InternalBlur" )[0] ) ); +#endif + + rend = GetComponent(); + + + + blurSettings.blurDownscale = Mathf.Clamp( blurSettings.blurDownscale, 1, 4 ); + + + RenderPipelineManager.beginCameraRendering -= AssignReflections; + RenderPipelineManager.beginCameraRendering += AssignReflections; + RenderPipelineManager.endContextRendering += RegisterCaster; + } + + + private void OnDisable() { + + RenderPipelineManager.beginCameraRendering -= AssignReflections; + RenderPipelineManager.endContextRendering -= RegisterCaster; + + RenderTexture.ReleaseTemporary( blurSettings.blurredMap ); + RenderTexture.ReleaseTemporary( blurSettings.blurredDepth ); + + } + + + private void RegisterCaster( ScriptableRenderContext context, List cams ) { + + +#if UNITY_EDITOR + + if ( !Application.isPlaying ) { + if ( _updateTestCounter > 0 ) { + _updateTestCounter--; + } + else { + + if ( _currentVersion != _targetVersion ) { + SelfUpdate(); + } + } + } + +#endif + + if ( castFromRenderer ) { + castFromRenderer.RegisterCaster(); + } + + } + + + void AssignReflections( ScriptableRenderContext context, Camera cam ) { + + + var uData = cam.GetUniversalAdditionalCameraData(); + + if ( cam.cameraType == CameraType.Game && Application.isPlaying ) { + rend.material.SetFloat( _vrMode, uData.allowXRRendering && UnityEngine.XR.XRSettings.enabled ? 1 : 0 ); + } + else { + rend.material.SetFloat( _vrMode, 0 ); + } + + if ( cam.TryGetComponent( out PlanarReflectionCamera refCam ) && refCam.isReflectionCamera ) { + return; + } + + + + if ( !castFromRenderer || !castFromRenderer.isActiveAndEnabled ) { + return; + } + + if ( castReflection || castDepth ) { + + Texture rTex = castFromRenderer.GetReflection( cam ); + + if ( rTex != Texture2D.blackTexture && blurSettings.useBlur ) { + + if ( blurSettings.forceFakeBlur ) { + RenderTexture.ReleaseTemporary( blurSettings.blurredMap ); + var rd = new RenderTextureDescriptor( Mathf.Max( rTex.width / ( blurSettings.blurDownscale * 2 ), 16 ), Mathf.Max( rTex.height / ( blurSettings.blurDownscale * 2 ), 16 ), RenderTextureFormat.DefaultHDR, 0 ); + rd.msaaSamples = 8; + blurSettings.blurredMap = RenderTexture.GetTemporary( rd ); + var quality = BlurMaterial.GetFloat( "_KernelSize" ); + BlurMaterial.SetFloat( "_KernelSize", 8 ); + BlurMaterial.SetFloat( "_Radius", ( blurSettings.blurRadius + 0.01f ) * 16 ); + Graphics.Blit( rTex, blurSettings.blurredMap, BlurMaterial ); + BlurMaterial.SetFloat( "_KernelSize", quality ); + } + else { + + var rd = new RenderTextureDescriptor( Mathf.Max( rTex.width / blurSettings.blurDownscale, 1 ), Mathf.Max( rTex.height / blurSettings.blurDownscale, 1 ), RenderTextureFormat.Default, 0 ); + rd.sRGB = false; + + if ( !blurSettings.blurredMap ) { + blurSettings.blurredMap = RenderTexture.GetTemporary( rd ); + rd.colorFormat = RenderTextureFormat.Depth; + rd.depthBufferBits = 16; + } + else if ( blurSettings.blurredMap.width != rTex.width / blurSettings.blurDownscale || blurSettings.blurredMap.height != rTex.height / blurSettings.blurDownscale ) { + + + RenderTexture.ReleaseTemporary( blurSettings.blurredMap ); + RenderTexture.ReleaseTemporary( blurSettings.blurredDepth ); + + rd.depthBufferBits = 0; + rd.colorFormat = RenderTextureFormat.Default; + blurSettings.blurredMap = RenderTexture.GetTemporary( rd ); + rd.colorFormat = RenderTextureFormat.Depth; + rd.depthBufferBits = 16; + blurSettings.blurredDepth = RenderTexture.GetTemporary( rd ); + } + + rd.colorFormat = RenderTextureFormat.Default; + + BlurMaterial.SetFloat( "_Radius", ( blurSettings.blurRadius + 0.01f ) * 8 ); + var tempRT = RenderTexture.GetTemporary( rd ); + Graphics.Blit( rTex, blurSettings.blurredMap, BlurMaterial ); + Graphics.Blit( blurSettings.blurredMap, tempRT, BlurMaterial ); + Graphics.Blit( tempRT, blurSettings.blurredMap, BlurMaterial ); + RenderTexture.ReleaseTemporary( tempRT ); + } + + if ( blurSettings.blurredMap ) { + + if ( blurSettings.blurPassMode == 0 ) { + rend.material.SetTexture( _reflectionTex, blurSettings.blurredMap ); + } + else { + rend.material.SetTexture( _blurReflectionTex, blurSettings.blurredMap ); + rend.material.SetTexture( _reflectionTex, rTex ); + } + } + } + else { + rend.material.SetTexture( _blurReflectionTex, rTex ); + rend.material.SetTexture( _reflectionTex, rTex ); + } + + if ( castDepth && castFromRenderer.Settings.renderDepth ) { + rend.material.SetTexture( _reflectionDepth, castFromRenderer.GetReflectionDepth( cam ) ); + } + else { + rend.material.SetTexture( _reflectionDepth, (Texture)Texture2D.whiteTexture ); + } + + if ( castFog && castFromRenderer.Settings.renderFog ) { + rend.material.EnableKeyword( "_USE_FOG" ); + rend.material.SetTexture( _reflectionFog, castFromRenderer.GetReflectionFog( cam ) ); + } + else { + rend.material.DisableKeyword( "_USE_FOG" ); + rend.material.SetTexture( _reflectionFog, (Texture)Texture2D.blackTexture ); + } + } + else { + rend.material.SetTexture( _blurReflectionTex, (Texture)Texture2D.blackTexture ); + rend.material.SetTexture( _reflectionTex, (Texture)Texture2D.blackTexture ); + } + + + } + + + + } + + +} diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs.meta new file mode 100644 index 000000000..5c2d9ec6b --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0b6f2913a0fa017409fa18631d031a5b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 3c249ea879248f340a8701634b45b2a0, type: 3} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Source Code/URP-Only/PlanarReflectionCasterDecal.cs + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta new file mode 100644 index 000000000..4d307a268 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 5ac2af85432eee34fa79ce979fd9b4d1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Fog Pass/FogPassRenderer.asset + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals.meta new file mode 100644 index 000000000..624bb79f2 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 218c4a4d360d8ea468accdacfc4b36c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat new file mode 100644 index 000000000..1fbb45c01 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat @@ -0,0 +1,69 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8980599858981110617 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Simple Reflective Decal + m_Shader: {fileID: -6465566751694194690, guid: 50007f52d140c5f4ab2daf5c61b19593, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _DecalTex: + m_Texture: {fileID: 2800000, guid: c20b3f4a7170091499b262fed8bd3c3a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ReflectionTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _DecalMeshBiasType: 0 + - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 + - _DrawOrder: 0 + - _Multiply_Or_Override: 0.889 + - _Reflection_Intensity: 0.588 + m_Colors: [] + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat.meta new file mode 100644 index 000000000..04bff7527 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: e79ac9e001190ed48be3bb8bff300ebe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple + Reflective Decal.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph new file mode 100644 index 000000000..fe4154768 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph @@ -0,0 +1,2133 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "40bbcde6ee574c44829e101e80c46c94", + "m_Properties": [ + { + "m_Id": "317622816a2c42f2a8d0329ed5d9be62" + }, + { + "m_Id": "a85116faa75c42aebd5fea1a9031f588" + }, + { + "m_Id": "e2a717c6d0a5420485aa038609c00ed0" + }, + { + "m_Id": "132ab9d6b1ce491ba2785d38e2531265" + }, + { + "m_Id": "1671862588bd4c88aabd0800a2e447cf" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "868f156217fc4bddb98f6746a4523454" + } + ], + "m_Nodes": [ + { + "m_Id": "95ffd8bc79d64477b9de1033cc964f7c" + }, + { + "m_Id": "0206f91c8575457296220bc251c9e126" + }, + { + "m_Id": "beaf450c65d4459083ba7e53321cb3ca" + }, + { + "m_Id": "c76b1804878048d68db1776bcead964a" + }, + { + "m_Id": "e21dc01958024fcf9fa7d881bad91024" + }, + { + "m_Id": "b1c4106707a54ca49bee125621d33952" + }, + { + "m_Id": "466a62e3778e430789c93838293d5fcc" + }, + { + "m_Id": "9f60e6e6fe364204b935de821e186082" + }, + { + "m_Id": "4cf12e7f94364048ac2c2e274ac0d2b5" + }, + { + "m_Id": "bad36489bc534bb6b13d147243c929e9" + }, + { + "m_Id": "7b79a78ecf5144eebd467f9fac080be9" + }, + { + "m_Id": "774daeffed66416aaf72858d080281d2" + }, + { + "m_Id": "73d1040bcf32401cab9055c3b8ec4f76" + }, + { + "m_Id": "338292ddae4e426680b994e864f293e8" + }, + { + "m_Id": "f863b49d44bc4144ae3ed003fcf5d84a" + }, + { + "m_Id": "f695a0f0875d4b21b74e5d3cf2140b67" + }, + { + "m_Id": "78fa8a58043a4919a29b1d1ad29da6f8" + }, + { + "m_Id": "275db2f7a46b45b6aa83bcfc8db1ba7a" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "275db2f7a46b45b6aa83bcfc8db1ba7a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f695a0f0875d4b21b74e5d3cf2140b67" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "338292ddae4e426680b994e864f293e8" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "73d1040bcf32401cab9055c3b8ec4f76" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "466a62e3778e430789c93838293d5fcc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "275db2f7a46b45b6aa83bcfc8db1ba7a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "466a62e3778e430789c93838293d5fcc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f695a0f0875d4b21b74e5d3cf2140b67" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4cf12e7f94364048ac2c2e274ac0d2b5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "275db2f7a46b45b6aa83bcfc8db1ba7a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4cf12e7f94364048ac2c2e274ac0d2b5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "73d1040bcf32401cab9055c3b8ec4f76" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4cf12e7f94364048ac2c2e274ac0d2b5" + }, + "m_SlotId": 7 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0206f91c8575457296220bc251c9e126" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "73d1040bcf32401cab9055c3b8ec4f76" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "95ffd8bc79d64477b9de1033cc964f7c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "78fa8a58043a4919a29b1d1ad29da6f8" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f695a0f0875d4b21b74e5d3cf2140b67" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f60e6e6fe364204b935de821e186082" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4cf12e7f94364048ac2c2e274ac0d2b5" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b1c4106707a54ca49bee125621d33952" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "466a62e3778e430789c93838293d5fcc" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e21dc01958024fcf9fa7d881bad91024" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "466a62e3778e430789c93838293d5fcc" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f695a0f0875d4b21b74e5d3cf2140b67" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "73d1040bcf32401cab9055c3b8ec4f76" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f863b49d44bc4144ae3ed003fcf5d84a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b1c4106707a54ca49bee125621d33952" + }, + "m_SlotId": -1145327804 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "bad36489bc534bb6b13d147243c929e9" + }, + { + "m_Id": "7b79a78ecf5144eebd467f9fac080be9" + }, + { + "m_Id": "774daeffed66416aaf72858d080281d2" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "95ffd8bc79d64477b9de1033cc964f7c" + }, + { + "m_Id": "0206f91c8575457296220bc251c9e126" + }, + { + "m_Id": "beaf450c65d4459083ba7e53321cb3ca" + }, + { + "m_Id": "c76b1804878048d68db1776bcead964a" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Planar Reflections/Universal RP/Decals", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "6aac720656a34ab6bc6cb8782d288e4f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0206f91c8575457296220bc251c9e126", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "19eac2bcdf7f474ba073b70f7d33903e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "08f114d308ea443ab555c0c1ec518ad6", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "0d8d7d4c7fe94a3f8639d28505fd429f", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0db46dc77a664b77911850be8de7559f", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0fa645e77b154e77b9378db0816ee842", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1063acdb2c304e77ab75b61738fe622c", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "132ab9d6b1ce491ba2785d38e2531265", + "m_Guid": { + "m_GuidSerialized": "3a42a9f1-751d-461d-b1a3-1d9feb292bb6" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "145dd99d48aa431ba28416240583424b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "1671862588bd4c88aabd0800a2e447cf", + "m_Guid": { + "m_GuidSerialized": "63fd6a48-1fc3-4124-90b9-a16300493324" + }, + "m_Name": "Multiply Or Override", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Multiply Or Override", + "m_DefaultReferenceName": "_Multiply_Or_Override", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "19df01854415462187b167fd3c952256", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "19eac2bcdf7f474ba073b70f7d33903e", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "1bf8ec7bf8b6470e8b58dcd720b126e1", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1c1852eab05c4c28a9a5f2e2e62f985b", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1d0f16c5a7b8451da738cc1f28003912", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1e248b67c7b24866bc59aed18025a761", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "1ff6e0d1d9124d66ad7edb884d062364", + "m_Id": 0, + "m_DisplayName": "_ReflectionTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "275db2f7a46b45b6aa83bcfc8db1ba7a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -779.0001220703125, + "y": 25.000001907348634, + "width": 126.00006103515625, + "height": 118.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "0d8d7d4c7fe94a3f8639d28505fd429f" + }, + { + "m_Id": "ca6b8fc6462d4fcda4938af708c0d174" + }, + { + "m_Id": "ac7b73b2bcb64e4084fa1a8a581d1215" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "317622816a2c42f2a8d0329ed5d9be62", + "m_Guid": { + "m_GuidSerialized": "5c863a52-0ea9-42f5-ac35-827dda39bbdf" + }, + "m_Name": "_ReflectionTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_ReflectionTex", + "m_DefaultReferenceName": "_ReflectionTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "338292ddae4e426680b994e864f293e8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -597.0, + "y": 343.0000305175781, + "width": 175.99996948242188, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "36349cf17c6e47f0968ef2f8cf7dff24" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "e2a717c6d0a5420485aa038609c00ed0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "36349cf17c6e47f0968ef2f8cf7dff24", + "m_Id": 0, + "m_DisplayName": "Reflection Intensity", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "3a6614cd51a742609031ff6ee54c7202", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "3ea84d539cee4d22ab0ffc9e6f2c2c72", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "447ee1d53c684cd09b8850fe1d526a68", + "m_Id": 0, + "m_DisplayName": "DecalTex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "466a62e3778e430789c93838293d5fcc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1014.0, + "y": 118.0000228881836, + "width": 183.0, + "height": 250.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "9ef0bb6c9e064448a7771b69e74d61eb" + }, + { + "m_Id": "1d0f16c5a7b8451da738cc1f28003912" + }, + { + "m_Id": "46f2615cbe8748c98ffe12bbb4ae7d6c" + }, + { + "m_Id": "61d626d27c414cfaa1f690570842232d" + }, + { + "m_Id": "9b1c758c19514ba4b3b10d915888644f" + }, + { + "m_Id": "9461cda43be44802b9a34d5d00b57e4b" + }, + { + "m_Id": "3ea84d539cee4d22ab0ffc9e6f2c2c72" + }, + { + "m_Id": "6ba126148184458bb11b20794a77084a" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "46f2615cbe8748c98ffe12bbb4ae7d6c", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4749cbbb75dc4063890057bce5f2d56f", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "48ae56002e094eedb4b29f491af5b42e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "499f31bb938b4010868b55c8c19e2e31", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "4cf12e7f94364048ac2c2e274ac0d2b5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1001.0001220703125, + "y": -251.00003051757813, + "width": 183.0, + "height": 251.00001525878907 + } + }, + "m_Slots": [ + { + "m_Id": "48ae56002e094eedb4b29f491af5b42e" + }, + { + "m_Id": "a30d86a02dd64e6fbf09149f13eb8e2f" + }, + { + "m_Id": "4749cbbb75dc4063890057bce5f2d56f" + }, + { + "m_Id": "b75ce3fecf944a488ff99086568940ae" + }, + { + "m_Id": "785c732c70274efba4fa526f5c10576d" + }, + { + "m_Id": "9c4af5ddcea34ca8a92a607183c28c71" + }, + { + "m_Id": "3a6614cd51a742609031ff6ee54c7202" + }, + { + "m_Id": "08f114d308ea443ab555c0c1ec518ad6" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "61d626d27c414cfaa1f690570842232d", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "6aac720656a34ab6bc6cb8782d288e4f", + "m_ActiveSubTarget": { + "m_Id": "baf930492e25487587f7f417b3cd084c" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "6ba126148184458bb11b20794a77084a", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6db59a9c33744821a565603ff3ca1c1c", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "73d1040bcf32401cab9055c3b8ec4f76", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -430.40765380859377, + "y": -217.48509216308595, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1c1852eab05c4c28a9a5f2e2e62f985b" + }, + { + "m_Id": "cf2b14b339b34375a7f117eae4806f23" + }, + { + "m_Id": "0db46dc77a664b77911850be8de7559f" + }, + { + "m_Id": "6db59a9c33744821a565603ff3ca1c1c" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "755ab618dec549949976fb2c3eea0d8f", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "774daeffed66416aaf72858d080281d2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "966a0408685243b6ad71987cd77d2770" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "785c732c70274efba4fa526f5c10576d", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "78fa8a58043a4919a29b1d1ad29da6f8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -895.85009765625, + "y": 458.85003662109377, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bf33b04a030c4746b67c366a0f6f2822" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "1671862588bd4c88aabd0800a2e447cf" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "7b79a78ecf5144eebd467f9fac080be9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1bf8ec7bf8b6470e8b58dcd720b126e1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "868f156217fc4bddb98f6746a4523454", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "317622816a2c42f2a8d0329ed5d9be62" + }, + { + "m_Id": "e2a717c6d0a5420485aa038609c00ed0" + }, + { + "m_Id": "a85116faa75c42aebd5fea1a9031f588" + }, + { + "m_Id": "132ab9d6b1ce491ba2785d38e2531265" + }, + { + "m_Id": "1671862588bd4c88aabd0800a2e447cf" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8747dac5a2ba4dd7ab71f940d8f2558e", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "9131a2b759dd4152b6ae122617acfe55", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "9461cda43be44802b9a34d5d00b57e4b", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9577462b5e7a428084ddf9d3933e7c10", + "m_Id": 0, + "m_DisplayName": "Normal Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalAlpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "95ffd8bc79d64477b9de1033cc964f7c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9131a2b759dd4152b6ae122617acfe55" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "966a0408685243b6ad71987cd77d2770", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b1c758c19514ba4b3b10d915888644f", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "9c4af5ddcea34ca8a92a607183c28c71", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "9ef0bb6c9e064448a7771b69e74d61eb", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "9f60e6e6fe364204b935de821e186082", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1212.0001220703125, + "y": -234.00001525878907, + "width": 133.0, + "height": 34.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "447ee1d53c684cd09b8850fe1d526a68" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "a85116faa75c42aebd5fea1a9031f588" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a30d86a02dd64e6fbf09149f13eb8e2f", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a3eedad3b0614c68904df1acdce55a2d", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "a63ec26ccf6142209a18544be5de6924", + "m_Id": 1, + "m_DisplayName": "Output 1", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Output1", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "a85116faa75c42aebd5fea1a9031f588", + "m_Guid": { + "m_GuidSerialized": "80fed0a5-9ee2-4b0a-9936-2f5072012d0c" + }, + "m_Name": "DecalTex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "DecalTex", + "m_DefaultReferenceName": "_DecalTex", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ac7b73b2bcb64e4084fa1a8a581d1215", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "b1c4106707a54ca49bee125621d33952", + "m_Group": { + "m_Id": "" + }, + "m_Name": "ReflectionUVs", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1267.0, + "y": 253.0000457763672, + "width": 201.0, + "height": 117.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "0fa645e77b154e77b9378db0816ee842" + }, + { + "m_Id": "8747dac5a2ba4dd7ab71f940d8f2558e" + }, + { + "m_Id": "a63ec26ccf6142209a18544be5de6924" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b75ce3fecf944a488ff99086568940ae", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bad36489bc534bb6b13d147243c929e9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "755ab618dec549949976fb2c3eea0d8f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalDecalSubTarget", + "m_ObjectId": "baf930492e25487587f7f417b3cd084c", + "m_DecalData": { + "affectsAlbedo": true, + "affectsNormalBlend": true, + "affectsNormal": true, + "affectsMAOS": false, + "affectsEmission": false, + "drawOrder": 0, + "supportLodCrossFade": false, + "angleFade": false + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "beaf450c65d4459083ba7e53321cb3ca", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "145dd99d48aa431ba28416240583424b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bf33b04a030c4746b67c366a0f6f2822", + "m_Id": 0, + "m_DisplayName": "Multiply Or Override", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c76b1804878048d68db1776bcead964a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalAlpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9577462b5e7a428084ddf9d3933e7c10" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalAlpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ca6b8fc6462d4fcda4938af708c0d174", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "cf2b14b339b34375a7f117eae4806f23", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "e21dc01958024fcf9fa7d881bad91024", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1198.0, + "y": 84.00005340576172, + "width": 151.0, + "height": 33.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "1ff6e0d1d9124d66ad7edb884d062364" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "317622816a2c42f2a8d0329ed5d9be62" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "e2a717c6d0a5420485aa038609c00ed0", + "m_Guid": { + "m_GuidSerialized": "b63cea81-31b3-48a4-a0fb-d32283a40f6f" + }, + "m_Name": "Reflection Intensity", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Reflection Intensity", + "m_DefaultReferenceName": "_Reflection_Intensity", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.5, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "f695a0f0875d4b21b74e5d3cf2140b67", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -636.0000610351563, + "y": 128.99996948242188, + "width": 129.99996948242188, + "height": 142.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "19df01854415462187b167fd3c952256" + }, + { + "m_Id": "1e248b67c7b24866bc59aed18025a761" + }, + { + "m_Id": "a3eedad3b0614c68904df1acdce55a2d" + }, + { + "m_Id": "499f31bb938b4010868b55c8c19e2e31" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f863b49d44bc4144ae3ed003fcf5d84a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1392.21923828125, + "y": 376.785400390625, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1063acdb2c304e77ab75b61738fe622c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "132ab9d6b1ce491ba2785d38e2531265" + } +} + diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph.meta new file mode 100644 index 000000000..6b710c092 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple Reflective Decal.shadergraph.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 50007f52d140c5f4ab2daf5c61b19593 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Decals/Simple + Reflective Decal.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph similarity index 96% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph index a9491acad..d075aeede 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph @@ -1,5 +1,5 @@ { - "m_SGVersion": 2, + "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "d58dd4d6361148daaf68684212c3eae7", "m_Properties": [ @@ -29,6 +29,9 @@ }, { "m_Id": "a09e7959fd33988f81104706e20544fc" + }, + { + "m_Id": "573ce9acd31c405ca56f1684482291dc" } ], "m_Keywords": [ @@ -39,6 +42,12 @@ "m_Id": "6e7aea35369b4f4eb18b6e2c60decf32" } ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "c4933218d7c5435c8fe2c867ef5715be" + } + ], "m_Nodes": [ { "m_Id": "f08e6deb435d418ba3cbb2c5b749dd46" @@ -195,6 +204,9 @@ }, { "m_Id": "bc7a55159da74751b1d93edd04c790b8" + }, + { + "m_Id": "615c6baa1cab48f6afbc14360a3f698c" } ], "m_GroupDatas": [], @@ -522,6 +534,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "615c6baa1cab48f6afbc14360a3f698c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "84d180fd999fe485bef804d506c9a8e1" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -536,6 +562,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6c99fe260e263087a54bcb95fd977975" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "040c01d4bc025489869f7aa39cec9508" + }, + "m_SlotId": 3 + } + }, { "m_OutputSlot": { "m_Node": { @@ -550,6 +590,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6c99fe260e263087a54bcb95fd977975" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5b5215d8547a5a819a3879361f56e852" + }, + "m_SlotId": 3 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1199,10 +1253,11 @@ "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, - "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, + "m_Path": "Planar Reflections/SubGraphs", + "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "6d75b083476805868a37a99bb6a1c38f" @@ -1312,10 +1367,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 825.9999389648438, + "x": 830.0000610351563, "y": 690.0, - "width": 193.0, - "height": 249.0 + "width": 182.99993896484376, + "height": 251.00006103515626 } }, "m_Slots": [ @@ -1354,7 +1409,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -1734,9 +1790,13 @@ "m_GuidSerialized": "f7e545bf-a19b-4417-a279-73f3220daab3" }, "m_Name": "Reflection Tex", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_A4A4E1", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1745,6 +1805,8 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } @@ -1757,9 +1819,13 @@ "m_GuidSerialized": "39d8261e-1fa6-4b31-bed6-372b7564008f" }, "m_Name": "Reflection Depth", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_BCCC4859", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1768,52 +1834,12 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "1cda178b02cd4f05a9792b4b9c1066ab", - "m_Name": "", - "m_ChildObjectList": [ - { - "m_Id": "1aeb63e72339f38987e72da9ff7b8ecc" - }, - { - "m_Id": "1b855b42d3077d84b5880fb4e0688cab" - }, - { - "m_Id": "dcc59326d71d6386aca272087d234362" - }, - { - "m_Id": "3bb3ea009307ea8db43e0c673615709b" - }, - { - "m_Id": "20420ea0db40758e86f59774883ff306" - }, - { - "m_Id": "dac020dbb1a611898489a634d717bc25" - }, - { - "m_Id": "9d603aac866ce68c8a7558e102c6db7a" - }, - { - "m_Id": "d85b9fdedc3d7d8c96a268080bd44d5b" - }, - { - "m_Id": "a09e7959fd33988f81104706e20544fc" - }, - { - "m_Id": "f05bfe38406c4882b6246a036ec7f50e" - }, - { - "m_Id": "6e7aea35369b4f4eb18b6e2c60decf32" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -1894,9 +1920,13 @@ "m_GuidSerialized": "f219f5a3-8a1c-40ee-b8fa-93c26df4d5a3" }, "m_Name": "Reflection Tint", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector4_5CFB1DAE", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1921,9 +1951,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1660.9998779296875, - "y": 829.0, - "width": 144.0, + "x": 1659.0001220703125, + "y": 823.0000610351563, + "width": 139.0, "height": 118.0 } }, @@ -2119,6 +2149,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2ad1b1b42958430cac20959682cab936", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -2385,7 +2430,7 @@ "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Height", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": 0.0, "m_DefaultValue": 0.0, "m_Labels": [ @@ -2425,9 +2470,13 @@ "m_GuidSerialized": "5ba7ddf8-9b56-4065-91ca-9e3acf3cc720" }, "m_Name": "Smoothness", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_AC1694A7", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2964,6 +3013,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "573ce9acd31c405ca56f1684482291dc", + "m_Guid": { + "m_GuidSerialized": "4d8a3764-9aac-4664-8738-0aa93a20d3c9" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3179,7 +3255,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -3333,6 +3410,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "615c6baa1cab48f6afbc14360a3f698c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1904.999755859375, + "y": 989.0, + "width": 120.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "2ad1b1b42958430cac20959682cab936" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "573ce9acd31c405ca56f1684482291dc" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -3698,7 +3810,8 @@ "m_SerializableColors": [] }, "m_filter": 0, - "m_wrap": 0 + "m_wrap": 0, + "m_aniso": 0 } { @@ -3778,10 +3891,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 2513.0, - "y": 642.0000610351563, - "width": 158.0, - "height": 101.00000762939453 + "x": 2532.999755859375, + "y": 560.9999389648438, + "width": 148.0, + "height": 101.0 } }, "m_Slots": [ @@ -3810,12 +3923,17 @@ "m_GuidSerialized": "72250177-055c-4f7d-ba89-efd01aa5f71b" }, "m_Name": "Use Blur", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_D80C35F5_ON", "m_OverrideReferenceName": "_BLUR_REFLECTIONS_ON", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -3931,6 +4049,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "73e6bdf6a2b34c1e9cb2dd4c169d7eec", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -4260,6 +4393,9 @@ { "m_Id": "bc7dc29b9fa84861b4d72642a0469304" }, + { + "m_Id": "73e6bdf6a2b34c1e9cb2dd4c169d7eec" + }, { "m_Id": "925716076739318980f11bf5982de1d1" } @@ -4273,11 +4409,15 @@ }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", "m_PropertyGuids": [ - "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d" + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" ], "m_PropertyIds": [ - 1387872834 - ] + 1387872834, + -1145327804 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] } { @@ -5084,9 +5224,13 @@ "m_GuidSerialized": "a38c6dfa-cebd-4f06-b290-9734ca10c68f" }, "m_Name": "Normals", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector3_2A13549B", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5144,9 +5288,13 @@ "m_GuidSerialized": "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c" }, "m_Name": "Reflection Fog", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_BB283772", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5155,6 +5303,8 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } @@ -5575,16 +5725,13 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 873.0001220703125, - "y": 1928.0001220703125, - "width": 263.0, - "height": 238.0 + "x": 858.0, + "y": 1905.0, + "width": 285.0, + "height": 262.0 } }, "m_Slots": [ - { - "m_Id": "e74f1ae23369f880b4d28f29dbc66656" - }, { "m_Id": "e8c8dead94f4d48fb880659a32975c5b" }, @@ -5605,6 +5752,9 @@ }, { "m_Id": "5920c13d70c52685af5139a46b261325" + }, + { + "m_Id": "e74f1ae23369f880b4d28f29dbc66656" } ], "synonyms": [ @@ -5901,6 +6051,51 @@ "m_BareResource": true } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "c4933218d7c5435c8fe2c867ef5715be", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "1aeb63e72339f38987e72da9ff7b8ecc" + }, + { + "m_Id": "1b855b42d3077d84b5880fb4e0688cab" + }, + { + "m_Id": "dcc59326d71d6386aca272087d234362" + }, + { + "m_Id": "3bb3ea009307ea8db43e0c673615709b" + }, + { + "m_Id": "20420ea0db40758e86f59774883ff306" + }, + { + "m_Id": "dac020dbb1a611898489a634d717bc25" + }, + { + "m_Id": "9d603aac866ce68c8a7558e102c6db7a" + }, + { + "m_Id": "d85b9fdedc3d7d8c96a268080bd44d5b" + }, + { + "m_Id": "a09e7959fd33988f81104706e20544fc" + }, + { + "m_Id": "f05bfe38406c4882b6246a036ec7f50e" + }, + { + "m_Id": "6e7aea35369b4f4eb18b6e2c60decf32" + }, + { + "m_Id": "573ce9acd31c405ca56f1684482291dc" + } + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -6368,9 +6563,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 2356.0, - "y": 703.0000610351563, - "width": 135.00001525878907, + "x": 2355.0, + "y": 703.0, + "width": 130.0, "height": 118.0 } }, @@ -6587,9 +6782,13 @@ "m_GuidSerialized": "21daf13b-bd13-4b43-aed7-2e8b50b530c1" }, "m_Name": "Fresnel Effect Intensity", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_A56ED190", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6676,9 +6875,13 @@ "m_GuidSerialized": "5b18fe20-c1d9-41e6-bbed-67ea629f8f88" }, "m_Name": "Distortion by Normals", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_3B350339", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6834,9 +7037,13 @@ "m_GuidSerialized": "514b2aec-06bd-4c85-be51-a3d2317f4443" }, "m_Name": "Smoothness Influence Over Reflection", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_8340020F", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7004,7 +7211,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -7196,12 +7404,17 @@ "m_GuidSerialized": "0b723e3c-bc69-4ae4-ae36-70659298a0d7" }, "m_Name": "Use Fog", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_DA26C139_ON", "m_OverrideReferenceName": "_USE_FOG", "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -7341,7 +7554,7 @@ "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Width", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": 0.0, "m_DefaultValue": 0.0, "m_Labels": [ @@ -7454,9 +7667,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 2176.0, - "y": 869.0000610351563, - "width": 146.0, + "x": 2160.0, + "y": 810.0, + "width": 139.0, "height": 118.0 } }, diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph.meta similarity index 51% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph.meta index 3ee8685a2..96e6eb73c 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like Reflections.shadersubgraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/ShaderGraph Nodes/PBR-Like Reflections.shadersubgraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/PBR-Like + Reflections.shadersubgraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph similarity index 77% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph index ed721fb6d..32df70f08 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph @@ -5,6 +5,9 @@ "m_Properties": [ { "m_Id": "85fcc20147f444679f23916af5a51001" + }, + { + "m_Id": "d2d199c2226540ba8900341a7fa84c10" } ], "m_Keywords": [], @@ -18,9 +21,6 @@ { "m_Id": "25de38097b191d87b53241b9099d8f66" }, - { - "m_Id": "ea354ca4700c5b85a47f9a494a7f4208" - }, { "m_Id": "6eae62e54875b78792b5182744d4070b" }, @@ -38,11 +38,48 @@ }, { "m_Id": "43ec581b3e9545e697ba1ce46a30dd3d" + }, + { + "m_Id": "08cd7371e5eb4281abf2ddbdfff066d5" + }, + { + "m_Id": "004924c81252438287e7d68293503978" + }, + { + "m_Id": "f1aec55021fd4c78a215aa04496802f5" } ], "m_GroupDatas": [], "m_StickyNoteDatas": [], "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "004924c81252438287e7d68293503978" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "08cd7371e5eb4281abf2ddbdfff066d5" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "08cd7371e5eb4281abf2ddbdfff066d5" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6eae62e54875b78792b5182744d4070b" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -94,7 +131,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "ea354ca4700c5b85a47f9a494a7f4208" + "m_Id": "1ae9d5e82bd7378189bcff705229f8af" }, "m_SlotId": 0 } @@ -150,7 +187,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "6eae62e54875b78792b5182744d4070b" + "m_Id": "08cd7371e5eb4281abf2ddbdfff066d5" }, "m_SlotId": 0 } @@ -158,15 +195,15 @@ { "m_OutputSlot": { "m_Node": { - "m_Id": "ea354ca4700c5b85a47f9a494a7f4208" + "m_Id": "f1aec55021fd4c78a215aa04496802f5" }, - "m_SlotId": 1 + "m_SlotId": 0 }, "m_InputSlot": { "m_Node": { - "m_Id": "1ae9d5e82bd7378189bcff705229f8af" + "m_Id": "08cd7371e5eb4281abf2ddbdfff066d5" }, - "m_SlotId": 0 + "m_SlotId": 3 } } ], @@ -191,7 +228,7 @@ }, "preventRotation": false }, - "m_Path": "Sub Graphs", + "m_Path": "Planar Reflections/SubGraphs", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -200,6 +237,62 @@ "m_ActiveTargets": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "004924c81252438287e7d68293503978", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1413.2325439453125, + "y": -396.2193298339844, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "85eb6677a767489eb0646239ca1dd2d0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d2d199c2226540ba8900341a7fa84c10" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "013fe15076b34693b7fe06529466d598", + "m_Id": 1, + "m_DisplayName": "outScreenPos", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "outScreenPos", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -224,6 +317,54 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "08cd7371e5eb4281abf2ddbdfff066d5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "ScaleAdjust (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1226.9998779296875, + "y": -423.9999694824219, + "width": 230.99993896484376, + "height": 142.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "ddaeb50407dc410fbde793963cb8afc0" + }, + { + "m_Id": "a9d3f0e3645c4713b1c290ffec7a558a" + }, + { + "m_Id": "3fb2969a1f184beda66ebcb678d0f80f" + }, + { + "m_Id": "013fe15076b34693b7fe06529466d598" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 1, + "m_FunctionName": "ScaleAdjust", + "m_FunctionSource": "", + "m_FunctionBody": "outScreenPos = screenPos;\n\noutScreenPos.x /= 2;\noutScreenPos.x += lerp( 0, 0.5, vrEye );\n\noutScreenPos = lerp( screenPos, outScreenPos, vrMode ); " +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -295,10 +436,10 @@ "m_Expanded": false, "m_Position": { "serializedVersion": "2", - "x": 247.99998474121095, - "y": 103.00000762939453, - "width": 140.00001525878907, - "height": 166.0 + "x": 140.00001525878907, + "y": 81.99996948242188, + "width": 125.00007629394531, + "height": 118.0 } }, "m_Slots": [ @@ -392,6 +533,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3fb2969a1f184beda66ebcb678d0f80f", + "m_Id": 3, + "m_DisplayName": "vrEye", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "vrEye", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -573,10 +729,28 @@ "m_ChildObjectList": [ { "m_Id": "85fcc20147f444679f23916af5a51001" + }, + { + "m_Id": "d2d199c2226540ba8900341a7fa84c10" } ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "85eb6677a767489eb0646239ca1dd2d0", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -745,10 +919,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1319.0, - "y": 51.000022888183597, + "x": -1500.0, + "y": -214.0, "width": 145.0, - "height": 128.99996948242188 + "height": 129.0 } }, "m_Slots": [ @@ -766,6 +940,27 @@ "m_ScreenSpaceType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "a9d3f0e3645c4713b1c290ffec7a558a", + "m_Id": 0, + "m_DisplayName": "screenPos", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "screenPos", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -824,30 +1019,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "b6d6de29b0a4038e96e1470058ba0aaa", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 1.0, - "y": 1.0, - "z": 1.0, - "w": 1.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -907,6 +1078,48 @@ ] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "d2d199c2226540ba8900341a7fa84c10", + "m_Guid": { + "m_GuidSerialized": "08539c98-80fb-4f1b-badf-64b89d6c9744" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ddaeb50407dc410fbde793963cb8afc0", + "m_Id": 2, + "m_DisplayName": "vrMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "vrMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -975,43 +1188,54 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", - "m_ObjectId": "ea354ca4700c5b85a47f9a494a7f4208", + "m_Type": "UnityEditor.ShaderGraph.EyeIndexNode", + "m_ObjectId": "f1aec55021fd4c78a215aa04496802f5", "m_Group": { "m_Id": "" }, - "m_Name": "One Minus", + "m_Name": "Eye Index", "m_DrawState": { "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -93.00000762939453, - "y": 75.99996948242188, - "width": 128.0, - "height": 94.00003051757813 + "x": -1422.0, + "y": -353.0, + "width": 102.0, + "height": 77.00003051757813 } }, "m_Slots": [ { - "m_Id": "b6d6de29b0a4038e96e1470058ba0aaa" - }, - { - "m_Id": "fec056e71a9d828ab509b3466a1cac4a" + "m_Id": "f4bc52b4e4be4ca3aa81c27ab63eb199" } ], "synonyms": [ - "complement", - "invert", - "opposite" + "stereo", + "3d" ], "m_Precision": 0, - "m_PreviewExpanded": false, + "m_PreviewExpanded": true, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f4bc52b4e4be4ca3aa81c27ab63eb199", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1029,27 +1253,3 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "fec056e71a9d828ab509b3466a1cac4a", - "m_Id": 1, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph.meta similarity index 52% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph.meta index 707f233b9..4c3e8a275 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph.meta @@ -10,9 +10,8 @@ ScriptedImporter: script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/ShaderGraph Nodes/ReflectionUVs.shadersubgraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Nodes/ReflectionUVs.shadersubgraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta new file mode 100644 index 000000000..88ee23272 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 0314f2655fde2ae44b3b86e316674a9c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic + (Alpha).mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph similarity index 97% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph index b8416a6e5..d56723405 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph @@ -44,6 +44,9 @@ }, { "m_Id": "f1bc184830d6dd8091b1fa7ed21e7ab4" + }, + { + "m_Id": "cfd37a498a634ab6b81662de7558cead" } ], "m_Keywords": [ @@ -168,6 +171,9 @@ }, { "m_Id": "e5fbf40f1b02485e89bbc178a947e792" + }, + { + "m_Id": "6ad8f70fa1464b09a0caa8c274b78cab" } ], "m_GroupDatas": [ @@ -309,6 +315,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6ad8f70fa1464b09a0caa8c274b78cab" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a4b111325501cb8a9336211cd734f14d" + }, + "m_SlotId": 1798813045 + } + }, { "m_OutputSlot": { "m_Node": { @@ -688,7 +708,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/PBR", + "m_Path": "Planar Reflections/Universal RP/PBR", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -727,7 +747,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -789,7 +808,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "09a1a22332334511bd962772d59ade8c", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "14103a29f1104d3cabd6db04f9f9ffc1" }, @@ -802,7 +820,6 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -851,6 +868,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0d1f109df2824d09919a0ba8a4a68657", + "m_Id": 1798813045, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -931,7 +963,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -967,8 +998,7 @@ "m_ObjectId": "14103a29f1104d3cabd6db04f9f9ffc1", "m_WorkflowMode": 1, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false } { @@ -1024,6 +1054,9 @@ }, { "m_Id": "301f00c73dfa4abab8e521131a3222db" + }, + { + "m_Id": "cfd37a498a634ab6b81662de7558cead" } ] } @@ -1138,7 +1171,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1195,15 +1227,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1362,15 +1392,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1490,7 +1518,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1646,7 +1673,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -1701,7 +1727,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1748,7 +1773,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1778,7 +1802,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1836,7 +1859,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1870,7 +1892,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1944,7 +1965,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1967,7 +1987,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2152,7 +2171,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -2188,7 +2206,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2222,7 +2239,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2262,7 +2278,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2455,7 +2470,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2488,7 +2502,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2522,7 +2535,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2545,6 +2557,41 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "6ad8f70fa1464b09a0caa8c274b78cab", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 132.92449951171876, + "y": 1101.8739013671875, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "6f7475ea4c6a4c22ba19e1baf380e1ca" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "cfd37a498a634ab6b81662de7558cead" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", @@ -2594,15 +2641,28 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6f7475ea4c6a4c22ba19e1baf380e1ca", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] } { @@ -2641,7 +2701,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2685,7 +2744,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2727,7 +2785,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2823,7 +2880,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2896,7 +2952,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2954,7 +3009,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3080,7 +3134,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3159,7 +3212,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3278,7 +3330,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3331,6 +3382,9 @@ { "m_Id": "607536f2abac4f8e975dc42c373654c9" }, + { + "m_Id": "0d1f109df2824d09919a0ba8a4a68657" + }, { "m_Id": "2a89c9a395fdde8cb982c4060089e1a1" }, @@ -3341,7 +3395,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3357,7 +3410,8 @@ "a38c6dfa-cebd-4f06-b290-9734ca10c68f", "21daf13b-bd13-4b43-aed7-2e8b50b530c1", "39d8261e-1fa6-4b31-bed6-372b7564008f", - "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c" + "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c", + "4d8a3764-9aac-4664-8738-0aa93a20d3c9" ], "m_PropertyIds": [ 629014811, @@ -3369,7 +3423,8 @@ -97443213, -1295402311, 293498272, - -335052323 + -335052323, + 1798813045 ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] @@ -3407,7 +3462,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3505,7 +3559,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3541,7 +3594,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3575,7 +3627,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3667,7 +3718,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3713,7 +3763,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3746,7 +3795,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3838,7 +3886,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3866,7 +3913,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3905,7 +3951,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3915,6 +3960,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "cfd37a498a634ab6b81662de7558cead", + "m_Guid": { + "m_GuidSerialized": "e7337aae-bc24-4d52-86ec-e160e269d8f2" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", @@ -4014,7 +4086,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4221,7 +4292,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4335,7 +4405,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4416,7 +4485,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4480,15 +4548,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -4517,7 +4583,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4563,7 +4628,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4596,7 +4660,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4649,7 +4712,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4679,7 +4741,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta index 139c91779..0b0c30e50 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Metallic (Alpha).shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic + (Alpha).shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta new file mode 100644 index 000000000..fdbc40b81 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic 1.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 57c192d8e5f2112419caf842f820a869 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic + 1.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta new file mode 100644 index 000000000..152aa0d66 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 3486c0a485a0946478fac757a9e770fe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph similarity index 97% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph index 8e07d6d28..5835b59f3 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph @@ -44,6 +44,9 @@ }, { "m_Id": "338edce31a13f38190afbc60a2b43dbf" + }, + { + "m_Id": "61376062d71e4ec58337b3a146bfd199" } ], "m_Keywords": [ @@ -168,6 +171,9 @@ }, { "m_Id": "6fced67c8f88493dbc4fd46b59469aee" + }, + { + "m_Id": "fc0a41d298454f15894a31c02eb33773" } ], "m_GroupDatas": [ @@ -630,6 +636,20 @@ }, "m_SlotId": 2 } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fc0a41d298454f15894a31c02eb33773" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a4b111325501cb8a9336211cd734f14d" + }, + "m_SlotId": 1798813045 + } } ], "m_VertexContext": { @@ -688,7 +708,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/PBR", + "m_Path": "Planar Reflections/Universal RP/PBR", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -743,8 +763,8 @@ "m_ObjectId": "0069e79cb6194b259db63981f15427ae", "m_Title": "Main Color", "m_Position": { - "x": 10.0, - "y": 10.0 + "x": -326.0000915527344, + "y": -804.0000610351563 } } @@ -1055,6 +1075,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1474b96945aa4b96ac0537516a822a77", + "m_Id": 1798813045, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1984,6 +2019,21 @@ "m_ColorMode": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "522af45d6a53446995c58355cb71b88b", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2268,14 +2318,42 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "61376062d71e4ec58337b3a146bfd199", + "m_Guid": { + "m_GuidSerialized": "7dd1c5b1-9019-48e8-b369-9999bd649dd5" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.GroupData", "m_ObjectId": "640aed3799594ee9aadb45aeb4be5200", "m_Title": "Main UVs", "m_Position": { - "x": -987.0, - "y": -326.9999694824219 + "x": -987.0000610351563, + "y": -329.0001220703125 } } @@ -2727,6 +2805,9 @@ }, { "m_Id": "8bb0eea4d5504b25a763d078b2607d4f" + }, + { + "m_Id": "61376062d71e4ec58337b3a146bfd199" } ] } @@ -3285,6 +3366,9 @@ { "m_Id": "607536f2abac4f8e975dc42c373654c9" }, + { + "m_Id": "1474b96945aa4b96ac0537516a822a77" + }, { "m_Id": "2a89c9a395fdde8cb982c4060089e1a1" }, @@ -3311,7 +3395,8 @@ "a38c6dfa-cebd-4f06-b290-9734ca10c68f", "21daf13b-bd13-4b43-aed7-2e8b50b530c1", "39d8261e-1fa6-4b31-bed6-372b7564008f", - "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c" + "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c", + "4d8a3764-9aac-4664-8738-0aa93a20d3c9" ], "m_PropertyIds": [ 629014811, @@ -3323,7 +3408,8 @@ -97443213, -1295402311, 293498272, - -335052323 + -335052323, + 1798813045 ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] @@ -4514,8 +4600,8 @@ "m_ObjectId": "f1ef58498c2c4a8db5fb206e366adab2", "m_Title": "Reflections", "m_Position": { - "x": -182.00006103515626, - "y": 748.0000610351563 + "x": -182.0, + "y": 748.0 } } @@ -4662,6 +4748,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "fc0a41d298454f15894a31c02eb33773", + "m_Group": { + "m_Id": "f1ef58498c2c4a8db5fb206e366adab2" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -0.000010728836059570313, + "y": 1090.0, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "522af45d6a53446995c58355cb71b88b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "61376062d71e4ec58337b3a146bfd199" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta similarity index 54% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta index dc6945107..70b175251 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph.meta @@ -10,9 +10,8 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Metallic.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Metallic.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta new file mode 100644 index 000000000..3c59b3ae1 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: f75f56643b08d3047a7277555632b869 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular + (Alpha).mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph similarity index 98% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph index d6f4e8ce5..8af32d417 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph @@ -723,7 +723,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/PBR", + "m_Path": "Planar Reflections/Universal RP/PBR", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -762,7 +762,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -875,7 +874,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -914,7 +912,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1136,7 +1133,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1198,15 +1194,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1365,15 +1359,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1393,6 +1385,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "234c1976e3214508b43280a85b5dc194", + "m_Id": 1798813045, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1539,7 +1546,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1666,7 +1672,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1881,7 +1886,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2015,7 +2019,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2073,7 +2076,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2137,7 +2139,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2285,7 +2286,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2310,7 +2310,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -2369,15 +2368,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -2395,7 +2392,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2450,7 +2446,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2498,7 +2493,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2532,7 +2526,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2576,7 +2569,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2609,7 +2601,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2713,7 +2704,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2814,7 +2804,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2861,7 +2850,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2981,7 +2969,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3039,7 +3026,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3064,7 +3050,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -3126,7 +3111,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "9cb38d5759024c73a20b8d3bfe297760", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "ef97b748637141698caaaaa192b25e87" }, @@ -3139,7 +3123,6 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -3159,7 +3142,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3235,7 +3217,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3288,6 +3269,9 @@ { "m_Id": "607536f2abac4f8e975dc42c373654c9" }, + { + "m_Id": "234c1976e3214508b43280a85b5dc194" + }, { "m_Id": "2a89c9a395fdde8cb982c4060089e1a1" }, @@ -3298,7 +3282,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3314,7 +3297,8 @@ "a38c6dfa-cebd-4f06-b290-9734ca10c68f", "21daf13b-bd13-4b43-aed7-2e8b50b530c1", "39d8261e-1fa6-4b31-bed6-372b7564008f", - "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c" + "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c", + "4d8a3764-9aac-4664-8738-0aa93a20d3c9" ], "m_PropertyIds": [ 629014811, @@ -3326,7 +3310,8 @@ -97443213, -1295402311, 293498272, - -335052323 + -335052323, + 1798813045 ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] @@ -3375,7 +3360,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3398,7 +3382,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3519,7 +3502,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3555,7 +3537,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3578,7 +3559,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3619,7 +3599,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3655,7 +3634,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3710,7 +3688,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3807,7 +3784,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3853,7 +3829,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3911,7 +3886,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4020,7 +3994,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4059,7 +4032,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4101,7 +4073,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4157,7 +4128,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4239,7 +4209,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4273,7 +4242,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4410,7 +4378,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4549,7 +4516,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4583,7 +4549,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4655,8 +4620,7 @@ "m_ObjectId": "ef97b748637141698caaaaa192b25e87", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false } { @@ -4725,15 +4689,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -4789,7 +4751,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4909,7 +4870,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta index 4512a97aa..8dd9aa0b2 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Specular (Alpha).shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular + (Alpha).shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta new file mode 100644 index 000000000..d3936c142 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 588550ee664def84a8c3ddc78b132eb4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph similarity index 97% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph index 172100262..1d4107359 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph @@ -44,6 +44,9 @@ }, { "m_Id": "ba021c39ed273c8f8d7242b5101d2839" + }, + { + "m_Id": "d73a16848ca04db590cc91b7fdab507b" } ], "m_Keywords": [ @@ -168,6 +171,9 @@ }, { "m_Id": "940063495d8842699f7dfc020e7afb49" + }, + { + "m_Id": "3551ff136b8140498fa839b11860ad03" } ], "m_GroupDatas": [], @@ -271,6 +277,20 @@ "m_SlotId": -97443213 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3551ff136b8140498fa839b11860ad03" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a4b111325501cb8a9336211cd734f14d" + }, + "m_SlotId": 1798813045 + } + }, { "m_OutputSlot": { "m_Node": { @@ -692,7 +712,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/PBR", + "m_Path": "Planar Reflections/Universal RP/PBR", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -731,7 +751,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -859,7 +878,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -998,7 +1016,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1152,15 +1169,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1334,15 +1349,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1451,6 +1464,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "29a5aa940db34d77ba5275a07a672e10", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -1491,7 +1519,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -1554,6 +1581,9 @@ }, { "m_Id": "2b42531e6c304dceb2950657ca489f44" + }, + { + "m_Id": "d73a16848ca04db590cc91b7fdab507b" } ] } @@ -1625,6 +1655,41 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "3551ff136b8140498fa839b11860ad03", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -56.00001525878906, + "y": 1463.0, + "width": 120.00001525878906, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "29a5aa940db34d77ba5275a07a672e10" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d73a16848ca04db590cc91b7fdab507b" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1715,7 +1780,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1767,7 +1831,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "492c9108d6f14b14b58e74187c1d3c76", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "54281f55fecd4a3f816cf5775956328e" }, @@ -1780,7 +1843,6 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1859,7 +1921,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1893,7 +1954,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2017,8 +2077,7 @@ "m_ObjectId": "54281f55fecd4a3f816cf5775956328e", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false } { @@ -2047,7 +2106,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2087,7 +2145,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2282,15 +2339,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -2319,7 +2374,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2387,7 +2441,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2420,7 +2473,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2498,7 +2550,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2549,7 +2600,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2590,7 +2640,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2715,7 +2764,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2815,7 +2863,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2838,7 +2885,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2909,7 +2955,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -2945,7 +2990,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3064,7 +3108,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3117,6 +3160,9 @@ { "m_Id": "607536f2abac4f8e975dc42c373654c9" }, + { + "m_Id": "c9d98cfb551642de8a27e6f6a8fc7f21" + }, { "m_Id": "2a89c9a395fdde8cb982c4060089e1a1" }, @@ -3127,7 +3173,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3143,7 +3188,8 @@ "a38c6dfa-cebd-4f06-b290-9734ca10c68f", "21daf13b-bd13-4b43-aed7-2e8b50b530c1", "39d8261e-1fa6-4b31-bed6-372b7564008f", - "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c" + "8f53c9a7-0d54-48e6-8e17-6eed9ba97f9c", + "4d8a3764-9aac-4664-8738-0aa93a20d3c9" ], "m_PropertyIds": [ 629014811, @@ -3155,7 +3201,8 @@ -97443213, -1295402311, 293498272, - -335052323 + -335052323, + 1798813045 ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] @@ -3187,7 +3234,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3299,7 +3345,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3350,7 +3395,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3386,7 +3430,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3411,7 +3454,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3454,7 +3496,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3500,7 +3541,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3555,7 +3595,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3596,7 +3635,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3630,7 +3668,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3676,7 +3713,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3734,7 +3770,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3812,7 +3847,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3835,7 +3869,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3875,6 +3908,21 @@ "m_Channel": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c9d98cfb551642de8a27e6f6a8fc7f21", + "m_Id": 1798813045, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", @@ -3931,7 +3979,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3956,7 +4003,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4029,7 +4075,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4039,6 +4084,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "d73a16848ca04db590cc91b7fdab507b", + "m_Guid": { + "m_GuidSerialized": "e6f37936-2354-4856-a3ed-75e3a6b3627e" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -4067,7 +4139,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4149,7 +4220,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4268,7 +4338,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4393,7 +4462,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4450,7 +4518,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4512,15 +4579,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -4559,7 +4624,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4581,7 +4645,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4624,7 +4687,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4739,7 +4801,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta similarity index 54% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta index 0dd899835..38e45c70b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph.meta @@ -10,9 +10,8 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/PBR/Specular.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/PBR/Specular.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph similarity index 95% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph index 4c06b563c..c45be05c0 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph @@ -17,6 +17,9 @@ }, { "m_Id": "7b08604ee3c518899cbc39208a0904fe" + }, + { + "m_Id": "3096c0bb65a642e3a327c8cd6c9e8b0c" } ], "m_Keywords": [], @@ -101,6 +104,9 @@ }, { "m_Id": "f724470ba3534e848693c72a9e192768" + }, + { + "m_Id": "d0e779ea672a464886184fffe4dc1f6b" } ], "m_GroupDatas": [ @@ -334,6 +340,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d0e779ea672a464886184fffe4dc1f6b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1c4233c88f2b55869a702fb83bd8a633" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -474,7 +494,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Unlit", + "m_Path": "Planar Reflections/Universal RP/Unlit", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -526,7 +546,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -667,7 +686,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -811,13 +829,19 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -2021.0, - "y": 311.0, - "width": 127.0, - "height": 94.0 + "x": -2062.0, + "y": 312.0, + "width": 200.9998779296875, + "height": 118.0 } }, "m_Slots": [ + { + "m_Id": "e61677231e424810ae0c91e35cd4c478" + }, + { + "m_Id": "9b17bfe7ecc447e983afbbe8d82ffa48" + }, { "m_Id": "55232fdb11808e8a92cb8aeab811802e" } @@ -825,14 +849,19 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", - "m_PropertyGuids": [], - "m_PropertyIds": [], + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] } @@ -1052,6 +1081,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "3096c0bb65a642e3a327c8cd6c9e8b0c", + "m_Guid": { + "m_GuidSerialized": "ab96185b-7da0-436d-a919-971304ec26b0" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -1119,7 +1175,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1221,7 +1276,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1249,6 +1303,9 @@ }, { "m_Id": "7b08604ee3c518899cbc39208a0904fe" + }, + { + "m_Id": "3096c0bb65a642e3a327c8cd6c9e8b0c" } ] } @@ -1289,7 +1346,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1411,7 +1467,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1444,7 +1499,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1637,7 +1691,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1747,7 +1800,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "63e0cb8a991f42ca8ed47f2095ddc6ce", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "fc5c8a42d0784a4fa9d378062efb7700" }, @@ -1760,7 +1812,6 @@ "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1901,7 +1952,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1970,7 +2020,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2006,7 +2055,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2090,7 +2138,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2134,7 +2181,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2213,6 +2259,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b17bfe7ecc447e983afbbe8d82ffa48", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.GroupData", @@ -2239,7 +2300,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2280,7 +2340,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2353,7 +2412,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2481,15 +2539,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -2641,7 +2697,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2684,7 +2739,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2751,7 +2805,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2809,7 +2862,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2851,7 +2903,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2866,6 +2917,41 @@ "m_DefaultType": 1 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "d0e779ea672a464886184fffe4dc1f6b", + "m_Group": { + "m_Id": "9bd49bd6aed7498793105dc8a255175c" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2199.0, + "y": 399.0, + "width": 109.999755859375, + "height": 34.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "ebd9524d799f48caab5564e27e98cd69" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "3096c0bb65a642e3a327c8cd6c9e8b0c" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2950,7 +3036,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3084,6 +3169,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e61677231e424810ae0c91e35cd4c478", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", @@ -3120,7 +3220,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3204,7 +3303,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3243,7 +3341,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3256,6 +3353,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ebd9524d799f48caab5564e27e98cd69", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CombineNode", @@ -3302,7 +3414,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3358,15 +3469,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -3395,7 +3504,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta index d7e8705f6..9b6e269f6 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Broken Mirror.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Broken + Mirror.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta new file mode 100644 index 000000000..f0d1a35cf --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 090c79d01d176ed45b5003e0e9cd36eb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug + Depth.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph similarity index 93% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph index 609209e08..d605262ae 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph @@ -1,5 +1,5 @@ { - "m_SGVersion": 2, + "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "1ab6edf534d443489501aee1e900bfb0", "m_Properties": [ @@ -11,9 +11,18 @@ }, { "m_Id": "c6a2ee160a25ea889971d5b4cb81fc29" + }, + { + "m_Id": "91a23f1ace484336b0a8870837d39e41" } ], "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "69a8954e424141349839b88e3fd1e56c" + } + ], "m_Nodes": [ { "m_Id": "846dfa1fb11bd682ba90376e06a098a8" @@ -86,6 +95,9 @@ }, { "m_Id": "a2710d00a7ba4522bca0e872d8b2d7cb" + }, + { + "m_Id": "83b333bc26bd41f589968bd61494ca82" } ], "m_GroupDatas": [], @@ -203,6 +215,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "83b333bc26bd41f589968bd61494ca82" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "018cccece7964d88a5fd2021b7f9c363" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -396,10 +422,11 @@ "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Unlit", - "m_ConcretePrecision": 0, + "m_Path": "Planar Reflections/Universal RP/Unlit", + "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "" @@ -458,16 +485,19 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1491.0, - "y": 112.0, + "x": -1436.0, + "y": 111.0000228881836, "width": 201.0, - "height": 94.0 + "height": 118.00000762939453 } }, "m_Slots": [ { "m_Id": "196256533c6644a7ba0a2a1ff53b4de3" }, + { + "m_Id": "575a597a383348539f07bc117b39a491" + }, { "m_Id": "362bd09678fc598399c9a426068862dd" } @@ -481,11 +511,15 @@ }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", "m_PropertyGuids": [ - "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d" + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" ], "m_PropertyIds": [ - 1387872834 - ] + 1387872834, + -1145327804 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] } { @@ -1116,24 +1150,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "39e9a735fd074d6d8c9e3713495385e2", - "m_Name": "", - "m_ChildObjectList": [ - { - "m_Id": "9f36176133568e81a3229cc5c1ccd719" - }, - { - "m_Id": "8b1f5262c645618d8d8c7bd134cbccfc" - }, - { - "m_Id": "c6a2ee160a25ea889971d5b4cb81fc29" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.OneMinusNode", @@ -1246,7 +1262,7 @@ "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", "m_ObjectId": "43b7b306a676a4889322869745bf456e", "m_Id": 0, - "m_DisplayName": "Reflection Tex", + "m_DisplayName": "Reflection Depth", "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Out", @@ -1446,6 +1462,21 @@ "m_Space": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "575a597a383348539f07bc117b39a491", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -1682,6 +1713,27 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "69a8954e424141349839b88e3fd1e56c", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "9f36176133568e81a3229cc5c1ccd719" + }, + { + "m_Id": "8b1f5262c645618d8d8c7bd134cbccfc" + }, + { + "m_Id": "c6a2ee160a25ea889971d5b4cb81fc29" + }, + { + "m_Id": "91a23f1ace484336b0a8870837d39e41" + } + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1784,6 +1836,41 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "83b333bc26bd41f589968bd61494ca82", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1610.0, + "y": 195.00001525878907, + "width": 110.0, + "height": 34.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "ee687654a65b4c8e94651c3d6378902b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "91a23f1ace484336b0a8870837d39e41" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -1796,9 +1883,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1382.0, - "y": -36.0, - "width": 149.0, + "x": -1396.0, + "y": -29.999990463256837, + "width": 161.0, "height": 34.0 } }, @@ -1826,11 +1913,17 @@ "m_ActiveSubTarget": { "m_Id": "d272929e859a4f909b8d9ee1562ea74e" }, + "m_AllowMaterialOverride": false, "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, "m_AlphaMode": 0, - "m_TwoSided": false, + "m_RenderFace": 2, "m_AlphaClip": true, - "m_CustomEditorGUI": "" + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_CustomEditorGUI": "", + "m_SupportVFX": false } { @@ -1841,9 +1934,13 @@ "m_GuidSerialized": "71f0dc79-056a-43b8-8798-0c611519f4b7" }, "m_Name": "Reflection Tint", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Color_3805D2EF", "m_OverrideReferenceName": "_ReflectionTint", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1854,6 +1951,7 @@ "b": 1.0, "a": 0.0 }, + "isMainColor": false, "m_ColorMode": 0 } @@ -1896,6 +1994,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "91a23f1ace484336b0a8870837d39e41", + "m_Guid": { + "m_GuidSerialized": "f9afe85a-18c1-4640-ad1c-35d5780fb1d5" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -1963,9 +2088,13 @@ "m_GuidSerialized": "f410f5df-07f9-48aa-b971-575fc77ed596" }, "m_Name": "Reflection Depth", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_8495CDAA", "m_OverrideReferenceName": "_ReflectionDepth", "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1974,6 +2103,8 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 1 } @@ -2260,7 +2391,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -2385,9 +2517,13 @@ "m_GuidSerialized": "dc49db8d-bd07-4990-87b9-b0813566c502" }, "m_Name": "Depth Power", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_E0A6FDD6", "m_OverrideReferenceName": "_DepthPower", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2846,6 +2982,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ee687654a65b4c8e94651c3d6378902b", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta index ca7418274..15b46903b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Debug Depth.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Debug + Depth.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat similarity index 98% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat index d2362e510..421a88f1a 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat @@ -113,7 +113,7 @@ Material: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectionTint: {r: 1, g: 1, b: 1, a: 0.89411765} + - _ReflectionTint: {r: 1, g: 1, b: 1, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta new file mode 100644 index 000000000..9200184c6 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 987c0da8f60babc43abb661b69df7c48 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection + Only.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph similarity index 92% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph index d450e1358..108614500 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph @@ -1,5 +1,5 @@ { - "m_SGVersion": 2, + "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "f689320967c848fa9a350d9849346d96", "m_Properties": [ @@ -14,6 +14,9 @@ }, { "m_Id": "7c406addb1504b989e9624ce27630bea" + }, + { + "m_Id": "29fd39721076438da825cdee39e4a918" } ], "m_Keywords": [ @@ -21,6 +24,12 @@ "m_Id": "0c2a674da9d34be1ad7687411707e924" } ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "cef3b2dd6b184acc9c40db65330c2271" + } + ], "m_Nodes": [ { "m_Id": "2b70ddddd08d44c299168f582f31631b" @@ -67,9 +76,6 @@ { "m_Id": "5ba0235766374e8cb7fcf274ec5eafd4" }, - { - "m_Id": "93b213287e914ee496d24b0e3d10755b" - }, { "m_Id": "42a413bc7c1c4e2594c746a22c82276b" }, @@ -84,11 +90,31 @@ }, { "m_Id": "4d7c57b69c5749c6b4b6e28909757f3b" + }, + { + "m_Id": "3bd898c5f1b14bdcaac270c083ad60aa" + }, + { + "m_Id": "95fa4c1caf4f486c81a98e72423b8312" } ], "m_GroupDatas": [], "m_StickyNoteDatas": [], "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3bd898c5f1b14bdcaac270c083ad60aa" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "91ce0f6f8ea14e188c24cc678d427a55" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -288,7 +314,7 @@ { "m_OutputSlot": { "m_Node": { - "m_Id": "93b213287e914ee496d24b0e3d10755b" + "m_Id": "95fa4c1caf4f486c81a98e72423b8312" }, "m_SlotId": 0 }, @@ -386,8 +412,8 @@ ], "m_VertexContext": { "m_Position": { - "x": 0.0, - "y": 0.0 + "x": 44.999977111816409, + "y": -3.9999992847442629 }, "m_Blocks": [ { @@ -403,8 +429,8 @@ }, "m_FragmentContext": { "m_Position": { - "x": 0.0, - "y": 200.0 + "x": 39.999996185302737, + "y": 217.00001525878907 }, "m_Blocks": [ { @@ -419,10 +445,11 @@ "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, - "m_Path": "Planar Reflections 5/Unlit", - "m_ConcretePrecision": 0, + "m_Path": "Planar Reflections/Unlit", + "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "" @@ -480,19 +507,24 @@ } { - "m_SGVersion": 0, + "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", "m_ObjectId": "0c2a674da9d34be1ad7687411707e924", "m_Guid": { "m_GuidSerialized": "fd32e5dc-fd9b-4ddd-950a-53c91ee49fba" }, "m_Name": "UseDepth", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_0C2A674DA9D34BE1AD7687411707E924_ON", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -545,6 +577,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "13d2a654d6ec41f38f749a525172743f", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -682,9 +729,13 @@ "m_GuidSerialized": "438dd698-2433-472b-9b66-80dba391332b" }, "m_Name": "Reflection Tint", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "_Reflection_Tint", "m_OverrideReferenceName": "_ReflectionTint", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -695,6 +746,7 @@ "b": 1.0, "a": 0.0 }, + "isMainColor": false, "m_ColorMode": 0 } @@ -883,6 +935,33 @@ } } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "29fd39721076438da825cdee39e4a918", + "m_Guid": { + "m_GuidSerialized": "742b7e42-1e46-4dda-9df6-3c13927047f8" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -931,6 +1010,41 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "3bd898c5f1b14bdcaac270c083ad60aa", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1750.0, + "y": 136.0, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "13d2a654d6ec41f38f749a525172743f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "29fd39721076438da825cdee39e4a918" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -1281,30 +1395,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "53c4deb56f7e452cb8810399d0098f07", - "m_Name": "", - "m_ChildObjectList": [ - { - "m_Id": "d3eae7dc639343839c628535bf18cd5c" - }, - { - "m_Id": "1c27c621bc9f43c5b3bd1ef97d62ff02" - }, - { - "m_Id": "2f66a4cdeac94d75874d10348c2f09cc" - }, - { - "m_Id": "546a71206a6e4b4089ef8cb1216e20c7" - }, - { - "m_Id": "7c406addb1504b989e9624ce27630bea" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", @@ -1326,9 +1416,13 @@ "m_GuidSerialized": "f430be7f-8595-4613-9877-b1100374107a" }, "m_Name": "Reflection Depth", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "_Reflection_Depth", "m_OverrideReferenceName": "_ReflectionDepth", "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1337,6 +1431,8 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } @@ -1567,7 +1663,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -1754,9 +1851,13 @@ "m_GuidSerialized": "d65f0ec3-c284-40ff-b1a5-4ca8e6d05cef" }, "m_Name": "ForceFlipY", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "_ForceFlipY", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1819,6 +1920,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7fb5a9f6c0a44548b09c552956ed4ab3", + "m_Id": 0, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1885,6 +2001,21 @@ "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "87cf07a5dec54f3cbd19949fd314af13", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", @@ -1897,16 +2028,19 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1351.0, - "y": 122.00000762939453, + "x": -1600.0, + "y": 66.0, "width": 201.0, - "height": 94.0 + "height": 118.0 } }, "m_Slots": [ { "m_Id": "2e2c2c188e7242f99dac7b4a19b6798a" }, + { + "m_Id": "87cf07a5dec54f3cbd19949fd314af13" + }, { "m_Id": "4e8389bba58b466a9cc9974384c3c4d1" } @@ -1920,17 +2054,21 @@ }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", "m_PropertyGuids": [ - "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d" + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" ], "m_PropertyIds": [ - -54552410 - ] + -54552410, + -1145327804 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] } { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", - "m_ObjectId": "93b213287e914ee496d24b0e3d10755b", + "m_ObjectId": "95fa4c1caf4f486c81a98e72423b8312", "m_Group": { "m_Id": "" }, @@ -1939,15 +2077,15 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1513.0, - "y": 183.0, + "x": -1750.0, + "y": 32.0, "width": 131.0, "height": 34.0 } }, "m_Slots": [ { - "m_Id": "bbe6eadd2e6d4b0f8cbe78a573b726ba" + "m_Id": "7fb5a9f6c0a44548b09c552956ed4ab3" } ], "synonyms": [], @@ -2089,7 +2227,8 @@ "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true } { @@ -2464,21 +2603,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "bbe6eadd2e6d4b0f8cbe78a573b726ba", - "m_Id": 0, - "m_DisplayName": "ForceFlipY", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", @@ -2550,6 +2674,33 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "cef3b2dd6b184acc9c40db65330c2271", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "d3eae7dc639343839c628535bf18cd5c" + }, + { + "m_Id": "1c27c621bc9f43c5b3bd1ef97d62ff02" + }, + { + "m_Id": "546a71206a6e4b4089ef8cb1216e20c7" + }, + { + "m_Id": "7c406addb1504b989e9624ce27630bea" + }, + { + "m_Id": "0c2a674da9d34be1ad7687411707e924" + }, + { + "m_Id": "29fd39721076438da825cdee39e4a918" + } + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -2558,9 +2709,13 @@ "m_GuidSerialized": "f0d8c4dd-e928-4aa7-b214-df9b6d694ac1" }, "m_Name": "Reflection Tex", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "_Reflection_Tex", "m_OverrideReferenceName": "_ReflectionTex", "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2569,6 +2724,8 @@ "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } @@ -2794,11 +2951,17 @@ "m_ActiveSubTarget": { "m_Id": "aca02cae695b4793a2ea7a0bf948fa73" }, + "m_AllowMaterialOverride": false, "m_SurfaceType": 1, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, "m_AlphaMode": 0, - "m_TwoSided": false, + "m_RenderFace": 2, "m_AlphaClip": false, - "m_CustomEditorGUI": "" + "m_CastShadows": false, + "m_ReceiveShadows": true, + "m_CustomEditorGUI": "", + "m_SupportVFX": false } { diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta index e6a5f8c79..51d8572c6 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Reflection Only.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Reflection + Only.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat similarity index 86% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat index e31b4f01e..bc1ab946b 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Simple Tinted - m_Shader: {fileID: -6465566751694194690, guid: 218a4b777c24d964cb8acdef5fb8b2e6, type: 3} + m_Shader: {fileID: -6465566751694194690, guid: bd4bc9822254d704cbf48f35aebc9928, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -44,10 +44,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - _MetallicMap: - 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} @@ -79,7 +75,6 @@ Material: m_Ints: [] m_Floats: - _AlphaClip: 0 - - _BLUR_REFLECTIONS: 0 - _Blend: 0 - _BumpScale: 1 - _Cull: 2 @@ -88,15 +83,13 @@ Material: - _EnvironmentReflections: 1 - _ForceFlipY: 0 - _GlossMapScale: 0 - - _Glossiness: 1 + - _Glossiness: 0 - _GlossyReflections: 0 - _Metallic: 0 - _OcclusionStrength: 1 - _QueueControl: 0 - _QueueOffset: 0 - _ReceiveShadows: 1 - - _ReflectionBump: 0.05 - - _SmoothToReflection: 1 - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 @@ -107,11 +100,10 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectionTint: {r: 0.6886792, g: 0.6886792, b: 0.6886792, a: 0} + - _ReflectionTint: {r: 1, g: 1, b: 1, a: 0} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - - _UVTiling: {r: 1, g: 1, b: 0, a: 0} m_BuildTextureStacks: [] m_AllowLocking: 1 --- !u!114 &4277353908764529035 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta new file mode 100644 index 000000000..54d9ab0f2 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 05d5a3161d7a66549978326d21661471 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple + Tinted.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph similarity index 94% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph index 528d5bb66..94a184425 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph @@ -14,6 +14,9 @@ }, { "m_Id": "983b208717ee46f28198688c252e92fd" + }, + { + "m_Id": "ecb9ed5ffc064203966c7699b2062bd3" } ], "m_Keywords": [ @@ -81,6 +84,9 @@ }, { "m_Id": "2f44f1e4f5674cb2bbdaa382b060e6fa" + }, + { + "m_Id": "335d4e15591144888e9124583bd6dee0" } ], "m_GroupDatas": [], @@ -184,6 +190,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "335d4e15591144888e9124583bd6dee0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "169167251759288889e46f57ae943171" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -380,13 +400,12 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Unlit", + "m_Path": "Planar Reflections/Universal RP/Unlit", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "" }, - "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "4087d9adc7d442d9b33a4fa3b71f7942" @@ -420,7 +439,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -462,7 +480,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -572,7 +589,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "", + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, "m_DefaultType": 0 @@ -641,6 +658,9 @@ { "m_Id": "e70240ed00c741c1bae68c7279fbfaa7" }, + { + "m_Id": "625b788add184fd88f54a11d69a6841e" + }, { "m_Id": "3547a8d90a9c8c8f9024d6dd9443f1d1" } @@ -648,7 +668,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -656,11 +675,13 @@ "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", "m_PropertyGuids": [ "7326ea33-c7f4-4778-b9ef-ee74a0700938", - "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d" + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" ], "m_PropertyIds": [ 2025435870, - -54552410 + -54552410, + -1145327804 ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] @@ -818,7 +839,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -898,13 +918,47 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "335d4e15591144888e9124583bd6dee0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1216.7000732421875, + "y": 277.7250061035156, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "94bee7ad51bf46b48fd9af00976b0488" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ecb9ed5ffc064203966c7699b2062bd3" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -1007,7 +1061,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "4087d9adc7d442d9b33a4fa3b71f7942", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "5f2dbd5e87e6454897f23eea4ae20c9d" }, @@ -1020,10 +1073,6 @@ "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_DisableTint": false, - "m_AdditionalMotionVectorMode": 0, - "m_AlembicMotionVectors": false, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1074,7 +1123,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1130,15 +1178,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1208,7 +1254,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1274,6 +1319,21 @@ "m_BareResource": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "625b788add184fd88f54a11d69a6841e", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CategoryData", @@ -1294,6 +1354,9 @@ }, { "m_Id": "26b4411f2f5e41709672bdaede83c7da" + }, + { + "m_Id": "ecb9ed5ffc064203966c7699b2062bd3" } ] } @@ -1324,7 +1387,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1358,7 +1420,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1455,7 +1516,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "", + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, "m_DefaultType": 0 @@ -1487,7 +1548,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1563,6 +1623,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "94bee7ad51bf46b48fd9af00976b0488", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -1578,13 +1653,12 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": true, "hlslDeclarationOverride": 2, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "", + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, "isMainTexture": false, @@ -1608,13 +1682,12 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": true, "hlslDeclarationOverride": 2, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "", + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", "m_Guid": "" }, "isMainTexture": false, @@ -1742,7 +1815,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1823,15 +1895,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1849,7 +1919,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1916,7 +1985,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1990,7 +2058,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2051,7 +2118,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2104,7 +2170,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2148,7 +2213,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2202,6 +2266,33 @@ ] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "ecb9ed5ffc064203966c7699b2062bd3", + "m_Guid": { + "m_GuidSerialized": "aa7808f1-1233-4eba-a5d3-ad8541259ce5" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -2332,7 +2423,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2390,7 +2480,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta index d88d8c962..47b199c93 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Unlit/Simple Tinted.shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Unlit/Simple + Tinted.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0.meta new file mode 100644 index 000000000..2d3b45ebd --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d6584322f7df7f49a6470da59a02c2e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph new file mode 100644 index 000000000..0a42cd84a --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph @@ -0,0 +1,17899 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "e55e8984c07143f992675657ac1f494b", + "m_Properties": [ + { + "m_Id": "faf60c9e519a48298831750fe16e084e" + }, + { + "m_Id": "a755c74d09eb4c93b09077e2b9cfd424" + }, + { + "m_Id": "c9c868abd9954071ac13cce7a02d53d5" + }, + { + "m_Id": "092a94db96014fdb8aac781d38998e2d" + }, + { + "m_Id": "c81ee39395ef4e4ebcc3691755510c4c" + }, + { + "m_Id": "2d9ae5b7a1024c2b95b8d8b2347ce470" + }, + { + "m_Id": "d10f2e2c46c849ea9075e10d08889f29" + }, + { + "m_Id": "d6a65deb66d74002bace5e5867cb9855" + }, + { + "m_Id": "5837d6f1e4d74a818199815e1a18a42e" + }, + { + "m_Id": "d789035d6b144212a857edeae8d47067" + }, + { + "m_Id": "20678c07e27e42d0aa5cb5967f3f7be0" + }, + { + "m_Id": "2c558aebf5ca4273a94f451efbd0fd38" + }, + { + "m_Id": "4709140653c8479aa05b590be1877c22" + }, + { + "m_Id": "e415f8c00cce4c32b4015ff0359ebf53" + }, + { + "m_Id": "ca5bef9ef4134b97bb62b06ed333d1a0" + }, + { + "m_Id": "d7449140046f4ccd811cd9c22ec7f45e" + }, + { + "m_Id": "84b783046a5e44f8ad886cfef81aebf5" + }, + { + "m_Id": "2abbebf39902458fb1c9596d294bf088" + }, + { + "m_Id": "e26243891aa443dd8421f7f0746c4820" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "24cb2f1813e64be2b8bb9b841e6c8ccc" + }, + { + "m_Id": "b08ba6bcb9e74c2f87d329e2741ba6aa" + }, + { + "m_Id": "ef2a13e8785f48229a15f483c05aced0" + }, + { + "m_Id": "60632519b97743b3b33654380c876736" + }, + { + "m_Id": "642d7f3f3c884ae7a0de1b49bfe64647" + }, + { + "m_Id": "f9d0fe08498c4e2f96209cfda38aae35" + } + ], + "m_Nodes": [ + { + "m_Id": "fcd2df9a1ec647818ce406d3f8643c95" + }, + { + "m_Id": "53f8473d70ba45d1a89a099aaf9e22b6" + }, + { + "m_Id": "f1476acec9944d0fb8f2a67369ebbaed" + }, + { + "m_Id": "eeab07648e5c4275a49d184c0c544c2e" + }, + { + "m_Id": "c353af162c1e445195c31d155ae33761" + }, + { + "m_Id": "4627dcad0227412a98513e051379fcb3" + }, + { + "m_Id": "cb0b117bcfe849f4b1f5a95f7f338289" + }, + { + "m_Id": "e161e902d4624c4db4b1d157d4c0969a" + }, + { + "m_Id": "29bb8ddb806d4db9ab71fecb476804f9" + }, + { + "m_Id": "fdba8bc209144708828a3127aad8d76c" + }, + { + "m_Id": "9b4baef0abe44165b8aa39a051b02a4a" + }, + { + "m_Id": "20614d7744ca4b25aa6b643cb141f297" + }, + { + "m_Id": "4ba22c2a7fac4db5a094b3885277e92d" + }, + { + "m_Id": "cd357e0435f0475ca2b0d50b7bfe429f" + }, + { + "m_Id": "01282abb2ccc42539cc04ff09f654503" + }, + { + "m_Id": "664efaabfc1a4f28843560089946630e" + }, + { + "m_Id": "e57ffda00edd4104a436db0aeed0bb43" + }, + { + "m_Id": "373a048335234fd99034968f7761ae30" + }, + { + "m_Id": "789dd3cc92324b9681dd20dd69b6af6a" + }, + { + "m_Id": "54ab7e48d2a44fec946782a2599fb6ce" + }, + { + "m_Id": "bf1ac9900d594cb2a8aec870b2ce2767" + }, + { + "m_Id": "07a4a545beca4a57a7dbabbf6e01be6b" + }, + { + "m_Id": "c2f152f3aada41d19f28d8644f2fecf0" + }, + { + "m_Id": "c0df4687c8e44622a2dc260b913ed38d" + }, + { + "m_Id": "a47839886ea74f1880f1ec683bd1e17a" + }, + { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + { + "m_Id": "e1ddae6dd06242df93a1f8851c956732" + }, + { + "m_Id": "f3d1f8a139e1433ab980a389f300fa94" + }, + { + "m_Id": "c2097f14df7643caad41833132fcc88e" + }, + { + "m_Id": "0ae70f71512641c0a5cf5838a2996917" + }, + { + "m_Id": "cd06689346b146e1bc97f3194e4c591a" + }, + { + "m_Id": "a2c419b593bc4920bd21daa775a88bd1" + }, + { + "m_Id": "295230b1950c4d16b9d3d518b640e63b" + }, + { + "m_Id": "3bf1964960f946a8b6da3154566fb1a8" + }, + { + "m_Id": "abf45770a5d94f5b82a2fbf25072a32c" + }, + { + "m_Id": "797ee2ddee554286a057d348d281f9bf" + }, + { + "m_Id": "e235a48542b743f89356b3b19612a493" + }, + { + "m_Id": "aa4cfb9c81b0483e83cd7254c8fc113e" + }, + { + "m_Id": "bda77cf22ef9400a89bae20eb1c9f732" + }, + { + "m_Id": "d2a3745a45a74d63b33bed91ac1c7ad8" + }, + { + "m_Id": "efbc28cf501449b68df441857a9530c2" + }, + { + "m_Id": "15aa86d1d8a64fd4a0a911753627b01c" + }, + { + "m_Id": "46928e46fdfb41feacd21cf1e4f05a9e" + }, + { + "m_Id": "e7885f7095c7437d91a4dfc924fc3d3d" + }, + { + "m_Id": "573ffff2cfa24fd6b542bf88a2dac141" + }, + { + "m_Id": "61999135009546d7b62318718cf0a329" + }, + { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + { + "m_Id": "9463cc9fecea4c9894adda96cc4747b0" + }, + { + "m_Id": "c5a01b635c12448fb34ba40af0115ad6" + }, + { + "m_Id": "2584ff068d234c79894e8cdfe9e49015" + }, + { + "m_Id": "89e39b83a7104870818c742664bc0fa1" + }, + { + "m_Id": "b595874739a74b25889e09ed1fe9cc0d" + }, + { + "m_Id": "41f3987ed904403e9e9c88a3c32ac85a" + }, + { + "m_Id": "ba78a876ec3c449386148b3a82c094c1" + }, + { + "m_Id": "a56203d0f78a4b96bf981691b0ae15b1" + }, + { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + { + "m_Id": "3019cd4800c447938e1f4b098961bcd2" + }, + { + "m_Id": "5546fb4ff85549ba8e8449007ba4cdb1" + }, + { + "m_Id": "0343414dc6f44516a32acfe48feb456e" + }, + { + "m_Id": "7a20803b2aa94387ab86d51955d11267" + }, + { + "m_Id": "626b36cd109f48bdb365d9171a6c467c" + }, + { + "m_Id": "b3716eaf151a485bba9d51b0b37ea225" + }, + { + "m_Id": "4783cc2c2c93432683711072278486a9" + }, + { + "m_Id": "8b2faee58b37443499e794be9aa5281c" + }, + { + "m_Id": "997e8328841846179a91993d5cf38ed0" + }, + { + "m_Id": "d398306515884633bfdcaea08e9afae6" + }, + { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + { + "m_Id": "acf4df297f254147a3125ad2035dc7de" + }, + { + "m_Id": "7f1bad0f9d2e482eb16a6f442390b760" + }, + { + "m_Id": "355595409de24da391b077d4813c4566" + }, + { + "m_Id": "e79d4acf1aef4fd4b38aaf50487409fa" + }, + { + "m_Id": "928d1907e04b4599ac8fa6b32a663bda" + }, + { + "m_Id": "8f870c80a6e44ce2b1a3caf1682e619c" + }, + { + "m_Id": "43b917bace5d4292af14af1d0ae06dce" + }, + { + "m_Id": "b59ab25e0b4b4a70b1117f1294a9de04" + }, + { + "m_Id": "14b8df0913f6486a8d18888518a12395" + }, + { + "m_Id": "b723d8e870c34ca9b83a0ab4b7f0d377" + }, + { + "m_Id": "0ebc2295fb414db8bb411b9e1e317b77" + }, + { + "m_Id": "4b43d768d8a14c75b54277a93cf2a27a" + }, + { + "m_Id": "fe826471a64a4a689b59f4ce4513545e" + }, + { + "m_Id": "1176fd2b02f74be3a4078ff2d757efd6" + }, + { + "m_Id": "bd819d117d82468ea5858a73a478cfcc" + }, + { + "m_Id": "0fa953049b314829a439aa53a33fa4f1" + }, + { + "m_Id": "ea6d3145ec744f7bac7e5f07d0f12fb0" + }, + { + "m_Id": "3a28f7139d874a398e58d4a4c8d10565" + }, + { + "m_Id": "a9b297fa2c3946e3923676a61d91b72c" + }, + { + "m_Id": "4080ada99fea42d9bb5ebcb0263a9d88" + }, + { + "m_Id": "2866b6a90eba455598b07d3aaf53f634" + }, + { + "m_Id": "335bdcbb477842668dd2c1ab2a07fb2a" + }, + { + "m_Id": "d955806d32e8483096d6cd9b69cd8e96" + }, + { + "m_Id": "791afc74644d40cebf5da0167ad4dded" + }, + { + "m_Id": "7cacf48ee3614906a30214dfa434011d" + }, + { + "m_Id": "258c41699eb34653b68da9c03622b287" + }, + { + "m_Id": "e11241f4f9194a90b072c7c61a5fc38d" + }, + { + "m_Id": "0955370501fe478dad5f80a32052f3d0" + }, + { + "m_Id": "3f1c905f26924406b69e0dff6f148d00" + }, + { + "m_Id": "a1a0f2a2d30e4b5d852ffb5db7f93373" + }, + { + "m_Id": "e55df89b916443c7914275c0c7454eb8" + }, + { + "m_Id": "0e26306a14f54c91965ebb524779e53d" + }, + { + "m_Id": "9a8724a4de464cd5b4b9dfdd98357462" + }, + { + "m_Id": "b7a1f82a553f43c683c413edc8fbddd5" + }, + { + "m_Id": "5517547f105b48fabdac0ac8e25824f5" + }, + { + "m_Id": "96681094ad334c4db7af550d568ff050" + }, + { + "m_Id": "b4aecc5cfbbb4c568884a4530295e15a" + }, + { + "m_Id": "7e7070ccfac84b8ababc6e6e4c8de6b9" + }, + { + "m_Id": "9e4c2ea2021c40788a92fdfaa6b22d6e" + }, + { + "m_Id": "08b278a05559442fb12edc6be03dd3b8" + }, + { + "m_Id": "940aa0846da9415887539bb6953d4398" + }, + { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + { + "m_Id": "7afb6c9aceff4751af4a3a9fe335c518" + }, + { + "m_Id": "06c14ff353e54c518dde17800987f926" + }, + { + "m_Id": "34d176773e0147da865d21982dc338c9" + }, + { + "m_Id": "b88f28bba9a24d51baf22ffd701e48be" + }, + { + "m_Id": "c0fadcad94a84edb9276818d04d2e3de" + }, + { + "m_Id": "582841b020c54138a87400307c918ff7" + }, + { + "m_Id": "d6d378078fad46b0846825488b60ab4b" + }, + { + "m_Id": "f0ad02689f3242ef8e07d84a46cb554d" + }, + { + "m_Id": "7347cf0e84c54f22b25908befe09959d" + }, + { + "m_Id": "b395edaf71074e8c931249b7d9e86473" + }, + { + "m_Id": "cea8df942ccf4e3691e5be4b2fa749b3" + }, + { + "m_Id": "7b54c02700804182b6db705cae26c383" + }, + { + "m_Id": "917d94dda6b84f90bc48f00dbd230958" + }, + { + "m_Id": "6b8c371545104534acb0d3ba091d49f7" + }, + { + "m_Id": "4b4a0f15a5b74492a80fe4b4d5139b79" + }, + { + "m_Id": "6f518d23b38a4cb88977f2d57c4e5f37" + }, + { + "m_Id": "b8a74bc306e34f87bac4b94dcc11009e" + }, + { + "m_Id": "0ac34f1d39c744cbb54fc9d0087ec6db" + }, + { + "m_Id": "76af82dbe2234f26a1bc666d8d0f6e33" + }, + { + "m_Id": "fbb44f91713b41ca872220b819abb144" + } + ], + "m_GroupDatas": [ + { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + { + "m_Id": "9dc4257d98d4432daed87f25ab031c1f" + }, + { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + } + ], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "01282abb2ccc42539cc04ff09f654503" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "664efaabfc1a4f28843560089946630e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0343414dc6f44516a32acfe48feb456e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cb0b117bcfe849f4b1f5a95f7f338289" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "06c14ff353e54c518dde17800987f926" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "34d176773e0147da865d21982dc338c9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "06c14ff353e54c518dde17800987f926" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "34d176773e0147da865d21982dc338c9" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "07a4a545beca4a57a7dbabbf6e01be6b" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c2f152f3aada41d19f28d8644f2fecf0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "07a4a545beca4a57a7dbabbf6e01be6b" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e55df89b916443c7914275c0c7454eb8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "08b278a05559442fb12edc6be03dd3b8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "76af82dbe2234f26a1bc666d8d0f6e33" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0955370501fe478dad5f80a32052f3d0" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3f1c905f26924406b69e0dff6f148d00" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0ac34f1d39c744cbb54fc9d0087ec6db" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4080ada99fea42d9bb5ebcb0263a9d88" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0ae70f71512641c0a5cf5838a2996917" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "295230b1950c4d16b9d3d518b640e63b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0e26306a14f54c91965ebb524779e53d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e55df89b916443c7914275c0c7454eb8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0ebc2295fb414db8bb411b9e1e317b77" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4b43d768d8a14c75b54277a93cf2a27a" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0fa953049b314829a439aa53a33fa4f1" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bd819d117d82468ea5858a73a478cfcc" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1176fd2b02f74be3a4078ff2d757efd6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a28f7139d874a398e58d4a4c8d10565" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "14b8df0913f6486a8d18888518a12395" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ebc2295fb414db8bb411b9e1e317b77" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "15aa86d1d8a64fd4a0a911753627b01c" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd06689346b146e1bc97f3194e4c591a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "20614d7744ca4b25aa6b643cb141f297" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4ba22c2a7fac4db5a094b3885277e92d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2584ff068d234c79894e8cdfe9e49015" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "89e39b83a7104870818c742664bc0fa1" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2584ff068d234c79894e8cdfe9e49015" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8f870c80a6e44ce2b1a3caf1682e619c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "258c41699eb34653b68da9c03622b287" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7cacf48ee3614906a30214dfa434011d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2866b6a90eba455598b07d3aaf53f634" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bda77cf22ef9400a89bae20eb1c9f732" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "295230b1950c4d16b9d3d518b640e63b" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "76af82dbe2234f26a1bc666d8d0f6e33" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3019cd4800c447938e1f4b098961bcd2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5546fb4ff85549ba8e8449007ba4cdb1" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "335bdcbb477842668dd2c1ab2a07fb2a" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2866b6a90eba455598b07d3aaf53f634" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "34d176773e0147da865d21982dc338c9" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b88f28bba9a24d51baf22ffd701e48be" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "355595409de24da391b077d4813c4566" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e79d4acf1aef4fd4b38aaf50487409fa" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "373a048335234fd99034968f7761ae30" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e57ffda00edd4104a436db0aeed0bb43" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3a28f7139d874a398e58d4a4c8d10565" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7cacf48ee3614906a30214dfa434011d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3bf1964960f946a8b6da3154566fb1a8" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "791afc74644d40cebf5da0167ad4dded" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3f1c905f26924406b69e0dff6f148d00" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b3716eaf151a485bba9d51b0b37ea225" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4080ada99fea42d9bb5ebcb0263a9d88" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "aa4cfb9c81b0483e83cd7254c8fc113e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "41f3987ed904403e9e9c88a3c32ac85a" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ba78a876ec3c449386148b3a82c094c1" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "43b917bace5d4292af14af1d0ae06dce" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "46928e46fdfb41feacd21cf1e4f05a9e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "997e8328841846179a91993d5cf38ed0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "46928e46fdfb41feacd21cf1e4f05a9e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e7885f7095c7437d91a4dfc924fc3d3d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4783cc2c2c93432683711072278486a9" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4b43d768d8a14c75b54277a93cf2a27a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1176fd2b02f74be3a4078ff2d757efd6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4b4a0f15a5b74492a80fe4b4d5139b79" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b8a74bc306e34f87bac4b94dcc11009e" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4ba22c2a7fac4db5a094b3885277e92d" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd357e0435f0475ca2b0d50b7bfe429f" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "54ab7e48d2a44fec946782a2599fb6ce" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "789dd3cc92324b9681dd20dd69b6af6a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5517547f105b48fabdac0ac8e25824f5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "08b278a05559442fb12edc6be03dd3b8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5517547f105b48fabdac0ac8e25824f5" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "96681094ad334c4db7af550d568ff050" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5546fb4ff85549ba8e8449007ba4cdb1" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "01282abb2ccc42539cc04ff09f654503" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "573ffff2cfa24fd6b542bf88a2dac141" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c5a01b635c12448fb34ba40af0115ad6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "582841b020c54138a87400307c918ff7" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d6d378078fad46b0846825488b60ab4b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "61999135009546d7b62318718cf0a329" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "626b36cd109f48bdb365d9171a6c467c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7a20803b2aa94387ab86d51955d11267" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "664efaabfc1a4f28843560089946630e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e57ffda00edd4104a436db0aeed0bb43" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6b8c371545104534acb0d3ba091d49f7" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "917d94dda6b84f90bc48f00dbd230958" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6f518d23b38a4cb88977f2d57c4e5f37" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4b4a0f15a5b74492a80fe4b4d5139b79" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7347cf0e84c54f22b25908befe09959d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "76af82dbe2234f26a1bc666d8d0f6e33" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "aa4cfb9c81b0483e83cd7254c8fc113e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "789dd3cc92324b9681dd20dd69b6af6a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bf1ac9900d594cb2a8aec870b2ce2767" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "791afc74644d40cebf5da0167ad4dded" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "295230b1950c4d16b9d3d518b640e63b" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "797ee2ddee554286a057d348d281f9bf" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "295230b1950c4d16b9d3d518b640e63b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7afb6c9aceff4751af4a3a9fe335c518" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b88f28bba9a24d51baf22ffd701e48be" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7b54c02700804182b6db705cae26c383" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "917d94dda6b84f90bc48f00dbd230958" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7cacf48ee3614906a30214dfa434011d" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a1a0f2a2d30e4b5d852ffb5db7f93373" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7f1bad0f9d2e482eb16a6f442390b760" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e7885f7095c7437d91a4dfc924fc3d3d" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ebc2295fb414db8bb411b9e1e317b77" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15aa86d1d8a64fd4a0a911753627b01c" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5546fb4ff85549ba8e8449007ba4cdb1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7b54c02700804182b6db705cae26c383" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "89e39b83a7104870818c742664bc0fa1" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b595874739a74b25889e09ed1fe9cc0d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8b2faee58b37443499e794be9aa5281c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b3716eaf151a485bba9d51b0b37ea225" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ae70f71512641c0a5cf5838a2996917" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4080ada99fea42d9bb5ebcb0263a9d88" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7e7070ccfac84b8ababc6e6e4c8de6b9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b59ab25e0b4b4a70b1117f1294a9de04" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d955806d32e8483096d6cd9b69cd8e96" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8f870c80a6e44ce2b1a3caf1682e619c" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7f1bad0f9d2e482eb16a6f442390b760" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "917d94dda6b84f90bc48f00dbd230958" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cea8df942ccf4e3691e5be4b2fa749b3" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "928d1907e04b4599ac8fa6b32a663bda" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e79d4acf1aef4fd4b38aaf50487409fa" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "940aa0846da9415887539bb6953d4398" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "06c14ff353e54c518dde17800987f926" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9463cc9fecea4c9894adda96cc4747b0" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "89e39b83a7104870818c742664bc0fa1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "96681094ad334c4db7af550d568ff050" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b4aecc5cfbbb4c568884a4530295e15a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "997e8328841846179a91993d5cf38ed0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d398306515884633bfdcaea08e9afae6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9a8724a4de464cd5b4b9dfdd98357462" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b7a1f82a553f43c683c413edc8fbddd5" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9b4baef0abe44165b8aa39a051b02a4a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd357e0435f0475ca2b0d50b7bfe429f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9e4c2ea2021c40788a92fdfaa6b22d6e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b395edaf71074e8c931249b7d9e86473" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9e4c2ea2021c40788a92fdfaa6b22d6e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "fbb44f91713b41ca872220b819abb144" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7afb6c9aceff4751af4a3a9fe335c518" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7afb6c9aceff4751af4a3a9fe335c518" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "582841b020c54138a87400307c918ff7" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9f8ba8f68a994bf397e5ee71fc3d6994" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "582841b020c54138a87400307c918ff7" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a1a0f2a2d30e4b5d852ffb5db7f93373" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e161e902d4624c4db4b1d157d4c0969a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a2c419b593bc4920bd21daa775a88bd1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2866b6a90eba455598b07d3aaf53f634" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a2c419b593bc4920bd21daa775a88bd1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e235a48542b743f89356b3b19612a493" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a47839886ea74f1880f1ec683bd1e17a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8dd0653877564c2ca05b1f3ef15fb998" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a56203d0f78a4b96bf981691b0ae15b1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "ba78a876ec3c449386148b3a82c094c1" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a9b297fa2c3946e3923676a61d91b72c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "258c41699eb34653b68da9c03622b287" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a9b297fa2c3946e3923676a61d91b72c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a28f7139d874a398e58d4a4c8d10565" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "aa4cfb9c81b0483e83cd7254c8fc113e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "eeab07648e5c4275a49d184c0c544c2e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "abf45770a5d94f5b82a2fbf25072a32c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3bf1964960f946a8b6da3154566fb1a8" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "acf4df297f254147a3125ad2035dc7de" + }, + "m_SlotId": 6 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "8f870c80a6e44ce2b1a3caf1682e619c" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b3716eaf151a485bba9d51b0b37ea225" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c353af162c1e445195c31d155ae33761" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b4aecc5cfbbb4c568884a4530295e15a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "76af82dbe2234f26a1bc666d8d0f6e33" + }, + "m_SlotId": 3 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b595874739a74b25889e09ed1fe9cc0d" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "997e8328841846179a91993d5cf38ed0" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b59ab25e0b4b4a70b1117f1294a9de04" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7e7070ccfac84b8ababc6e6e4c8de6b9" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b723d8e870c34ca9b83a0ab4b7f0d377" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "14b8df0913f6486a8d18888518a12395" + }, + "m_SlotId": -1145327804 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b7a1f82a553f43c683c413edc8fbddd5" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b4aecc5cfbbb4c568884a4530295e15a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b88f28bba9a24d51baf22ffd701e48be" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c0fadcad94a84edb9276818d04d2e3de" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b8a74bc306e34f87bac4b94dcc11009e" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ac34f1d39c744cbb54fc9d0087ec6db" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba78a876ec3c449386148b3a82c094c1" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b595874739a74b25889e09ed1fe9cc0d" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9463cc9fecea4c9894adda96cc4747b0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9463cc9fecea4c9894adda96cc4747b0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "41f3987ed904403e9e9c88a3c32ac85a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ba8a9205db9c4c82a195492a100d3528" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "41f3987ed904403e9e9c88a3c32ac85a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bd819d117d82468ea5858a73a478cfcc" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1176fd2b02f74be3a4078ff2d757efd6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bda77cf22ef9400a89bae20eb1c9f732" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d2a3745a45a74d63b33bed91ac1c7ad8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bf1ac9900d594cb2a8aec870b2ce2767" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "07a4a545beca4a57a7dbabbf6e01be6b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c0df4687c8e44622a2dc260b913ed38d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c2f152f3aada41d19f28d8644f2fecf0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c0fadcad94a84edb9276818d04d2e3de" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cea8df942ccf4e3691e5be4b2fa749b3" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c2097f14df7643caad41833132fcc88e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ae70f71512641c0a5cf5838a2996917" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c2f152f3aada41d19f28d8644f2fecf0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a47839886ea74f1880f1ec683bd1e17a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c5a01b635c12448fb34ba40af0115ad6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2584ff068d234c79894e8cdfe9e49015" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c5a01b635c12448fb34ba40af0115ad6" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2584ff068d234c79894e8cdfe9e49015" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cd06689346b146e1bc97f3194e4c591a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bda77cf22ef9400a89bae20eb1c9f732" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cd357e0435f0475ca2b0d50b7bfe429f" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "664efaabfc1a4f28843560089946630e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cea8df942ccf4e3691e5be4b2fa749b3" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9e4c2ea2021c40788a92fdfaa6b22d6e" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d2a3745a45a74d63b33bed91ac1c7ad8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ac34f1d39c744cbb54fc9d0087ec6db" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d398306515884633bfdcaea08e9afae6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "896f72bfd5b044b5a6b16a38b29c4d65" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d398306515884633bfdcaea08e9afae6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e11241f4f9194a90b072c7c61a5fc38d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d6d378078fad46b0846825488b60ab4b" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "c0fadcad94a84edb9276818d04d2e3de" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d955806d32e8483096d6cd9b69cd8e96" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "335bdcbb477842668dd2c1ab2a07fb2a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e11241f4f9194a90b072c7c61a5fc38d" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0955370501fe478dad5f80a32052f3d0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e235a48542b743f89356b3b19612a493" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d2a3745a45a74d63b33bed91ac1c7ad8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "acf4df297f254147a3125ad2035dc7de" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "acf4df297f254147a3125ad2035dc7de" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "355595409de24da391b077d4813c4566" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e420213da4ea47a6993965e9f8df99d6" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "355595409de24da391b077d4813c4566" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e55df89b916443c7914275c0c7454eb8" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9a8724a4de464cd5b4b9dfdd98357462" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e57ffda00edd4104a436db0aeed0bb43" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "789dd3cc92324b9681dd20dd69b6af6a" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e7885f7095c7437d91a4dfc924fc3d3d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d398306515884633bfdcaea08e9afae6" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e79d4acf1aef4fd4b38aaf50487409fa" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "7f1bad0f9d2e482eb16a6f442390b760" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ea6d3145ec744f7bac7e5f07d0f12fb0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0fa953049b314829a439aa53a33fa4f1" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "efbc28cf501449b68df441857a9530c2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "15aa86d1d8a64fd4a0a911753627b01c" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f0ad02689f3242ef8e07d84a46cb554d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d6d378078fad46b0846825488b60ab4b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f3d1f8a139e1433ab980a389f300fa94" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0ae70f71512641c0a5cf5838a2996917" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fbb44f91713b41ca872220b819abb144" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "08b278a05559442fb12edc6be03dd3b8" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fdba8bc209144708828a3127aad8d76c" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "9b4baef0abe44165b8aa39a051b02a4a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "fe826471a64a4a689b59f4ce4513545e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4b43d768d8a14c75b54277a93cf2a27a" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "fcd2df9a1ec647818ce406d3f8643c95" + }, + { + "m_Id": "53f8473d70ba45d1a89a099aaf9e22b6" + }, + { + "m_Id": "f1476acec9944d0fb8f2a67369ebbaed" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.00005054473876953125, + "y": 194.0 + }, + "m_Blocks": [ + { + "m_Id": "eeab07648e5c4275a49d184c0c544c2e" + }, + { + "m_Id": "c353af162c1e445195c31d155ae33761" + }, + { + "m_Id": "4627dcad0227412a98513e051379fcb3" + }, + { + "m_Id": "cb0b117bcfe849f4b1f5a95f7f338289" + }, + { + "m_Id": "e161e902d4624c4db4b1d157d4c0969a" + }, + { + "m_Id": "29bb8ddb806d4db9ab71fecb476804f9" + }, + { + "m_Id": "e1ddae6dd06242df93a1f8851c956732" + }, + { + "m_Id": "7a20803b2aa94387ab86d51955d11267" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Planar Reflections/Universal RP/Water", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "a38fbc6a27bc48ee85f0623942ebe855" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0059efc64c9e407aacc4a7aedd35e321", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SceneDepthNode", + "m_ObjectId": "01282abb2ccc42539cc04ff09f654503", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Scene Depth", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3643.0, + "y": -240.00003051757813, + "width": 145.0, + "height": 112.0 + } + }, + "m_Slots": [ + { + "m_Id": "127b4c37c54d4b2ab9a1cb0045a655aa" + }, + { + "m_Id": "4f1495055c1042a69fea439b9fdcd53a" + } + ], + "synonyms": [ + "zbuffer", + "zdepth" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_DepthSamplingMode": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "01c06750d92c46c39711bd225ca3443f", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "01f4ab38c10740279a2d60fdee3e9226", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "025c0845c17449fa97159abf2a980232", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "02b5f2d13dc645708a41f83a96042232", + "m_Id": 0, + "m_DisplayName": "Specular Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Specular", + "m_StageCapability": 2, + "m_Value": { + "x": 0.24586153030395509, + "y": 0.4884060323238373, + "z": 0.6132075786590576 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "0343414dc6f44516a32acfe48feb456e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -154.9999542236328, + "y": 355.0, + "width": 140.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "80dcf53b77ff4003819c5a16e4956af7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d789035d6b144212a857edeae8d47067" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0355c3fecfc341c8803521d971084bb2", + "m_Id": 0, + "m_DisplayName": "Base", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Base", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "0390c4a3d587461a8efa2375782f0d44", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "04a4fb310a8d4abf812c3f8f74ccd4ad", + "m_Id": 2, + "m_DisplayName": "Power", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Power", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "053ff5a9ff744f7584d1e26119b55837", + "m_Id": 4, + "m_DisplayName": "Smooth Delta", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Smooth Delta", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0658bca96edc42db98a9941de56c7065", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "065d323e4fba4b00b8da1504008a7c83", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "06717ed7283a4985aeea3d20f680fe7c", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "06c14ff353e54c518dde17800987f926", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3574.000244140625, + "y": -2333.000244140625, + "width": 119.000244140625, + "height": 101.0 + } + }, + "m_Slots": [ + { + "m_Id": "24f4e71c9bb24ce9919dcd1e2fa15f72" + }, + { + "m_Id": "37519dedca8d4c9d9f70bc3f111e6776" + }, + { + "m_Id": "59b3203c290943df9067549dc72b2b9f" + }, + { + "m_Id": "9f3afc6dd6044d17addb6db3107e16ab" + }, + { + "m_Id": "6fe924fca5dc40e2817634c2d11cbf92" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "070b6e2ae321492399119fcc45ac9525", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "0752910bf6dd45ea98c80b8a156f3c65", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NegateNode", + "m_ObjectId": "07a4a545beca4a57a7dbabbf6e01be6b", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Negate", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2836.0, + "y": -670.0, + "width": 128.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "639ce3f3233b46d3810d6b8787b0b9c8" + }, + { + "m_Id": "97a331d157a2491f822c791654dc5818" + } + ], + "synonyms": [ + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "08b278a05559442fb12edc6be03dd3b8", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1730.000244140625, + "y": -1687.0001220703125, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "0390c4a3d587461a8efa2375782f0d44" + }, + { + "m_Id": "47192866fb734ba893a8ad545f7bcf49" + }, + { + "m_Id": "72b32fe5556648278996c7c6460042dd" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "092a94db96014fdb8aac781d38998e2d", + "m_Guid": { + "m_GuidSerialized": "f1377c5b-8f4b-403d-8b30-1b129429554a" + }, + "m_Name": "Underwater Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Underwater Color", + "m_DefaultReferenceName": "_Underwater_Color", + "m_OverrideReferenceName": "_UnderwaterColor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.22116413712501527, + "g": 0.6603773832321167, + "b": 0.5152018666267395, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "0955370501fe478dad5f80a32052f3d0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3974.0, + "y": 582.0000610351563, + "width": 56.0, + "height": 23.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "1d0e50b75aa24e48b8b49ef42e9fb9a3" + }, + { + "m_Id": "75d06d61fa814a29a526922b0fb4a69b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "09c13df6e4c743ab96305d6ff1b39bf3", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "09db3af2255b4d199c2ffe19bc9f594a", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0a4cc0d58956465d970a7bd6416b998a", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "0ac34f1d39c744cbb54fc9d0087ec6db", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1419.0, + "y": 406.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "1b20fca11dd04921932272fd4368cc16" + }, + { + "m_Id": "065d323e4fba4b00b8da1504008a7c83" + }, + { + "m_Id": "b10d1e8217d248739766a2ccd4b40d40" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "0ae70f71512641c0a5cf5838a2996917", + "m_Group": { + "m_Id": "9dc4257d98d4432daed87f25ab031c1f" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1567.0, + "y": -739.9999389648438, + "width": 130.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "660921547df3417e9a280fc75599ab28" + }, + { + "m_Id": "a335d03ca6654a55ac48d969c29e952d" + }, + { + "m_Id": "0fddb6cd580140b99a434a3a96766842" + }, + { + "m_Id": "3bf2c7dbd9804813b76d7927e3bcbc76" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0c29130a0bca4483893059a0290a196d", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0dc17c8978534433b75a16f5cb804a34", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "0e26306a14f54c91965ebb524779e53d", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2899.000244140625, + "y": -1610.0001220703125, + "width": 138.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "a8597dfcf5b2416c9204b0ae186a88bf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "84b783046a5e44f8ad886cfef81aebf5" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0e8e93caf49543459586c343c89bbf28", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "0ebc2295fb414db8bb411b9e1e317b77", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2663.000244140625, + "y": 1183.0001220703125, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "15b28050392742ec9a78a016411c14f1" + }, + { + "m_Id": "714612443dfa488dbfd4c788d92bc366" + }, + { + "m_Id": "50853d3f0f5e4177ba23e2ad963ca319" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "0ebdf966da2c410381ceb02eee911646", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.FresnelNode", + "m_ObjectId": "0fa953049b314829a439aa53a33fa4f1", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Fresnel Effect", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2199.000244140625, + "y": 1402.0, + "width": 164.0, + "height": 142.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "1f7957ecc103475a868c17492d31fa43" + }, + { + "m_Id": "bd42296308444f4d93e01db690385d1b" + }, + { + "m_Id": "04a4fb310a8d4abf812c3f8f74ccd4ad" + }, + { + "m_Id": "4eb07bbb9fc2407ba8dc3e1ac93a0d72" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0fddb6cd580140b99a434a3a96766842", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "111eadec82ad4f74ae1d94c5b0599725", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "1176fd2b02f74be3a4078ff2d757efd6", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1789.0001220703125, + "y": 1095.0, + "width": 129.9998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "eff76c01f7aa4448b49b0673fb8ee66c" + }, + { + "m_Id": "f140b1f99a8b46608f51ee3f5976a269" + }, + { + "m_Id": "cd94a1d470f74874ae84a67e29a7dfdd" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "11d341f1826f4a1fa2fa82a56015c1c0", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionMaterialSlot", + "m_ObjectId": "127b4c37c54d4b2ab9a1cb0045a655aa", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [], + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "13e56b18e2664ae9bcc4671ac1f910bb", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "142ba68448bc433ebd5a1ec80e5071d9", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "143477609d5d4d7b8b55d13af03f644b", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "14a4a1952bc64052891ebc5381d30b1e", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "14b8df0913f6486a8d18888518a12395", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "ReflectionUVs", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2887.000244140625, + "y": 1301.0001220703125, + "width": 201.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "2a766ba6a0ab407197401d6b82222343" + }, + { + "m_Id": "452670e3b02442c98029b97b1df951ff" + }, + { + "m_Id": "5dfa46d8c4794fbca2c36601cb029f6d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "15aa86d1d8a64fd4a0a911753627b01c", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2368.999755859375, + "y": 87.00001525878906, + "width": 129.999755859375, + "height": 117.99995422363281 + } + }, + "m_Slots": [ + { + "m_Id": "57137b54d05c4aa19922b3a72c66165d" + }, + { + "m_Id": "871acef37d714d6da30a611c38e587f0" + }, + { + "m_Id": "258e6e4207434551beba3f6905f85f7e" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "15b28050392742ec9a78a016411c14f1", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "16a62e196665430c9f7094e79535792b", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "191ba53c49df40eba301880ea6028c84", + "m_Id": 2, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "19c61f1fffb3417eb2c3b4ad6986dc98", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1acbff5fcf204e61a712885a9dc31e9d", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1b20fca11dd04921932272fd4368cc16", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1b34730f53214acaac14280e47dd8fa0", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1d0e50b75aa24e48b8b49ef42e9fb9a3", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1e3e1c8a933f4e11bd77ed3c516a141c", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1f336a38347c431ea34c8d4ff036212f", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1f6374d3e0914724b3757713c85833e7", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1f678a242488489b92c1fa6b81cf2533", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "1f7957ecc103475a868c17492d31fa43", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "2049a8124eec45779b1181f0b026ede9", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionNode", + "m_ObjectId": "20614d7744ca4b25aa6b643cb141f297", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Screen Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4001.0, + "y": -298.0000305175781, + "width": 145.0, + "height": 129.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "41843fcaf3484b6396668c93966c15d7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ScreenSpaceType": 1 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "20678c07e27e42d0aa5cb5967f3f7be0", + "m_Guid": { + "m_GuidSerialized": "36707453-d2cd-40f1-8aca-d0f397aeaed2" + }, + "m_Name": "Specular Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Specular Color", + "m_DefaultReferenceName": "_Specular_Color", + "m_OverrideReferenceName": "_SpecularColor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 2, + "m_Hidden": false, + "m_Value": { + "r": 0.24759700894355775, + "g": 0.3509991765022278, + "b": 0.4905660152435303, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2193aa0b450c45398b332e1f9de78374", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "220df1fa7c5c4cc8a76c1d2b364f34e7", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "2212a7b2c5e641cb9837c3836ea151c4", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "228263c9c159491493e95bc85be7d23a", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "235c3653528246bb9d68fd67efc4fdee", + "m_Id": 0, + "m_DisplayName": "Wave B Scale & Speed", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "245ffc0d9c0d4ebcb6d062858d5e2f39", + "m_Id": 1, + "m_DisplayName": "Sine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Sine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "24cb2f1813e64be2b8bb9b841e6c8ccc", + "m_Name": "", + "m_ChildObjectList": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "24f4e71c9bb24ce9919dcd1e2fa15f72", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "2584ff068d234c79894e8cdfe9e49015", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5366.0, + "y": 315.0, + "width": 125.0, + "height": 117.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "78d72f3283ec4dc5b3b96aa0a33db324" + }, + { + "m_Id": "54d37a3366fe4eea8a8b0f3decca368c" + }, + { + "m_Id": "61883715070c4ecd9cdba506ae1f62f6" + }, + { + "m_Id": "5947255e6ca04be6b692fd24bf23a897" + }, + { + "m_Id": "e28229fb5aad4eeeae76d4ff6649d6e8" + }, + { + "m_Id": "538ebeaa67a848ab94cefa249417b30b" + }, + { + "m_Id": "f492ad7101f14d988e586ce811c74a12" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "258c41699eb34653b68da9c03622b287", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1608.000244140625, + "y": 1301.0001220703125, + "width": 119.0001220703125, + "height": 76.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "64db74d06f2c4455bab642d59a288f63" + }, + { + "m_Id": "1f6374d3e0914724b3757713c85833e7" + }, + { + "m_Id": "c3f677c674cb4519b6009f7a9c355fd2" + }, + { + "m_Id": "48757484ede3418c842901aa0ecd268b" + }, + { + "m_Id": "d60ec7f7bf174195b65add21af1dbc28" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "258e6e4207434551beba3f6905f85f7e", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "26a7d5eed6fd4106b657cc71a65306ad", + "m_Id": 3, + "m_DisplayName": "Near Plane", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Near Plane", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "278a2ef5d6564a96a0054f93b88a61a4", + "m_Id": 0, + "m_DisplayName": "Horizon Surface Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "28444525c36b43c4ae05c1b370f7dab8", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "2866b6a90eba455598b07d3aaf53f634", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1862.9998779296875, + "y": 269.99993896484377, + "width": 130.0, + "height": 118.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "16a62e196665430c9f7094e79535792b" + }, + { + "m_Id": "01c06750d92c46c39711bd225ca3443f" + }, + { + "m_Id": "e20909c32eed478bb65eaf4fcd57cdf4" + }, + { + "m_Id": "5b53bb4421004059aef92202317fb914" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "295230b1950c4d16b9d3d518b640e63b", + "m_Group": { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1305.0, + "y": -430.0, + "width": 130.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "f2170d9b86af4b63b58c15ca29c94911" + }, + { + "m_Id": "31a3ca21048643d582b2329ef2658a40" + }, + { + "m_Id": "fd6cbbcbc6a84fceab01d10c3f834cd5" + }, + { + "m_Id": "ffe3881a50334653a75f1298d507af9b" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "29bb8ddb806d4db9ab71fecb476804f9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "c9780ca44fd8422d9eb41ff31989bfdb" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2a766ba6a0ab407197401d6b82222343", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2a8b516492894f6790e123dbb86636cd", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "2abbebf39902458fb1c9596d294bf088", + "m_Guid": { + "m_GuidSerialized": "0649fce9-3487-4bbe-8ab9-2ef350e051a2" + }, + "m_Name": "Foam Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Foam Color", + "m_DefaultReferenceName": "_Foam_Color", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2aff360139524d589ed0e9a388f50d0c", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2b6a3443996d4921b7244377512664c3", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "2bd3726c92f840c284dffb4368eaf26c", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "2c558aebf5ca4273a94f451efbd0fd38", + "m_Guid": { + "m_GuidSerialized": "a23e742c-91c3-49a0-8e86-e1f8833f1ddb" + }, + "m_Name": "Waves Distortion", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Waves Distortion", + "m_DefaultReferenceName": "_Waves_Distortion", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.02500000037252903, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 0.07500000298023224 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "2d0e0617fc8a4a00a7ce3d3d4e7fe697", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "2d9ae5b7a1024c2b95b8d8b2347ce470", + "m_Guid": { + "m_GuidSerialized": "2bd39f77-08c3-4b08-b7c9-f7ed900cc67f" + }, + "m_Name": "Horizon Surface Color", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Horizon Surface Color", + "m_DefaultReferenceName": "_Horizon_Surface_Color", + "m_OverrideReferenceName": "_HorizonSurfaceColor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.6745283007621765, + "g": 0.8793765306472778, + "b": 1.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2e12eef407cb4808b02bfb96f8a67c20", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "2eab2980e96c4e2ab96cb9a2096efd05", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionNode", + "m_ObjectId": "3019cd4800c447938e1f4b098961bcd2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Screen Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4023.0, + "y": -30.00001335144043, + "width": 145.0, + "height": 128.99998474121095 + } + }, + "m_Slots": [ + { + "m_Id": "f1959bbf752242e685b1262d6a500ab5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "3156ab2c2d724a62a510c1e8eaad6a08", + "m_Title": "Horizon Color", + "m_Position": { + "x": -1729.0, + "y": -473.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "315a9662839745a8886ee9b920903332", + "m_Id": 6, + "m_DisplayName": "Width", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Width", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "315e69288dd848d4942b4670e16e451d", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "31a3ca21048643d582b2329ef2658a40", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "31d66856eb35454284b57381922329ab", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3264cd47394642b98dc20cf01dfaeae4", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "32ecfc41659b4f998c24d0465c0f1ae9", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ClampNode", + "m_ObjectId": "335bdcbb477842668dd2c1ab2a07fb2a", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Clamp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2050.0, + "y": 204.99996948242188, + "width": 140.0001220703125, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "0e8e93caf49543459586c343c89bbf28" + }, + { + "m_Id": "da547753bf18427ba0ef0c79e5bf344f" + }, + { + "m_Id": "a31d3f6a2b1a48488eeb697bab3431f8" + }, + { + "m_Id": "460969b133464dd2b41491fb54bed07b" + } + ], + "synonyms": [ + "limit" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "34bce14479254fcdb104211f4fd46dd3", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "34d176773e0147da865d21982dc338c9", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3404.0, + "y": -2333.000244140625, + "width": 125.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "55856c03135e45c8b251bddeeaff0a5a" + }, + { + "m_Id": "11d341f1826f4a1fa2fa82a56015c1c0" + }, + { + "m_Id": "36f9ad2bf52744f18f8e0cab078b99af" + }, + { + "m_Id": "37d91e24a87b4bad92593c5919443509" + }, + { + "m_Id": "8ee74f2dd4374f6d85fd99e0071e439e" + }, + { + "m_Id": "e1841b95fcf94c91bda595885df07964" + }, + { + "m_Id": "d7e4571b5a744413afe188b965ef74ac" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "355595409de24da391b077d4813c4566", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5371.0, + "y": 1077.0001220703125, + "width": 125.0, + "height": 117.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "f9cff00d926a44469b2dfe09baa40e45" + }, + { + "m_Id": "2e12eef407cb4808b02bfb96f8a67c20" + }, + { + "m_Id": "91f8492363dd40f589109bb77bff88a4" + }, + { + "m_Id": "6326de99dcb7425fa8e622f583e339f5" + }, + { + "m_Id": "a9c6c0abd3d5493a8cd311487811a995" + }, + { + "m_Id": "ef605e229dbe4e92b5f0a7e2d5364656" + }, + { + "m_Id": "78b6c90d15bd4646819cb1aec806e109" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "36e95fc7a50946beab0c406e83815dd6", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "36f6be47679f4d0281f32ae5ca42c9ee", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "36f9ad2bf52744f18f8e0cab078b99af", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3705ab21fb1e4732b33d2cbf5927ddda", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.4000000059604645, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CameraNode", + "m_ObjectId": "373a048335234fd99034968f7761ae30", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Camera", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3457.999755859375, + "y": -201.9999542236328, + "width": 97.0, + "height": 76.99991607666016 + } + }, + "m_Slots": [ + { + "m_Id": "45b48153e4e44e44b2afcced0157bb65" + }, + { + "m_Id": "8d4ed8d80c21450a9bba4db9d9411ce5" + }, + { + "m_Id": "e84520b6b4d04a7d9f9d476defa38cb5" + }, + { + "m_Id": "26a7d5eed6fd4106b657cc71a65306ad" + }, + { + "m_Id": "af49110fe38142ac81a45b575634d9ff" + }, + { + "m_Id": "53f660344ccc49fc9f54f5ca8840ec6c" + }, + { + "m_Id": "315a9662839745a8886ee9b920903332" + }, + { + "m_Id": "e086f04cb985482ea9291385a563364c" + } + ], + "synonyms": [ + "position", + "direction", + "orthographic", + "near plane", + "far plane", + "width", + "height" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "37519dedca8d4c9d9f70bc3f111e6776", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "37d91e24a87b4bad92593c5919443509", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "38670cc6a8b04a248045a479c84299cd", + "m_Id": 1, + "m_DisplayName": "Min", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Min", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "387b0ee2bfcb45f2ad224997a3f3bd61", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "395952be136748d784f93ebfb232dfe9", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3a28f7139d874a398e58d4a4c8d10565", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1619.000244140625, + "y": 1095.0, + "width": 130.0001220703125, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "3aefc82d03ab4bca835ec309adea0cff" + }, + { + "m_Id": "6dcd0dbdd918417bb24ba80b27fea0a3" + }, + { + "m_Id": "a56ea228710a49b3bef53ed0a6ae5cab" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3aefc82d03ab4bca835ec309adea0cff", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "3b17456439394bdabce3c3c850c00361", + "m_Title": "Water Depth", + "m_Position": { + "x": -4087.0, + "y": -729.0000610351563 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3b1f0536eb2c4215985036844a12e05f", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3b40d923d81b49e7826254a2d0c89989", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "3bc8f83e20094051bf294482ecfefe44", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3be53f1dfe354924a209781fad68c9ff", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.FresnelNode", + "m_ObjectId": "3bf1964960f946a8b6da3154566fb1a8", + "m_Group": { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + "m_Name": "Fresnel Effect", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1848.0, + "y": -323.0, + "width": 152.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "c852a003b569419c9fd9b016fe3bb3e3" + }, + { + "m_Id": "fd818076deef4f459218fac31b366d9c" + }, + { + "m_Id": "9aa1b9b01d9f46c0a64ad999eb9317a0" + }, + { + "m_Id": "bcc453f7f2a6466bae47fad10bdea465" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3bf2c7dbd9804813b76d7927e3bcbc76", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3c70b925843145f6bba6da1eb282d49f", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3c8ac556e10e48c89615af9589b1d015", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3cf23e732916457c8ca7d7a7bf39f4fd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3e35fc54dd174fb18eb3d6ee870b054c", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3ef0500830944bab84c2444179934839", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "3f1c905f26924406b69e0dff6f148d00", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -486.0, + "y": 570.0, + "width": 56.00006103515625, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "97776de8a8504af0ac46995eb5183ecb" + }, + { + "m_Id": "f4fd7d4b4e004d7488a5355d82b0184e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "3f59579e3e6e47e982548c432d7bb1a6", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "4080ada99fea42d9bb5ebcb0263a9d88", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1196.0001220703125, + "y": 103.00000762939453, + "width": 130.0001220703125, + "height": 117.99999237060547 + } + }, + "m_Slots": [ + { + "m_Id": "8f8e486fef18422aa3ff610068a6c815" + }, + { + "m_Id": "61be39faf8094cec82fdade5f52a24b2" + }, + { + "m_Id": "315e69288dd848d4942b4670e16e451d" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "40974fa805a64e829804c93d3cf571c0", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "40c991cf19e340bc8e2f6b1f12ae8683", + "m_Id": 0, + "m_DisplayName": "Deep Water Tint", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "414db6b9a14c4e1fbf442480a810b104", + "m_Id": 0, + "m_DisplayName": "Waves Pattern", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "41843fcaf3484b6396668c93966c15d7", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "41f3987ed904403e9e9c88a3c32ac85a", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5371.0, + "y": 582.0, + "width": 125.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "28444525c36b43c4ae05c1b370f7dab8" + }, + { + "m_Id": "f69a976d74824d74a92b2f2008cd7aca" + }, + { + "m_Id": "9bdb35fd0c994cb6b8f6a8d57f1868b3" + }, + { + "m_Id": "228263c9c159491493e95bc85be7d23a" + }, + { + "m_Id": "e3ca893c81884f1a81afedfdce40fe45" + }, + { + "m_Id": "d925c1369fe44880bac1821f3f837d7e" + }, + { + "m_Id": "b6588e6c4f7a41e4a45ed945022f0ee9" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "430627f866894b06abb3b7d7998989cf", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "437c262f60cd41e3bc785c53a0a7f093", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "43b917bace5d4292af14af1d0ae06dce", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5786.0, + "y": 997.0, + "width": 195.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "235c3653528246bb9d68fd67efc4fdee" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "4709140653c8479aa05b590be1877c22" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "442ad05765a44075931bc707bbe0e20f", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4494acdcdd1f45bca3fe49809ad41db3", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "44d984c789834ee48622c8387741663e", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "452670e3b02442c98029b97b1df951ff", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "455e520d779a4a7d8d41ad625de537eb", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "45b48153e4e44e44b2afcced0157bb65", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "460969b133464dd2b41491fb54bed07b", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4627dcad0227412a98513e051379fcb3", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "acf8cb8241f14da680d5067f529c48cd" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "46928e46fdfb41feacd21cf1e4f05a9e", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4950.0, + "y": 776.0000610351563, + "width": 160.0, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "414db6b9a14c4e1fbf442480a810b104" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d10f2e2c46c849ea9075e10d08889f29" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", + "m_ObjectId": "4709140653c8479aa05b590be1877c22", + "m_Guid": { + "m_GuidSerialized": "cf109364-dce5-4768-b29d-ff1369af7252" + }, + "m_Name": "Wave B Scale & Speed", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Wave B Scale & Speed", + "m_DefaultReferenceName": "_Wave_B_Scale_Speed", + "m_OverrideReferenceName": "_WaveBScaleSpeed", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": -0.15000000596046449, + "w": -0.15000000596046449 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "47192866fb734ba893a8ad545f7bcf49", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "4783cc2c2c93432683711072278486a9", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4769.0, + "y": 392.0, + "width": 164.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "d94206f98a284c01a40db09ade2b708d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2c558aebf5ca4273a94f451efbd0fd38" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "47e6214d07bc47dab54f782fd1baa16f", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "48757484ede3418c842901aa0ecd268b", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "48f8cb73dd1541189c3de9e7b66d8a22", + "m_Id": 0, + "m_DisplayName": "Foam Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "4a6778c409904eaf9fb0308ffc0e08a1", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "4b43d768d8a14c75b54277a93cf2a27a", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -2366.00048828125, + "y": 1095.0, + "width": 180.000244140625, + "height": 179.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "f7b9317e7ec4416aafaeb49f6bedff4d" + }, + { + "m_Id": "387b0ee2bfcb45f2ad224997a3f3bd61" + }, + { + "m_Id": "76b6133b20a247069267c1892c2b1d90" + }, + { + "m_Id": "74e1e6ddf883460192caa5d80442c73f" + }, + { + "m_Id": "73c5aff38c1d4c28a1d2000f3d940ef9" + }, + { + "m_Id": "34bce14479254fcdb104211f4fd46dd3" + }, + { + "m_Id": "142ba68448bc433ebd5a1ec80e5071d9" + }, + { + "m_Id": "70a0e4f0004f4740aa5f237eb2dee782" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 0, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.FresnelNode", + "m_ObjectId": "4b4a0f15a5b74492a80fe4b4d5139b79", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Fresnel Effect", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1790.0, + "y": 624.0, + "width": 164.0001220703125, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "0ebdf966da2c410381ceb02eee911646" + }, + { + "m_Id": "f52db73fa90c4a18ad1b8b506b8ee21c" + }, + { + "m_Id": "dad86e6530874f3fa731f7fc0ae474c4" + }, + { + "m_Id": "50c95212eda740a8afc493cdae44a017" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "4ba22c2a7fac4db5a094b3885277e92d", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3850.999755859375, + "y": -305.9999694824219, + "width": 119.0, + "height": 76.99992370605469 + } + }, + "m_Slots": [ + { + "m_Id": "9b2b22a6c9ad4994b8ced152d1f6ccd9" + }, + { + "m_Id": "31d66856eb35454284b57381922329ab" + }, + { + "m_Id": "7f936c4846a64d37891e7147514ca3c5" + }, + { + "m_Id": "8e88261499d944a99e88c49f7e7497ed" + }, + { + "m_Id": "d20ad8785f3a4d6b9b11772f806d9d89" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "4c84f3feab60421aa0e6965da3956e9f", + "m_Id": 0, + "m_DisplayName": "Reflection Tex", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "4d544f9e781944ddae989ee4d5507452", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4e2463b9fd334080893d243a3a569db4", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4eb07bbb9fc2407ba8dc3e1ac93a0d72", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4f1495055c1042a69fea439b9fdcd53a", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "4f714e19f1864c1f926c00c8a3f4703f", + "m_Id": 0, + "m_DisplayName": "Underwater Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5014dbd20db2403397cf6e6dfeba6000", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "50853d3f0f5e4177ba23e2ad963ca319", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "50c95212eda740a8afc493cdae44a017", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "512694d3ce4649e49bc78c9721e33fba", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "5140404f271f4481b3a74277fb02c4ee", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "514345ee8f0241b692226e1b78e07558", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "523c9b9bc1cc40089a83a3249028b5ac", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "52684a1a5b744657b0e7f1b497839da2", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "537a73e9faef4cda9e6a56f741ccd348", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "538ebeaa67a848ab94cefa249417b30b", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "53f660344ccc49fc9f54f5ca8840ec6c", + "m_Id": 5, + "m_DisplayName": "Z Buffer Sign", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Z Buffer Sign", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "53f8473d70ba45d1a89a099aaf9e22b6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "ff7348bea7cf411cbef89b7aca0c5327" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "54ab7e48d2a44fec946782a2599fb6ce", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3431.0, + "y": -670.0, + "width": 206.0, + "height": 131.0 + } + }, + "m_Slots": [ + { + "m_Id": "14a4a1952bc64052891ebc5381d30b1e" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "54d37a3366fe4eea8a8b0f3decca368c", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5517547f105b48fabdac0ac8e25824f5", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2005.0001220703125, + "y": -1757.0001220703125, + "width": 137.0, + "height": 34.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "48f8cb73dd1541189c3de9e7b66d8a22" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2abbebf39902458fb1c9596d294bf088" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "5546fb4ff85549ba8e8449007ba4cdb1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3825.0, + "y": 41.999977111816409, + "width": 130.0, + "height": 118.0000228881836 + } + }, + "m_Slots": [ + { + "m_Id": "5b263ff239dc47c0bf50961639094cd4" + }, + { + "m_Id": "3b1f0536eb2c4215985036844a12e05f" + }, + { + "m_Id": "bc870e5dfd234fbf89bbc4945eb5fb96" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "55856c03135e45c8b251bddeeaff0a5a", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "563b864600284ea192e3bfd2845991b4", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "56c065f011a94da6a33b17675a9357f4", + "m_Id": 1, + "m_DisplayName": "Sine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Sine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "57137b54d05c4aa19922b3a72c66165d", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "573ffff2cfa24fd6b542bf88a2dac141", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5770.0, + "y": 315.0, + "width": 206.0, + "height": 131.0 + } + }, + "m_Slots": [ + { + "m_Id": "96cde2fef7b44f1a94d7a36afe7a7333" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "57cbb4f3cc4745dfae4564463d2c9fca", + "m_Id": 1, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "5824596bd6cf472f8aea5b0ea6904af9", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "582841b020c54138a87400307c918ff7", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3409.000244140625, + "y": -2066.000244140625, + "width": 125.0, + "height": 118.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "81ad2a31f72d40abbb2471a4a48711bd" + }, + { + "m_Id": "908d4c48dfd14266990b6b866ffd1a4e" + }, + { + "m_Id": "455e520d779a4a7d8d41ad625de537eb" + }, + { + "m_Id": "d142221bd058485da393257543cb99af" + }, + { + "m_Id": "5140404f271f4481b3a74277fb02c4ee" + }, + { + "m_Id": "3bc8f83e20094051bf294482ecfefe44" + }, + { + "m_Id": "aeaafd1bb48649a0a9640c0ba1f10e6c" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "5837d6f1e4d74a818199815e1a18a42e", + "m_Guid": { + "m_GuidSerialized": "6e8d1f0c-0fc2-4568-8199-8a42dd898169" + }, + "m_Name": "Waves Strength", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Waves Strength", + "m_DefaultReferenceName": "_Waves_Strength", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.5 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "585273f45b1e454badcf1af22f63b7bf", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "587738d557de4d81ad91790678d2a5c0", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "58955b9f85e442e39446fe110289398d", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "58affb62b2514fa8a25e4425f1a0fa17", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5947255e6ca04be6b692fd24bf23a897", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "5972f067e21e4ab889a21355f17528ca", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "59b3203c290943df9067549dc72b2b9f", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "5a8402aa2d1746f7918f8ae03e1075ba", + "m_Title": "Foam", + "m_Position": { + "x": -3833.0, + "y": -2392.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5b263ff239dc47c0bf50961639094cd4", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5b2cbc2d43154b9e8a5e98e1d87e4476", + "m_Id": 0, + "m_DisplayName": "Edge", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Edge", + "m_StageCapability": 3, + "m_Value": { + "x": 0.4000000059604645, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5b53bb4421004059aef92202317fb914", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "5c722919bb844256ba736de9e4143cda", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "5d4b38a5f93f47428395528949c37673", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "5dfa46d8c4794fbca2c36601cb029f6d", + "m_Id": 1, + "m_DisplayName": "Output 1", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Output1", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6014d535c2af469ba11ec00a2443475a", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6033436431314570842a30613303cf9a", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "60632519b97743b3b33654380c876736", + "m_Name": "Waves", + "m_ChildObjectList": [ + { + "m_Id": "d10f2e2c46c849ea9075e10d08889f29" + }, + { + "m_Id": "5837d6f1e4d74a818199815e1a18a42e" + }, + { + "m_Id": "2c558aebf5ca4273a94f451efbd0fd38" + }, + { + "m_Id": "d6a65deb66d74002bace5e5867cb9855" + }, + { + "m_Id": "4709140653c8479aa05b590be1877c22" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "608dea030a4b48db8762548ac12a571f", + "m_Id": 0, + "m_DisplayName": "Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "609cf7661b3e4d4093e2a59ef572080e", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "611b012da7ec488ead52811511b73a19", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6160e38f027c4de9bfa765b07506a908", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6170a8a395c1400e8965423ed0b25122", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "61883715070c4ecd9cdba506ae1f62f6", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "61999135009546d7b62318718cf0a329", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5786.0, + "y": 485.0, + "width": 195.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "a9736d578f664c31835305e940697747" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d6a65deb66d74002bace5e5867cb9855" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "61be39faf8094cec82fdade5f52a24b2", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "626b36cd109f48bdb365d9171a6c467c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -168.99993896484376, + "y": 531.0, + "width": 153.99998474121095, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "b5810e2d6c734de696e120ce8e0d6319" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "20678c07e27e42d0aa5cb5967f3f7be0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6326de99dcb7425fa8e622f583e339f5", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "63540925d14748d0a048f3f000e76ec2", + "m_Id": 0, + "m_DisplayName": "Waves Strength", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "639ce3f3233b46d3810d6b8787b0b9c8", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "642d7f3f3c884ae7a0de1b49bfe64647", + "m_Name": "Foam", + "m_ChildObjectList": [ + { + "m_Id": "84b783046a5e44f8ad886cfef81aebf5" + }, + { + "m_Id": "2abbebf39902458fb1c9596d294bf088" + }, + { + "m_Id": "e26243891aa443dd8421f7f0746c4820" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "64db74d06f2c4455bab642d59a288f63", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "65348a14fc7a44b2af1b757c7f629a79", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "660921547df3417e9a280fc75599ab28", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6614f1afe59f4f3b86ef67f0fcdd0836", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "664efaabfc1a4f28843560089946630e", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3473.0, + "y": -320.0000305175781, + "width": 130.0, + "height": 118.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "a22f2b9f09154924ac25e733dde69356" + }, + { + "m_Id": "ecb48519399a42b18c8bef56c090ad5b" + }, + { + "m_Id": "82536f8d103b4264ac7424a0551dd186" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6841b7859f72462c8f9682ef1fc4e228", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "69a5710a06024936923d74e3eff7fdc6", + "m_Id": 4, + "m_DisplayName": "Smooth Delta", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Smooth Delta", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6a56f349dff44a6bb27e7f51e9c4b7b8", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6ac97faa845b421dbc3d80946ddbb7f5", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1Node", + "m_ObjectId": "6b8c371545104534acb0d3ba091d49f7", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Float", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3120.0, + "y": -1787.0001220703125, + "width": 125.999755859375, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "b895fe7ce41b4424a4d97f52652062f0" + }, + { + "m_Id": "f0549f9215664be399ceb9ed4b577167" + } + ], + "synonyms": [ + "Vector 1", + "1", + "v1", + "vec1", + "scalar" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": 0.0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6d287e4650774d158832065f8675bca2", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6dcd0dbdd918417bb24ba80b27fea0a3", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6e21824f683e4a1fb9a67c0cfabfe7dc", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6ea812530ea5461cb7944d44f2132cb7", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "6ed24dbff7e549a6b3fa512937922d7b", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6ee140ad301143d39d67feb58bf4f7ff", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "6f518d23b38a4cb88977f2d57c4e5f37", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1971.9998779296875, + "y": 712.0, + "width": 152.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "966ef5e19a4e4492a9fd5055d9410ae7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c81ee39395ef4e4ebcc3691755510c4c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6fb2adb613934a7ebbd3199111ddd9cf", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6fe924fca5dc40e2817634c2d11cbf92", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6ff9689e11f3494ea0dac5027bf7733b", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", + "m_ObjectId": "70a0e4f0004f4740aa5f237eb2dee782", + "m_Id": 3, + "m_DisplayName": "Sampler", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Sampler", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "714612443dfa488dbfd4c788d92bc366", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7155799e44464793a08f38f2ae8561f6", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "72b32fe5556648278996c7c6460042dd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "72ba4ebc48ee42839cdee14dbcba61b4", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "7347cf0e84c54f22b25908befe09959d", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3808.000244140625, + "y": -2116.000244140625, + "width": 184.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "c7a0d9ec134840cd8ee014c71e68a3f7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "e26243891aa443dd8421f7f0746c4820" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "73c5aff38c1d4c28a1d2000f3d940ef9", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "74e1e6ddf883460192caa5d80442c73f", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7506b5165f684acbade7d83355d4d8a6", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "75279338ea9a4deaaba8e7d0aa86737e", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "75d06d61fa814a29a526922b0fb4a69b", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7603303560f14a33a7e0835301cb381e", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "7691fe98171d44c6aac1f91a1164c41e", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlendNode", + "m_ObjectId": "76af82dbe2234f26a1bc666d8d0f6e33", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Blend", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1147.0001220703125, + "y": -1687.0, + "width": 161.0001220703125, + "height": 177.0 + } + }, + "m_Slots": [ + { + "m_Id": "0355c3fecfc341c8803521d971084bb2" + }, + { + "m_Id": "d081206542a24c21bc277352be8ad859" + }, + { + "m_Id": "7c24c950e5f04f11a4fb62f3b27a623a" + }, + { + "m_Id": "7603303560f14a33a7e0835301cb381e" + } + ], + "synonyms": [ + "burn", + "darken", + "difference", + "dodge", + "divide", + "exclusion", + "hard light", + "hard mix", + "linear burn", + "linear dodge", + "linear light", + "multiply", + "negate", + "overlay", + "pin light", + "screen", + "soft light", + "subtract", + "vivid light", + "overwrite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_BlendMode": 11 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "76b6133b20a247069267c1892c2b1d90", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubtractNode", + "m_ObjectId": "789dd3cc92324b9681dd20dd69b6af6a", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Subtract", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3177.0, + "y": -670.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "f7496446146544d99098d82a8cd51d43" + }, + { + "m_Id": "609cf7661b3e4d4093e2a59ef572080e" + }, + { + "m_Id": "514345ee8f0241b692226e1b78e07558" + } + ], + "synonyms": [ + "subtraction", + "remove", + "minus", + "take away" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "78b6c90d15bd4646819cb1aec806e109", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "78d72f3283ec4dc5b3b96aa0a33db324", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ClampNode", + "m_ObjectId": "791afc74644d40cebf5da0167ad4dded", + "m_Group": { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + "m_Name": "Clamp", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1530.0, + "y": -318.0, + "width": 128.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "36f6be47679f4d0281f32ae5ca42c9ee" + }, + { + "m_Id": "38670cc6a8b04a248045a479c84299cd" + }, + { + "m_Id": "7e87533ef8ba405d8bb9210828a635dd" + }, + { + "m_Id": "3ef0500830944bab84c2444179934839" + } + ], + "synonyms": [ + "limit" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "79780bff51184f07a9ca7e28ac86db00", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "797ee2ddee554286a057d348d281f9bf", + "m_Group": { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1862.0, + "y": -367.0, + "width": 192.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "278a2ef5d6564a96a0054f93b88a61a4" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2d9ae5b7a1024c2b95b8d8b2347ce470" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "7a20803b2aa94387ab86d51955d11267", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Specular", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "02b5f2d13dc645708a41f83a96042232" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Specular" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "7afb6c9aceff4751af4a3a9fe335c518", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3409.000244140625, + "y": -2190.000244140625, + "width": 125.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "442ad05765a44075931bc707bbe0e20f" + }, + { + "m_Id": "99da357fdd154092b6ca6f9cbad1c2a5" + }, + { + "m_Id": "b716da831322453d89865e8222c397b5" + }, + { + "m_Id": "3b40d923d81b49e7826254a2d0c89989" + }, + { + "m_Id": "0a4cc0d58956465d970a7bd6416b998a" + }, + { + "m_Id": "d6c03c887bc44244ab1128b0bbf38b14" + }, + { + "m_Id": "97d43b23fa0e462e9d0113e89de7797f" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "7b17ac9e3ad34ddbaacabeb94df6a6d9", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "7b54c02700804182b6db705cae26c383", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4155.0, + "y": -1823.0001220703125, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "81d761304066433aa3ed60187fe0c410" + }, + { + "m_Id": "1e3e1c8a933f4e11bd77ed3c516a141c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7b5929d68cb04c7da8cdf34ec630c93b", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7bd902722c894e6795cb44b5836bebd3", + "m_Id": 2, + "m_DisplayName": "Cosine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Cosine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7c1fe73f6b2148ae95aad2a13a6ce907", + "m_Id": 7, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7c24c950e5f04f11a4fb62f3b27a623a", + "m_Id": 3, + "m_DisplayName": "Opacity", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Opacity", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "7cacf48ee3614906a30214dfa434011d", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1229.0001220703125, + "y": 1095.0, + "width": 129.999755859375, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "8e73db567eb041c9864e2a49148759db" + }, + { + "m_Id": "f0112efff1ce4eb2ba1f113c09aceb2c" + }, + { + "m_Id": "2193aa0b450c45398b332e1f9de78374" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "7cc18fa1984e4120a55ce2d661a2f1cd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7d404395fc7e40c9aabb9ca6d1aa5020", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7d4049828ae84855b7da0efbcb9e7d3c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7dc83221852b4157b7a9c41ff61bcb40", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "7e7070ccfac84b8ababc6e6e4c8de6b9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1974.0001220703125, + "y": -684.0, + "width": 126.0001220703125, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "c6776dad82ec47b4a690697744148682" + }, + { + "m_Id": "3c70b925843145f6bba6da1eb282d49f" + }, + { + "m_Id": "f2633d631a624c6b9a86bbb4f2e61366" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7e87533ef8ba405d8bb9210828a635dd", + "m_Id": 2, + "m_DisplayName": "Max", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Max", + "m_StageCapability": 3, + "m_Value": { + "x": 0.6499999761581421, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7f1456ef4c8a49558ccc74ea685a878f", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "7f1bad0f9d2e482eb16a6f442390b760", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4950.0, + "y": 1077.0001220703125, + "width": 130.0, + "height": 117.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "c383454229b1499ab856d6e46b68e69a" + }, + { + "m_Id": "b113620dc25c4d58adcfd6a8fef64966" + }, + { + "m_Id": "220df1fa7c5c4cc8a76c1d2b364f34e7" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7f91fe99b8484a889fc9b3cf31626aa4", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7f936c4846a64d37891e7147514ca3c5", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "80beff92d99b444892ec419cb6d47dc1", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "80dcf53b77ff4003819c5a16e4956af7", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "81ad2a31f72d40abbb2471a4a48711bd", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "81d761304066433aa3ed60187fe0c410", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "81e141fa330e4e12a61c34422169c870", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8227b27585c74302abba72f1518d3bfc", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "82536f8d103b4264ac7424a0551dd186", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "84b783046a5e44f8ad886cfef81aebf5", + "m_Guid": { + "m_GuidSerialized": "c68088b8-dc44-4b71-b28c-79c1ec10277d" + }, + "m_Name": "Foam Width", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Foam Width", + "m_DefaultReferenceName": "_Foam_Width", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.10000000149011612, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.05000000074505806, + "y": 0.20000000298023225 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "86b66ec0b1a34a7fa3e1aa78d1e4c6d6", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "871acef37d714d6da30a611c38e587f0", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "879b9e35342243ba83d86c96534f8bdb", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "884cbc4bebdc4486afee91998e3c9fe4", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "894a98dcff0149508e5e7fbcd34e56a1", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "896f72bfd5b044b5a6b16a38b29c4d65", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4353.00048828125, + "y": 256.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "e166dc20392e4ccf9d1ffc6bd88a4466" + }, + { + "m_Id": "3f59579e3e6e47e982548c432d7bb1a6" + }, + { + "m_Id": "7cc18fa1984e4120a55ce2d661a2f1cd" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "89e39b83a7104870818c742664bc0fa1", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5102.0, + "y": 315.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "badd18ece13b4d54a695d2435181c8ac" + }, + { + "m_Id": "40974fa805a64e829804c93d3cf571c0" + }, + { + "m_Id": "5014dbd20db2403397cf6e6dfeba6000" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8a4a868972e042a6b9075a8ec1389d84", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8a55822d678346649360d3e89e41f341", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "8b2faee58b37443499e794be9aa5281c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -535.0, + "y": 383.0, + "width": 159.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "63540925d14748d0a048f3f000e76ec2" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "5837d6f1e4d74a818199815e1a18a42e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "8d4ed8d80c21450a9bba4db9d9411ce5", + "m_Id": 1, + "m_DisplayName": "Direction", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Direction", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SaturateNode", + "m_ObjectId": "8dd0653877564c2ca05b1f3ef15fb998", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Saturate", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2304.999755859375, + "y": -684.0, + "width": 128.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "99fb9180586149d19748586b68ee3dfa" + }, + { + "m_Id": "437c262f60cd41e3bc785c53a0a7f093" + } + ], + "synonyms": [ + "clamp" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8e73db567eb041c9864e2a49148759db", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8e88261499d944a99e88c49f7e7497ed", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8e8c02e03f1846f09797468ec7eaa108", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "8ee74f2dd4374f6d85fd99e0071e439e", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "8f870c80a6e44ce2b1a3caf1682e619c", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5102.0, + "y": 810.0, + "width": 129.99951171875, + "height": 118.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "e6317bc666e843eeb01fc451061ab28e" + }, + { + "m_Id": "13e56b18e2664ae9bcc4671ac1f910bb" + }, + { + "m_Id": "2bd3726c92f840c284dffb4368eaf26c" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "8f8e486fef18422aa3ff610068a6c815", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "908d4c48dfd14266990b6b866ffd1a4e", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "90ea39b08f964381b9d233ec81765909", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "912ae93d96c247a4975604d3034282ad", + "m_Id": 4, + "m_DisplayName": "Smooth Delta", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Smooth Delta", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "917d94dda6b84f90bc48f00dbd230958", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2962.000244140625, + "y": -1878.0001220703125, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "fc36cc9d10d34bbaa3dbfb45f3c43972" + }, + { + "m_Id": "6033436431314570842a30613303cf9a" + }, + { + "m_Id": "bca9c177d2954cf593513612b543d146" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "91b89b23fe244ce0afda1ed347c1584f", + "m_Id": 2, + "m_DisplayName": "Cosine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Cosine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "91f8492363dd40f589109bb77bff88a4", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TimeNode", + "m_ObjectId": "928d1907e04b4599ac8fa6b32a663bda", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Time", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5325.0, + "y": 1195.0, + "width": 79.0, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "608dea030a4b48db8762548ac12a571f" + }, + { + "m_Id": "e618d88ff9c84b0d8f3b30d10673ff66" + }, + { + "m_Id": "7bd902722c894e6795cb44b5836bebd3" + }, + { + "m_Id": "9771ba8a7a43466299aee7bad777017a" + }, + { + "m_Id": "053ff5a9ff744f7584d1e26119b55837" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "940aa0846da9415887539bb6953d4398", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3808.000244140625, + "y": -2333.000244140625, + "width": 206.0, + "height": 131.0 + } + }, + "m_Slots": [ + { + "m_Id": "5c722919bb844256ba736de9e4143cda" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2, + "m_PositionSource": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "9463cc9fecea4c9894adda96cc4747b0", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5371.0, + "y": 458.0, + "width": 125.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "ab4b4314e42446f7870cb9913327bbb0" + }, + { + "m_Id": "d3cc43dcf65e4dc6a9bc85310c734856" + }, + { + "m_Id": "a458a1c466944ace8fb51381217f2b78" + }, + { + "m_Id": "a5988f15c7ca4198b5085bc7a126c2e1" + }, + { + "m_Id": "fae45d1e8a68463a9aea8f7db9c94955" + }, + { + "m_Id": "a197c2012ae84df5937f977492f598b9" + }, + { + "m_Id": "cff24860eb27423dbee007add85f8591" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "94d5f7eab73c40578defc7b49eb5d316", + "m_Id": 2, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9554c7bf61004c9683d1a818c29ef512", + "m_Id": 1, + "m_DisplayName": "Edge2", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Edge2", + "m_StageCapability": 3, + "m_Value": { + "x": 0.699999988079071, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "95d576222180426ea4498e0b22b12bca", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9626d5a1dc54402cb32a153a7ec031aa", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "96681094ad334c4db7af550d568ff050", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1825.000244140625, + "y": -1781.0001220703125, + "width": 119.000244140625, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "b84c22964452426c971888e362e83cdc" + }, + { + "m_Id": "4494acdcdd1f45bca3fe49809ad41db3" + }, + { + "m_Id": "b16d636e1c7f4b20b1f1c6d19ca4561d" + }, + { + "m_Id": "0dc17c8978534433b75a16f5cb804a34" + }, + { + "m_Id": "7506b5165f684acbade7d83355d4d8a6" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "966ef5e19a4e4492a9fd5055d9410ae7", + "m_Id": 0, + "m_DisplayName": "Horizon Factor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9695e6b123ae4135bac226407e58ef36", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "96cde2fef7b44f1a94d7a36afe7a7333", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "96eb7d5e950c4fa6854c754fb67b3749", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "970ccd04cb80483dae1deed42e5fd694", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9771ba8a7a43466299aee7bad777017a", + "m_Id": 3, + "m_DisplayName": "Delta Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Delta Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "97776de8a8504af0ac46995eb5183ecb", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "97a331d157a2491f822c791654dc5818", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "97d43b23fa0e462e9d0113e89de7797f", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "97fc415650c14fb58a97c752fb56abb5", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "988aabedcf0d41329560403714a6a63c", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "997e8328841846179a91993d5cf38ed0", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -4736.0, + "y": 191.0, + "width": 180.0, + "height": 179.0 + } + }, + "m_Slots": [ + { + "m_Id": "5972f067e21e4ab889a21355f17528ca" + }, + { + "m_Id": "96eb7d5e950c4fa6854c754fb67b3749" + }, + { + "m_Id": "9b4bade737d34ce48203cf744cf31fcd" + }, + { + "m_Id": "f01902599f7d485ba6198b85b499241f" + }, + { + "m_Id": "06717ed7283a4985aeea3d20f680fe7c" + }, + { + "m_Id": "9c3a9c7201ed4bc9a20dba85ba28aeb4" + }, + { + "m_Id": "32ecfc41659b4f998c24d0465c0f1ae9" + }, + { + "m_Id": "09c13df6e4c743ab96305d6ff1b39bf3" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "99da357fdd154092b6ca6f9cbad1c2a5", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "99fb9180586149d19748586b68ee3dfa", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ExponentialNode", + "m_ObjectId": "9a8724a4de464cd5b4b9dfdd98357462", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Exponential", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2597.000244140625, + "y": -1740.0001220703125, + "width": 145.0, + "height": 129.0 + } + }, + "m_Slots": [ + { + "m_Id": "b72c2719942248a9a9fdc5cc10b258ef" + }, + { + "m_Id": "585273f45b1e454badcf1af22f63b7bf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ExponentialBase": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9a893553a83d43fbb43522c52358a926", + "m_Id": 2, + "m_DisplayName": "Cosine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Cosine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9aa1b9b01d9f46c0a64ad999eb9317a0", + "m_Id": 2, + "m_DisplayName": "Power", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Power", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9ae504800d654f8fb1bbc4d5d9077859", + "m_Id": 3, + "m_DisplayName": "Delta Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Delta Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9b2b22a6c9ad4994b8ced152d1f6ccd9", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b4bade737d34ce48203cf744cf31fcd", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NegateNode", + "m_ObjectId": "9b4baef0abe44165b8aa39a051b02a4a", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Negate", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3783.0, + "y": -439.0000305175781, + "width": 132.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "6170a8a395c1400e8965423ed0b25122" + }, + { + "m_Id": "879b9e35342243ba83d86c96534f8bdb" + } + ], + "synonyms": [ + "invert", + "opposite" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b76d8f66f474df2a76a2ad5e6118f6f", + "m_Id": 1, + "m_DisplayName": "Scale", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Scale", + "m_StageCapability": 3, + "m_Value": 8.0, + "m_DefaultValue": 10.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b8537efd66d4217ae7fbd56c26fa63b", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9bdb35fd0c994cb6b8f6a8d57f1868b3", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "9c262ac03f9748f3a6ebe4ae8831fcab", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 4.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "9c3a9c7201ed4bc9a20dba85ba28aeb4", + "m_Id": 1, + "m_DisplayName": "Texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "m_DefaultType": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "9dc4257d98d4432daed87f25ab031c1f", + "m_Title": "Water Depth Color", + "m_Position": { + "x": -1801.9998779296875, + "y": -826.9998779296875 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.GradientNoiseNode", + "m_ObjectId": "9e4c2ea2021c40788a92fdfaa6b22d6e", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Gradient Noise", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2368.000244140625, + "y": -1673.0001220703125, + "width": 147.000244140625, + "height": 153.0 + } + }, + "m_Slots": [ + { + "m_Id": "523c9b9bc1cc40089a83a3249028b5ac" + }, + { + "m_Id": "9b76d8f66f474df2a76a2ad5e6118f6f" + }, + { + "m_Id": "aa7f32fe77d74e26a0969685cfd4aec2" + } + ], + "synonyms": [ + "perlin noise" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9f3afc6dd6044d17addb6db3107e16ab", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "9f8ba8f68a994bf397e5ee71fc3d6994", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3611.000244140625, + "y": -2129.000244140625, + "width": 120.0, + "height": 149.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "dbaa49a9dde8461f95a19e2010547649" + }, + { + "m_Id": "1f336a38347c431ea34c8d4ff036212f" + }, + { + "m_Id": "7f91fe99b8484a889fc9b3cf31626aa4" + }, + { + "m_Id": "6ac97faa845b421dbc3d80946ddbb7f5" + }, + { + "m_Id": "36e95fc7a50946beab0c406e83815dd6" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "a197c2012ae84df5937f977492f598b9", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "a1a0f2a2d30e4b5d852ffb5db7f93373", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -82.00003051757813, + "y": 1150.0, + "width": 55.99993133544922, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "395952be136748d784f93ebfb232dfe9" + }, + { + "m_Id": "7d404395fc7e40c9aabb9ca6d1aa5020" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a22f2b9f09154924ac25e733dde69356", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a2c419b593bc4920bd21daa775a88bd1", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2056.0, + "y": 430.9999694824219, + "width": 170.0001220703125, + "height": 34.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "4f714e19f1864c1f926c00c8a3f4703f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "092a94db96014fdb8aac781d38998e2d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a31d3f6a2b1a48488eeb697bab3431f8", + "m_Id": 2, + "m_DisplayName": "Max", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Max", + "m_StageCapability": 3, + "m_Value": { + "x": 0.6499999761581421, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a335d03ca6654a55ac48d969c29e952d", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "a38fbc6a27bc48ee85f0623942ebe855", + "m_ActiveSubTarget": { + "m_Id": "e1dd906e907541e0a83866cc95d83eb5" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 1, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a3a4008f7b52402f91d84806bc6f3565", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 2.0, + "y": 2.0, + "z": 2.0, + "w": 2.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a458a1c466944ace8fb51381217f2b78", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ExponentialNode", + "m_ObjectId": "a47839886ea74f1880f1ec683bd1e17a", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Exponential", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2496.0, + "y": -670.0, + "width": 145.0, + "height": 129.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "81e141fa330e4e12a61c34422169c870" + }, + { + "m_Id": "bc9f547d00884863813329bae2f1ac7b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ExponentialBase": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a54fccd5e9cf48b582798ac06fb7fc94", + "m_Id": 0, + "m_DisplayName": "Horizon Factor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TimeNode", + "m_ObjectId": "a56203d0f78a4b96bf981691b0ae15b1", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Time", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5325.0, + "y": 700.0, + "width": 79.0, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "bd7a48a0428d4c23bdaeacc58e74d025" + }, + { + "m_Id": "245ffc0d9c0d4ebcb6d062858d5e2f39" + }, + { + "m_Id": "91b89b23fe244ce0afda1ed347c1584f" + }, + { + "m_Id": "b655740f6e154f7ea070fdc26717d9ce" + }, + { + "m_Id": "69a5710a06024936923d74e3eff7fdc6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "a56ea228710a49b3bef53ed0a6ae5cab", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a5988f15c7ca4198b5085bc7a126c2e1", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionMaterialSlot", + "m_ObjectId": "a6ada3f2c6804c39b00b7e6a21818b34", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [], + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "a755c74d09eb4c93b09077e2b9cfd424", + "m_Guid": { + "m_GuidSerialized": "588db9eb-0342-46be-ba7b-5f619111eeb6" + }, + "m_Name": "Deep Water Tint", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Deep Water Tint", + "m_DefaultReferenceName": "_Deep_Water_Tint", + "m_OverrideReferenceName": "_DeepWaterTint", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.13456745445728303, + "g": 0.16732794046401978, + "b": 0.4528301954269409, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a8597dfcf5b2416c9204b0ae186a88bf", + "m_Id": 0, + "m_DisplayName": "Foam Width", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "a92af01d3d904a57aeeba899c92eee0a", + "m_Title": "Refraction", + "m_Position": { + "x": -2560.999755859375, + "y": 27.999958038330079 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a9736d578f664c31835305e940697747", + "m_Id": 0, + "m_DisplayName": "Wave A Scale & Speed", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a9b297fa2c3946e3923676a61d91b72c", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1812.000244140625, + "y": 1284.0, + "width": 153.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "be2218e69e3041e0865960f7e9614693" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "d7449140046f4ccd811cd9c22ec7f45e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "a9c6c0abd3d5493a8cd311487811a995", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "aa4cfb9c81b0483e83cd7254c8fc113e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1039.0001220703125, + "y": -323.0, + "width": 130.00006103515626, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "d2f80f6328b74ce2b4d1bf508fcbc850" + }, + { + "m_Id": "0c29130a0bca4483893059a0290a196d" + }, + { + "m_Id": "563b864600284ea192e3bfd2845991b4" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "aa7f32fe77d74e26a0969685cfd4aec2", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "ab1e1fa89ff34861a8b76a38b5d17d71", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ab4b4314e42446f7870cb9913327bbb0", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "abf45770a5d94f5b82a2fbf25072a32c", + "m_Group": { + "m_Id": "3156ab2c2d724a62a510c1e8eaad6a08" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2014.0, + "y": -224.0, + "width": 152.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "beec55b658614d84a6c35f0f12e10d27" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c81ee39395ef4e4ebcc3691755510c4c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CombineNode", + "m_ObjectId": "acf4df297f254147a3125ad2035dc7de", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Combine", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5371.0, + "y": 953.0000610351563, + "width": 125.0, + "height": 117.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "e24a5e2cdd234e76895fd7ebb0f92da1" + }, + { + "m_Id": "90ea39b08f964381b9d233ec81765909" + }, + { + "m_Id": "de2431f62fac4570b4042bb1e6461fa8" + }, + { + "m_Id": "611b012da7ec488ead52811511b73a19" + }, + { + "m_Id": "be3cf9e15e0549bc82b638c8cb672b38" + }, + { + "m_Id": "ab1e1fa89ff34861a8b76a38b5d17d71" + }, + { + "m_Id": "f379948f8d324f8fb5e6870c87e7f1a3" + } + ], + "synonyms": [ + "append" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "acf8cb8241f14da680d5067f529c48cd", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "ad77babd3d794e9eb8d9025d467e19c5", + "m_Id": 0, + "m_DisplayName": "Edge1", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Edge1", + "m_StageCapability": 3, + "m_Value": { + "x": 0.15800000727176667, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "aeaafd1bb48649a0a9640c0ba1f10e6c", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "aed36b1e98f44a0ab507c14ab235bb4f", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "af49110fe38142ac81a45b575634d9ff", + "m_Id": 4, + "m_DisplayName": "Far Plane", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Far Plane", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "b08ba6bcb9e74c2f87d329e2741ba6aa", + "m_Name": "Water Appearance", + "m_ChildObjectList": [ + { + "m_Id": "c81ee39395ef4e4ebcc3691755510c4c" + }, + { + "m_Id": "faf60c9e519a48298831750fe16e084e" + }, + { + "m_Id": "d789035d6b144212a857edeae8d47067" + }, + { + "m_Id": "20678c07e27e42d0aa5cb5967f3f7be0" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b10d1e8217d248739766a2ccd4b40d40", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b113620dc25c4d58adcfd6a8fef64966", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b16d636e1c7f4b20b1f1c6d19ca4561d", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b21086a64f294a9d90d86408fe7ef671", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.25, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b36aea0e6f5544be87fd31698de13437", + "m_Id": 5, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalStrengthNode", + "m_ObjectId": "b3716eaf151a485bba9d51b0b37ea225", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Normal Strength", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -363.0000305175781, + "y": 221.0, + "width": 166.00001525878907, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "f086d97527af48b0a96c58775a966972" + }, + { + "m_Id": "dd7b6a5bea7f4920a618e496e4f59511" + }, + { + "m_Id": "587738d557de4d81ad91790678d2a5c0" + } + ], + "synonyms": [ + "intensity" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.StepNode", + "m_ObjectId": "b395edaf71074e8c931249b7d9e86473", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Step", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2031.0001220703125, + "y": -1694.0001220703125, + "width": 145.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "5b2cbc2d43154b9e8a5e98e1d87e4476" + }, + { + "m_Id": "57cbb4f3cc4745dfae4564463d2c9fca" + }, + { + "m_Id": "d17880a3d21542adb9e4c0de5b421d1a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "b4aecc5cfbbb4c568884a4530295e15a", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1630.0001220703125, + "y": -2042.0001220703125, + "width": 125.9998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "988aabedcf0d41329560403714a6a63c" + }, + { + "m_Id": "6ff9689e11f3494ea0dac5027bf7733b" + }, + { + "m_Id": "4d544f9e781944ddae989ee4d5507452" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "b5810e2d6c734de696e120ce8e0d6319", + "m_Id": 0, + "m_DisplayName": "Specular Color", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "b595874739a74b25889e09ed1fe9cc0d", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4950.0, + "y": 582.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "3c8ac556e10e48c89615af9589b1d015" + }, + { + "m_Id": "b60c88433aa644a6bf03f7f970b5f932" + }, + { + "m_Id": "430627f866894b06abb3b7d7998989cf" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ComparisonNode", + "m_ObjectId": "b59ab25e0b4b4a70b1117f1294a9de04", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Comparison", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2155.0, + "y": -895.0000610351563, + "width": 145.0, + "height": 136.0 + } + }, + "m_Slots": [ + { + "m_Id": "f20daeeedfa149f4811101d393ead658" + }, + { + "m_Id": "7d4049828ae84855b7da0efbcb9e7d3c" + }, + { + "m_Id": "f7318bfd056c49f8b5e35c747a65b2f6" + } + ], + "synonyms": [ + "equal", + "greater than", + "less than" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ComparisonType": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b60c88433aa644a6bf03f7f970b5f932", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b655740f6e154f7ea070fdc26717d9ce", + "m_Id": 3, + "m_DisplayName": "Delta Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Delta Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "b6588e6c4f7a41e4a45ed945022f0ee9", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b716da831322453d89865e8222c397b5", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b723d8e870c34ca9b83a0ab4b7f0d377", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3007.000244140625, + "y": 1391.0001220703125, + "width": 110.0, + "height": 33.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "6ee140ad301143d39d67feb58bf4f7ff" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "ca5bef9ef4134b97bb62b06ed333d1a0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b72c2719942248a9a9fdc5cc10b258ef", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SaturateNode", + "m_ObjectId": "b7a1f82a553f43c683c413edc8fbddd5", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Saturate", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2418.000244140625, + "y": -2042.0001220703125, + "width": 128.000244140625, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "01f4ab38c10740279a2d60fdee3e9226" + }, + { + "m_Id": "7dc83221852b4157b7a9c41ff61bcb40" + } + ], + "synonyms": [ + "clamp" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b84c22964452426c971888e362e83cdc", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "b88f28bba9a24d51baf22ffd701e48be", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3140.0, + "y": -2333.000244140625, + "width": 129.999755859375, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "894a98dcff0149508e5e7fbcd34e56a1" + }, + { + "m_Id": "5824596bd6cf472f8aea5b0ea6904af9" + }, + { + "m_Id": "de495f6dd6e5414aa04f7c203855b4bc" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b895fe7ce41b4424a4d97f52652062f0", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 3.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "b8a74bc306e34f87bac4b94dcc11009e", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1575.9998779296875, + "y": 523.0, + "width": 126.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "025c0845c17449fa97159abf2a980232" + }, + { + "m_Id": "b21086a64f294a9d90d86408fe7ef671" + }, + { + "m_Id": "72ba4ebc48ee42839cdee14dbcba61b4" + }, + { + "m_Id": "f25720d06e6243c2bd4db0c3422b6eb3" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "ba78a876ec3c449386148b3a82c094c1", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5102.0, + "y": 668.0000610351563, + "width": 130.0, + "height": 117.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "8a4a868972e042a6b9075a8ec1389d84" + }, + { + "m_Id": "1f678a242488489b92c1fa6b81cf2533" + }, + { + "m_Id": "80beff92d99b444892ec419cb6d47dc1" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "ba8a9205db9c4c82a195492a100d3528", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5573.0, + "y": 519.0, + "width": 120.0, + "height": 149.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "9626d5a1dc54402cb32a153a7ec031aa" + }, + { + "m_Id": "c05b4acc34e7438682b511acbbc90b3f" + }, + { + "m_Id": "6d287e4650774d158832065f8675bca2" + }, + { + "m_Id": "6a56f349dff44a6bb27e7f51e9c4b7b8" + }, + { + "m_Id": "8227b27585c74302abba72f1518d3bfc" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "badd18ece13b4d54a695d2435181c8ac", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "bb44c142dace4a89914e6478bd055e0f", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bb9fbb871c964bdaa83728c06566707e", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "bc870e5dfd234fbf89bbc4945eb5fb96", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "bc9f547d00884863813329bae2f1ac7b", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "bca9c177d2954cf593513612b543d146", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bcc453f7f2a6466bae47fad10bdea465", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionMaterialSlot", + "m_ObjectId": "bd42296308444f4d93e01db690385d1b", + "m_Id": 1, + "m_DisplayName": "View Dir", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "ViewDir", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bd7a48a0428d4c23bdaeacc58e74d025", + "m_Id": 0, + "m_DisplayName": "Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.LerpNode", + "m_ObjectId": "bd819d117d82468ea5858a73a478cfcc", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Lerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1985.0001220703125, + "y": 1301.0001220703125, + "width": 126.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "3705ab21fb1e4732b33d2cbf5927ddda" + }, + { + "m_Id": "6ed24dbff7e549a6b3fa512937922d7b" + }, + { + "m_Id": "2049a8124eec45779b1181f0b026ede9" + }, + { + "m_Id": "3be53f1dfe354924a209781fad68c9ff" + } + ], + "synonyms": [ + "mix", + "blend", + "linear interpolate" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "bda77cf22ef9400a89bae20eb1c9f732", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1705.9998779296875, + "y": 235.99998474121095, + "width": 130.0, + "height": 117.99995422363281 + } + }, + "m_Slots": [ + { + "m_Id": "6841b7859f72462c8f9682ef1fc4e228" + }, + { + "m_Id": "2a8b516492894f6790e123dbb86636cd" + }, + { + "m_Id": "86b66ec0b1a34a7fa3e1aa78d1e4c6d6" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "bdd0fa3f47aa4c7ca03fc119586dc071", + "m_Title": "Reflections", + "m_Position": { + "x": -3032.000244140625, + "y": 1019.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "be2218e69e3041e0865960f7e9614693", + "m_Id": 0, + "m_DisplayName": "Reflection Tint", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "be3cf9e15e0549bc82b638c8cb672b38", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "be8b2b8eeaac4d95b23632b2175f432a", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "beec55b658614d84a6c35f0f12e10d27", + "m_Id": 0, + "m_DisplayName": "Horizon Factor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "bf1ac9900d594cb2a8aec870b2ce2767", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3001.0, + "y": -667.0000610351563, + "width": 120.0, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "2d0e0617fc8a4a00a7ce3d3d4e7fe697" + }, + { + "m_Id": "aed36b1e98f44a0ab507c14ab235bb4f" + }, + { + "m_Id": "bb9fbb871c964bdaa83728c06566707e" + }, + { + "m_Id": "65348a14fc7a44b2af1b757c7f629a79" + }, + { + "m_Id": "dfb32e2ae1614318aa901201422c9415" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "bfe0f045dbb444509b1651ed3581615b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c05b4acc34e7438682b511acbbc90b3f", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c0df4687c8e44622a2dc260b913ed38d", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2824.0, + "y": -524.0, + "width": 143.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "c2a47df553ae47a4b4d993db5d264867" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "faf60c9e519a48298831750fe16e084e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "c0fadcad94a84edb9276818d04d2e3de", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2988.000244140625, + "y": -2066.000244140625, + "width": 130.0, + "height": 118.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "6e21824f683e4a1fb9a67c0cfabfe7dc" + }, + { + "m_Id": "111eadec82ad4f74ae1d94c5b0599725" + }, + { + "m_Id": "6160e38f027c4de9bfa765b07506a908" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "c2097f14df7643caad41833132fcc88e", + "m_Group": { + "m_Id": "9dc4257d98d4432daed87f25ab031c1f" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1756.0, + "y": -767.9999389648438, + "width": 162.0001220703125, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "40c991cf19e340bc8e2f6b1f12ae8683" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "a755c74d09eb4c93b09077e2b9cfd424" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c2a47df553ae47a4b4d993db5d264867", + "m_Id": 0, + "m_DisplayName": "Water Clarity", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DivideNode", + "m_ObjectId": "c2f152f3aada41d19f28d8644f2fecf0", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Divide", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2681.0, + "y": -670.0, + "width": 126.0, + "height": 117.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "f52f35ffc71649249c28ade6411e43de" + }, + { + "m_Id": "884cbc4bebdc4486afee91998e3c9fe4" + }, + { + "m_Id": "be8b2b8eeaac4d95b23632b2175f432a" + } + ], + "synonyms": [ + "division", + "divided by" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c353af162c1e445195c31d155ae33761", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bfe0f045dbb444509b1651ed3581615b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c383454229b1499ab856d6e46b68e69a", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c3f677c674cb4519b6009f7a9c355fd2", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "c5a01b635c12448fb34ba40af0115ad6", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -5536.0, + "y": 315.0, + "width": 119.0, + "height": 101.0 + } + }, + "m_Slots": [ + { + "m_Id": "6014d535c2af469ba11ec00a2443475a" + }, + { + "m_Id": "f211769f66204979981e79f1503d4695" + }, + { + "m_Id": "7b5929d68cb04c7da8cdf34ec630c93b" + }, + { + "m_Id": "c608e0bfdbda46c690bcb0c080690f72" + }, + { + "m_Id": "8e8c02e03f1846f09797468ec7eaa108" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c608e0bfdbda46c690bcb0c080690f72", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "c6776dad82ec47b4a690697744148682", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "c75d9ba7033f481886bf3fc94a4e8f19", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "c7a0d9ec134840cd8ee014c71e68a3f7", + "m_Id": 0, + "m_DisplayName": "Foam Scale & Speed", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "c81ee39395ef4e4ebcc3691755510c4c", + "m_Guid": { + "m_GuidSerialized": "fd2675cf-d62e-4245-84d5-29f044c4834f" + }, + "m_Name": "Horizon Factor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Horizon Factor", + "m_DefaultReferenceName": "_Horizon_Factor", + "m_OverrideReferenceName": "_HorizonFactor", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.05000000074505806, + "y": 4.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "c852a003b569419c9fd9b016fe3bb3e3", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c9780ca44fd8422d9eb41ff31989bfdb", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "c9c868abd9954071ac13cce7a02d53d5", + "m_Guid": { + "m_GuidSerialized": "8dd6a6f5-4080-4bc5-b1b1-521ccd33f785" + }, + "m_Name": "Shallow Water Tint", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Shallow Water Tint", + "m_DefaultReferenceName": "_Shallow_Water_Tint", + "m_OverrideReferenceName": "_ShallowWaterTint", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.5279903411865234, + "g": 0.9905660152435303, + "b": 0.940301239490509, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c9ca725074fd46789e286852739b29a2", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "ca5bef9ef4134b97bb62b06ed333d1a0", + "m_Guid": { + "m_GuidSerialized": "d25e3cc8-611e-42f0-9ea9-c2083db64392" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "cb0b117bcfe849f4b1f5a95f7f338289", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "070b6e2ae321492399119fcc45ac9525" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SceneColorNode", + "m_ObjectId": "cd06689346b146e1bc97f3194e4c591a", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Scene Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2064.999755859375, + "y": 95.00003051757813, + "width": 137.999755859375, + "height": 76.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "a6ada3f2c6804c39b00b7e6a21818b34" + }, + { + "m_Id": "52684a1a5b744657b0e7f1b497839da2" + } + ], + "synonyms": [ + "screen buffer" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DivideNode", + "m_ObjectId": "cd357e0435f0475ca2b0d50b7bfe429f", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Divide", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3628.0, + "y": -379.0, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "6ea812530ea5461cb7944d44f2132cb7" + }, + { + "m_Id": "a3a4008f7b52402f91d84806bc6f3565" + }, + { + "m_Id": "97fc415650c14fb58a97c752fb56abb5" + } + ], + "synonyms": [ + "division", + "divided by" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "cd94a1d470f74874ae84a67e29a7dfdd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "cea8df942ccf4e3691e5be4b2fa749b3", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2597.000244140625, + "y": -1917.0001220703125, + "width": 130.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "143477609d5d4d7b8b55d13af03f644b" + }, + { + "m_Id": "f7324c2173334fee9545b78a30577ce8" + }, + { + "m_Id": "c9ca725074fd46789e286852739b29a2" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "cff24860eb27423dbee007add85f8591", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d081206542a24c21bc277352be8ad859", + "m_Id": 1, + "m_DisplayName": "Blend", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Blend", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d0f0386130454960b33cb6765170d15c", + "m_Id": 4, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "d10f2e2c46c849ea9075e10d08889f29", + "m_Guid": { + "m_GuidSerialized": "dc76e238-292b-4c3f-a29a-e7c39edfc62d" + }, + "m_Name": "Waves Pattern", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Waves Pattern", + "m_DefaultReferenceName": "_Waves_Pattern", + "m_OverrideReferenceName": "_WavesPattern", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d142221bd058485da393257543cb99af", + "m_Id": 3, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d17880a3d21542adb9e4c0de5b421d1a", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "d1daa357d2234a8cb8e7e9a946524398", + "m_Id": 0, + "m_DisplayName": "Shallow Water Tint", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d20ad8785f3a4d6b9b11772f806d9d89", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "d2a3745a45a74d63b33bed91ac1c7ad8", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1575.9998779296875, + "y": 361.9999694824219, + "width": 129.9998779296875, + "height": 118.00003051757813 + } + }, + "m_Slots": [ + { + "m_Id": "2b6a3443996d4921b7244377512664c3" + }, + { + "m_Id": "970ccd04cb80483dae1deed42e5fd694" + }, + { + "m_Id": "fbbbc3741f004d59a1398e50bed6abec" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d2f80f6328b74ce2b4d1bf508fcbc850", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalBlendNode", + "m_ObjectId": "d398306515884633bfdcaea08e9afae6", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Normal Blend", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4537.0, + "y": 414.0, + "width": 145.0, + "height": 153.0 + } + }, + "m_Slots": [ + { + "m_Id": "5d4b38a5f93f47428395528949c37673" + }, + { + "m_Id": "fae16301956747529a3a6c4d4c2a5f67" + }, + { + "m_Id": "bb44c142dace4a89914e6478bd055e0f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_BlendMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d3cc43dcf65e4dc6a9bc85310c734856", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d40d530a3ba24dc79b897de2f58895ff", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d60ec7f7bf174195b65add21af1dbc28", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", + "m_ObjectId": "d6a65deb66d74002bace5e5867cb9855", + "m_Guid": { + "m_GuidSerialized": "87705a1b-b9e3-4749-888f-e97a82ffd501" + }, + "m_Name": "Wave A Scale & Speed", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Wave A Scale & Speed", + "m_DefaultReferenceName": "_Wave_A_Scale_Speed", + "m_OverrideReferenceName": "_WaveAScaleSpeed", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 0.10000000149011612, + "w": 0.10000000149011612 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "d6c03c887bc44244ab1128b0bbf38b14", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "d6d378078fad46b0846825488b60ab4b", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3140.0, + "y": -1980.0001220703125, + "width": 129.999755859375, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "47e6214d07bc47dab54f782fd1baa16f" + }, + { + "m_Id": "c75d9ba7033f481886bf3fc94a4e8f19" + }, + { + "m_Id": "95d576222180426ea4498e0b22b12bca" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "d7449140046f4ccd811cd9c22ec7f45e", + "m_Guid": { + "m_GuidSerialized": "f150c9dd-a4d7-477f-a696-f45b67377e93" + }, + "m_Name": "Reflection Tint", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Reflection Tint", + "m_DefaultReferenceName": "_Reflection_Tint", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "d789035d6b144212a857edeae8d47067", + "m_Guid": { + "m_GuidSerialized": "c14ba1d9-f7f9-4ac8-b6f0-8346538cfdbe" + }, + "m_Name": "Smoothness", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Smoothness", + "m_DefaultReferenceName": "_Smoothness", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "d7e4571b5a744413afe188b965ef74ac", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "d925c1369fe44880bac1821f3f837d7e", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d94206f98a284c01a40db09ade2b708d", + "m_Id": 0, + "m_DisplayName": "Waves Distortion", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PowerNode", + "m_ObjectId": "d955806d32e8483096d6cd9b69cd8e96", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Power", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2198.999755859375, + "y": 151.99998474121095, + "width": 125.999755859375, + "height": 117.99995422363281 + } + }, + "m_Slots": [ + { + "m_Id": "09db3af2255b4d199c2ffe19bc9f594a" + }, + { + "m_Id": "9c262ac03f9748f3a6ebe4ae8831fcab" + }, + { + "m_Id": "0059efc64c9e407aacc4a7aedd35e321" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "da547753bf18427ba0ef0c79e5bf344f", + "m_Id": 1, + "m_DisplayName": "Min", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Min", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dad86e6530874f3fa731f7fc0ae474c4", + "m_Id": 2, + "m_DisplayName": "Power", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Power", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "dbaa49a9dde8461f95a19e2010547649", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "dc0508d85fda44e9a5219422bee6cac2", + "m_Title": "Waves Distortion", + "m_Position": { + "x": -5811.0, + "y": 131.99998474121095 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dd7b6a5bea7f4920a618e496e4f59511", + "m_Id": 1, + "m_DisplayName": "Strength", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Strength", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "de2431f62fac4570b4042bb1e6461fa8", + "m_Id": 2, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "de495f6dd6e5414aa04f7c203855b4bc", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "df8dbf6918834de2b493a588c0795903", + "m_Id": 3, + "m_DisplayName": "World Space Position", + "m_SlotType": 0, + "m_Hidden": true, + "m_ShaderOutputName": "WorldSpacePosition", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "dfb32e2ae1614318aa901201422c9415", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e086f04cb985482ea9291385a563364c", + "m_Id": 7, + "m_DisplayName": "Height", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Height", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "e11241f4f9194a90b072c7c61a5fc38d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4056.999755859375, + "y": 446.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "1b34730f53214acaac14280e47dd8fa0" + }, + { + "m_Id": "6614f1afe59f4f3b86ef67f0fcdd0836" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e161e902d4624c4db4b1d157d4c0969a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "75279338ea9a4deaaba8e7d0aa86737e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e166dc20392e4ccf9d1ffc6bd88a4466", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "e1841b95fcf94c91bda595885df07964", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "e1dd906e907541e0a83866cc95d83eb5", + "m_WorkflowMode": 0, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e1ddae6dd06242df93a1f8851c956732", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "79780bff51184f07a9ca7e28ac86db00" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e20909c32eed478bb65eaf4fcd57cdf4", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "e235a48542b743f89356b3b19612a493", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -1732.9998779296875, + "y": 387.9999694824219, + "width": 118.9998779296875, + "height": 77.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "512694d3ce4649e49bc78c9721e33fba" + }, + { + "m_Id": "7155799e44464793a08f38f2ae8561f6" + }, + { + "m_Id": "19c61f1fffb3417eb2c3b4ad6986dc98" + }, + { + "m_Id": "8a55822d678346649360d3e89e41f341" + }, + { + "m_Id": "2aff360139524d589ed0e9a388f50d0c" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e24a5e2cdd234e76895fd7ebb0f92da1", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", + "m_ObjectId": "e26243891aa443dd8421f7f0746c4820", + "m_Guid": { + "m_GuidSerialized": "ec743e5b-235b-4e89-bc66-f29632a6de76" + }, + "m_Name": "Foam Scale & Speed", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Foam Scale & Speed", + "m_DefaultReferenceName": "_Foam_Scale_Speed", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 0.10000000149011612, + "w": 0.10000000149011612 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "e28229fb5aad4eeeae76d4ff6649d6e8", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "e3ca893c81884f1a81afedfdce40fe45", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "e415f8c00cce4c32b4015ff0359ebf53", + "m_Guid": { + "m_GuidSerialized": "8e55b6e3-968e-4f7b-868c-17602f0e07ee" + }, + "m_Name": "Reflection Tex", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Reflection Tex", + "m_DefaultReferenceName": "_Reflection_Tex", + "m_OverrideReferenceName": "_ReflectionTex", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "e420213da4ea47a6993965e9f8df99d6", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5573.0, + "y": 1014.0, + "width": 120.0, + "height": 149.0001220703125 + } + }, + "m_Slots": [ + { + "m_Id": "7f1456ef4c8a49558ccc74ea685a878f" + }, + { + "m_Id": "d40d530a3ba24dc79b897de2f58895ff" + }, + { + "m_Id": "6fb2adb613934a7ebbd3199111ddd9cf" + }, + { + "m_Id": "f13225266b1347f8b7fafe52f5b0db70" + }, + { + "m_Id": "9b8537efd66d4217ae7fbd56c26fa63b" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DivideNode", + "m_ObjectId": "e55df89b916443c7914275c0c7454eb8", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Divide", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2744.000244140625, + "y": -1740.0001220703125, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "2212a7b2c5e641cb9837c3836ea151c4" + }, + { + "m_Id": "4e2463b9fd334080893d243a3a569db4" + }, + { + "m_Id": "3cf23e732916457c8ca7d7a7bf39f4fd" + } + ], + "synonyms": [ + "division", + "divided by" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "e57ffda00edd4104a436db0aeed0bb43", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -3320.0, + "y": -299.0, + "width": 130.0, + "height": 117.99995422363281 + } + }, + "m_Slots": [ + { + "m_Id": "3e35fc54dd174fb18eb3d6ee870b054c" + }, + { + "m_Id": "3264cd47394642b98dc20cf01dfaeae4" + }, + { + "m_Id": "eb11b2789db34bf78058c67b2f48a6dd" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e618d88ff9c84b0d8f3b30d10673ff66", + "m_Id": 1, + "m_DisplayName": "Sine Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Sine Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e6317bc666e843eeb01fc451061ab28e", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", + "m_ObjectId": "e7885f7095c7437d91a4dfc924fc3d3d", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Sample Texture 2D", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -4736.0, + "y": 898.0, + "width": 180.0, + "height": 179.0 + } + }, + "m_Slots": [ + { + "m_Id": "7691fe98171d44c6aac1f91a1164c41e" + }, + { + "m_Id": "d0f0386130454960b33cb6765170d15c" + }, + { + "m_Id": "b36aea0e6f5544be87fd31698de13437" + }, + { + "m_Id": "1acbff5fcf204e61a712885a9dc31e9d" + }, + { + "m_Id": "7c1fe73f6b2148ae95aad2a13a6ce907" + }, + { + "m_Id": "7b17ac9e3ad34ddbaacabeb94df6a6d9" + }, + { + "m_Id": "94d5f7eab73c40578defc7b49eb5d316" + }, + { + "m_Id": "2eab2980e96c4e2ab96cb9a2096efd05" + } + ], + "synonyms": [ + "tex2d" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_TextureType": 1, + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "e79d4acf1aef4fd4b38aaf50487409fa", + "m_Group": { + "m_Id": "dc0508d85fda44e9a5219422bee6cac2" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -5102.0, + "y": 1163.0001220703125, + "width": 129.99951171875, + "height": 117.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "9695e6b123ae4135bac226407e58ef36" + }, + { + "m_Id": "0752910bf6dd45ea98c80b8a156f3c65" + }, + { + "m_Id": "537a73e9faef4cda9e6a56f741ccd348" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e84520b6b4d04a7d9f9d476defa38cb5", + "m_Id": 2, + "m_DisplayName": "Orthographic", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Orthographic", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "ea6d3145ec744f7bac7e5f07d0f12fb0", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2381.000244140625, + "y": 1490.0001220703125, + "width": 152.0, + "height": 33.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "a54fccd5e9cf48b582798ac06fb7fc94" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c81ee39395ef4e4ebcc3691755510c4c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "eb11b2789db34bf78058c67b2f48a6dd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ecb48519399a42b18c8bef56c090ad5b", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ede581f352424906924916eab32fa527", + "m_Id": 0, + "m_DisplayName": "Time", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Time", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eeab07648e5c4275a49d184c0c544c2e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "4a6778c409904eaf9fb0308ffc0e08a1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "ef2a13e8785f48229a15f483c05aced0", + "m_Name": "Water Colors", + "m_ChildObjectList": [ + { + "m_Id": "2d9ae5b7a1024c2b95b8d8b2347ce470" + }, + { + "m_Id": "c9c868abd9954071ac13cce7a02d53d5" + }, + { + "m_Id": "a755c74d09eb4c93b09077e2b9cfd424" + }, + { + "m_Id": "092a94db96014fdb8aac781d38998e2d" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "ef605e229dbe4e92b5f0a7e2d5364656", + "m_Id": 5, + "m_DisplayName": "RGB", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGB", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionNode", + "m_ObjectId": "efbc28cf501449b68df441857a9530c2", + "m_Group": { + "m_Id": "a92af01d3d904a57aeeba899c92eee0a" + }, + "m_Name": "Screen Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2535.999755859375, + "y": 171.99996948242188, + "width": 144.999755859375, + "height": 128.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "44d984c789834ee48622c8387741663e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "eff76c01f7aa4448b49b0673fb8ee66c", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f0112efff1ce4eb2ba1f113c09aceb2c", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f01902599f7d485ba6198b85b499241f", + "m_Id": 6, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f0549f9215664be399ceb9ed4b577167", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "f086d97527af48b0a96c58775a966972", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TimeNode", + "m_ObjectId": "f0ad02689f3242ef8e07d84a46cb554d", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Time", + "m_DrawState": { + "m_Expanded": false, + "m_Position": { + "serializedVersion": "2", + "x": -3363.000244140625, + "y": -1948.0001220703125, + "width": 79.0, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "ede581f352424906924916eab32fa527" + }, + { + "m_Id": "56c065f011a94da6a33b17675a9357f4" + }, + { + "m_Id": "9a893553a83d43fbb43522c52358a926" + }, + { + "m_Id": "9ae504800d654f8fb1bbc4d5d9077859" + }, + { + "m_Id": "912ae93d96c247a4975604d3034282ad" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f13225266b1347f8b7fafe52f5b0db70", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f140b1f99a8b46608f51ee3f5976a269", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "f1476acec9944d0fb8f2a67369ebbaed", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "58955b9f85e442e39446fe110289398d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f1959bbf752242e685b1262d6a500ab5", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f20daeeedfa149f4811101d393ead658", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f211769f66204979981e79f1503d4695", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f2170d9b86af4b63b58c15ca29c94911", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f25720d06e6243c2bd4db0c3422b6eb3", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f2633d631a624c6b9a86bbb4f2e61366", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "f379948f8d324f8fb5e6870c87e7f1a3", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f3d1f8a139e1433ab980a389f300fa94", + "m_Group": { + "m_Id": "9dc4257d98d4432daed87f25ab031c1f" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1776.9998779296875, + "y": -702.9999389648438, + "width": 174.9998779296875, + "height": 33.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "d1daa357d2234a8cb8e7e9a946524398" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "c9c868abd9954071ac13cce7a02d53d5" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "f492ad7101f14d988e586ce811c74a12", + "m_Id": 6, + "m_DisplayName": "RG", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RG", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f4fd7d4b4e004d7488a5355d82b0184e", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionMaterialSlot", + "m_ObjectId": "f52db73fa90c4a18ad1b8b506b8ee21c", + "m_Id": 1, + "m_DisplayName": "View Dir", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "ViewDir", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f52f35ffc71649249c28ade6411e43de", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f69a976d74824d74a92b2f2008cd7aca", + "m_Id": 1, + "m_DisplayName": "G", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "f7318bfd056c49f8b5e35c747a65b2f6", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f7324c2173334fee9545b78a30577ce8", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f7496446146544d99098d82a8cd51d43", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "f7b9317e7ec4416aafaeb49f6bedff4d", + "m_Id": 0, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f9cff00d926a44469b2dfe09baa40e45", + "m_Id": 0, + "m_DisplayName": "R", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "f9d0fe08498c4e2f96209cfda38aae35", + "m_Name": "Reflections", + "m_ChildObjectList": [ + { + "m_Id": "e415f8c00cce4c32b4015ff0359ebf53" + }, + { + "m_Id": "ca5bef9ef4134b97bb62b06ed333d1a0" + }, + { + "m_Id": "d7449140046f4ccd811cd9c22ec7f45e" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "fae16301956747529a3a6c4d4c2a5f67", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "fae45d1e8a68463a9aea8f7db9c94955", + "m_Id": 4, + "m_DisplayName": "RGBA", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "RGBA", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "faf60c9e519a48298831750fe16e084e", + "m_Guid": { + "m_GuidSerialized": "28c71c08-cd96-4c8f-944b-652316ecb74c" + }, + "m_Name": "Water Clarity", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Water Clarity", + "m_DefaultReferenceName": "_Water_Clarity", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 1, + "m_RangeValues": { + "x": 0.05000000074505806, + "y": 2.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SmoothstepNode", + "m_ObjectId": "fbb44f91713b41ca872220b819abb144", + "m_Group": { + "m_Id": "5a8402aa2d1746f7918f8ae03e1075ba" + }, + "m_Name": "Smoothstep", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1989.9998779296875, + "y": -1588.9998779296875, + "width": 207.9998779296875, + "height": 326.0 + } + }, + "m_Slots": [ + { + "m_Id": "ad77babd3d794e9eb8d9025d467e19c5" + }, + { + "m_Id": "9554c7bf61004c9683d1a818c29ef512" + }, + { + "m_Id": "191ba53c49df40eba301880ea6028c84" + }, + { + "m_Id": "0658bca96edc42db98a9941de56c7065" + } + ], + "synonyms": [ + "curve" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "fbbbc3741f004d59a1398e50bed6abec", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "fc36cc9d10d34bbaa3dbfb45f3c43972", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "fcd2df9a1ec647818ce406d3f8643c95", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "58affb62b2514fa8a25e4425f1a0fa17" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "fd6cbbcbc6a84fceab01d10c3f834cd5", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionMaterialSlot", + "m_ObjectId": "fd818076deef4f459218fac31b366d9c", + "m_Id": 1, + "m_DisplayName": "View Dir", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "ViewDir", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ViewVectorNode", + "m_ObjectId": "fdba8bc209144708828a3127aad8d76c", + "m_Group": { + "m_Id": "3b17456439394bdabce3c3c850c00361" + }, + "m_Name": "View Vector", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -4062.0, + "y": -439.0000305175781, + "width": 206.0, + "height": 131.0 + } + }, + "m_Slots": [ + { + "m_Id": "df8dbf6918834de2b493a588c0795903" + }, + { + "m_Id": "ff3d962339b14fcdac54e8d038c95699" + } + ], + "synonyms": [ + "eye vector" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "fe826471a64a4a689b59f4ce4513545e", + "m_Group": { + "m_Id": "bdd0fa3f47aa4c7ca03fc119586dc071" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2533.000244140625, + "y": 1078.0001220703125, + "width": 149.0, + "height": 33.9998779296875 + } + }, + "m_Slots": [ + { + "m_Id": "4c84f3feab60421aa0e6965da3956e9f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "e415f8c00cce4c32b4015ff0359ebf53" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "ff3d962339b14fcdac54e8d038c95699", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "ff7348bea7cf411cbef89b7aca0c5327", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "ffe3881a50334653a75f1298d507af9b", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph.meta new file mode 100644 index 000000000..55e5b552f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Lit Stylized.shadergraph.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: b641644f403551442a67fce72daba87b +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water + 2.0/Lit Stylized.shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat new file mode 100644 index 000000000..6dffb9143 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat @@ -0,0 +1,82 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Water_Lit Stylized + m_Shader: {fileID: -6465566751694194690, guid: b641644f403551442a67fce72daba87b, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - _EMISSION + m_LightmapFlags: 2 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _WavesPattern: + m_Texture: {fileID: 2800000, guid: 4910e02118dc64947b2b69b4b4dd3cef, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Depth_Obscurance: 0.375 + - _Foam_Width: 0.1284 + - _Horion_Factor: 2.27 + - _HorizonFactor: 4 + - _QueueControl: 0 + - _QueueOffset: 0 + - _Smoothness: 0.697 + - _Water_Clarity: 1.515 + - _Waves_Distortion: 0.01 + - _Waves_Strength: 0.859 + m_Colors: + - _DeepWaterTint: {r: 0, g: 0.19576842, b: 0.3882353, a: 1} + - _Foam_Color: {r: 1, g: 1, b: 1, a: 0.30588236} + - _Foam_Scale_Speed: {r: 0.8, g: 0.8, b: 0.15, a: -0.15} + - _HorizonSurfaceColor: {r: 0.3216002, g: 0.60829717, b: 0.9339623, a: 1} + - _MidWaterTint: {r: 0, g: 0.8028636, b: 1, a: 1} + - _Reflection_Tint: {r: 0.5506853, g: 0.74053293, b: 0.9339623, a: 1} + - _ShallowWaterTint: {r: 0, g: 0.5298376, b: 0.6509434, a: 1} + - _SpecularColor: {r: 0.27825737, g: 0.3254569, b: 0.3490566, a: 0} + - _UnderwaterColor: {r: 0, g: 0.7169812, b: 0.2347673, a: 1} + - _WaveAScaleSpeed: {r: 0.1, g: 0.1, b: 0.02, a: 0.02} + - _WaveBScaleSpeed: {r: 0.3, g: 0.3, b: -0.08, a: -0.15} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &2242960016620132992 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat.meta new file mode 100644 index 000000000..eb377b3a5 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water 2.0/Water_Lit Stylized.mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: eb2b1408b7042d949a6af7ecacfa705c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water + 2.0/Water_Lit Stylized.mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water.meta similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water.meta diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat similarity index 85% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat index 7418bb8ed..3bf991dd9 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat @@ -16,7 +16,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 + m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: - MOTIONVECTORS @@ -56,17 +56,17 @@ Material: m_Floats: - Vector1_DA47F82B: -0.03 - Vector1_EF8DA9C1: 0 - - _FoamWidth: 0.046 + - _FoamWidth: 0.24 - _QueueControl: 1 - _QueueOffset: 0 - - _Smoothness: 1 - - _WaterBottom: 8.91 - - _WaterClarity: -0.32 + - _Smoothness: 0.869 + - _WaterBottom: 15 + - _WaterClarity: 0 m_Colors: - - _FoamColor: {r: 0.6698113, g: 0.6698113, b: 0.6698113, a: 0.28235295} - - _FoamData: {r: 0.3, g: 0.3, b: 0.05, a: 0.15} - - _WaveData0: {r: 0.66, g: 0.66, b: 0.15, a: -0.15} - - _WaveData1: {r: 0.33, g: 0.33, b: -0.05, a: 0} + - _FoamColor: {r: 1, g: 1, b: 1, a: 0.9137255} + - _FoamData: {r: 0.5, g: 0.3, b: 0.01, a: 0.025} + - _WaveData0: {r: 0.25, g: 0.35, b: 0.05, a: -0.05} + - _WaveData1: {r: 1, g: 1, b: -0.25, a: 0.15} m_BuildTextureStacks: [] m_AllowLocking: 1 --- !u!114 &3584475704694036690 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta new file mode 100644 index 000000000..1f77bb628 --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Advanced).mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 44b41d44292d1cb40bb26fdfe69a0baa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader + Graphs_Water (Advanced).mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta new file mode 100644 index 000000000..a96ecdd9d --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (No Refraction).mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 26ab81578c6518349a6f7f16fe3451e6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader + Graphs_Water (No Refraction).mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat similarity index 100% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta new file mode 100644 index 000000000..9b0faa21f --- /dev/null +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader Graphs_Water (Simple).mat.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 02e2f473c4372f349a6981dd865e203a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Shader + Graphs_Water (Simple).mat + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph similarity index 98% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph index 6cad66525..25ff54589 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph @@ -38,6 +38,9 @@ }, { "m_Id": "665b9ce6ff39f18f9cd57cc3ee690959" + }, + { + "m_Id": "2c2b11c0534f4031971f498ec0ba1191" } ], "m_Keywords": [], @@ -350,6 +353,9 @@ }, { "m_Id": "9c0e3f20c33b4f9ab2490221b26ece9c" + }, + { + "m_Id": "f1f00fd8dc5c4cec9baa70e71a691b1a" } ], "m_GroupDatas": [ @@ -1788,6 +1794,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f1f00fd8dc5c4cec9baa70e71a691b1a" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a208305901dbbf8b83e62014e2c286e8" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1943,7 +1963,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Water", + "m_Path": "Planar Reflections/Universal RP/Water", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -2060,7 +2080,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2126,7 +2145,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2296,7 +2314,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2347,7 +2364,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2395,7 +2411,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2482,7 +2497,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2526,7 +2540,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2923,7 +2936,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3063,7 +3075,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3211,15 +3222,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -3512,7 +3521,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3548,7 +3556,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3588,7 +3595,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3979,7 +3985,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4061,7 +4066,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4180,15 +4184,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -4240,7 +4242,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4375,7 +4376,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4426,6 +4426,33 @@ ] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "2c2b11c0534f4031971f498ec0ba1191", + "m_Guid": { + "m_GuidSerialized": "d1c77712-a843-42e1-80b4-651415fc84b2" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -4509,7 +4536,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4606,15 +4632,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -4667,7 +4691,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4744,7 +4767,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4880,7 +4902,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4924,7 +4945,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5042,7 +5062,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5185,7 +5204,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5228,7 +5246,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5271,7 +5288,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5479,7 +5495,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5674,7 +5689,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5767,7 +5781,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5831,7 +5844,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5877,7 +5889,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5980,7 +5991,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -6017,7 +6027,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -6058,7 +6067,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6177,7 +6185,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6238,7 +6245,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6284,7 +6290,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6346,7 +6351,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6451,7 +6455,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6497,7 +6500,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6711,7 +6713,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6969,7 +6970,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7057,7 +7057,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7192,7 +7191,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7275,13 +7273,27 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "64da1c0f1a3d4c62b1cc8e96860a2c9e", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -7362,7 +7374,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7403,7 +7414,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7558,7 +7568,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7638,15 +7647,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -7675,7 +7682,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7685,6 +7691,21 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "6a73e781e8db470daced2d3654c31384", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -7863,7 +7884,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7906,7 +7926,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7973,7 +7992,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8016,7 +8034,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8103,7 +8120,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8212,7 +8228,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8245,7 +8260,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8333,7 +8347,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8372,7 +8385,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8489,7 +8501,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8511,7 +8522,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8594,7 +8604,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8664,7 +8673,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8895,7 +8903,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -8939,7 +8946,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8982,7 +8988,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9018,7 +9023,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "84024a26e2bb4ce79ea88a7bb935abc2", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "e39588377fea4f6a8c282d4cc26c96ac" }, @@ -9031,7 +9035,6 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -9072,7 +9075,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9284,7 +9286,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9414,7 +9415,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9575,7 +9575,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9594,10 +9593,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -3341.0, - "y": 1693.0, - "width": 181.0, - "height": 77.0 + "x": -3363.0, + "y": 1688.0001220703125, + "width": 216.0, + "height": 33.9998779296875 } }, "m_Slots": [ @@ -9608,7 +9607,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9689,7 +9687,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9842,7 +9839,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9901,7 +9897,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10138,7 +10133,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10204,7 +10198,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10281,7 +10274,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -10309,6 +10301,12 @@ } }, "m_Slots": [ + { + "m_Id": "f9106b15468f4be79ac530621d525433" + }, + { + "m_Id": "6a73e781e8db470daced2d3654c31384" + }, { "m_Id": "2e7e71b0cdb7d48ab6f75496b98d00d3" } @@ -10316,14 +10314,19 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", - "m_PropertyGuids": [], - "m_PropertyIds": [], + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] } @@ -10456,7 +10459,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10500,7 +10502,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10598,7 +10599,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10660,7 +10660,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10703,7 +10702,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10766,7 +10764,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10839,7 +10836,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10945,7 +10941,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10967,7 +10962,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11105,7 +11099,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11158,7 +11151,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11293,7 +11285,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11532,7 +11523,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11654,7 +11644,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11713,7 +11702,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11805,7 +11793,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11949,7 +11936,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11988,7 +11974,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12261,6 +12246,9 @@ }, { "m_Id": "665b9ce6ff39f18f9cd57cc3ee690959" + }, + { + "m_Id": "2c2b11c0534f4031971f498ec0ba1191" } ] } @@ -12834,7 +12822,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12881,7 +12868,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12977,7 +12963,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13111,8 +13096,7 @@ "m_ObjectId": "e39588377fea4f6a8c282d4cc26c96ac", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false } { @@ -13306,7 +13290,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13458,10 +13441,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -1655.0, - "y": 1332.0, - "width": 107.0, - "height": 77.0 + "x": -1709.0, + "y": 1365.0, + "width": 137.0, + "height": 34.0 } }, "m_Slots": [ @@ -13472,7 +13455,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13579,7 +13561,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13769,15 +13750,48 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f1f00fd8dc5c4cec9baa70e71a691b1a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -2418.0, + "y": -653.9999389648438, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "64da1c0f1a3d4c62b1cc8e96860a2c9e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2c2b11c0534f4031971f498ec0ba1191" + } } { @@ -13825,7 +13839,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -13893,7 +13906,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13987,7 +13999,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -14150,7 +14161,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14200,13 +14210,27 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f9106b15468f4be79ac530621d525433", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -14255,7 +14279,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14327,7 +14350,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14438,7 +14460,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta index 6f804b8b6..fdf9483bc 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Water (Advanced).shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water + (Advanced).shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph similarity index 98% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph index ec4486f19..5485afbbb 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph @@ -32,6 +32,9 @@ }, { "m_Id": "068f63abe1300387a02ee779c3f49919" + }, + { + "m_Id": "a0330fb84fd84ab0a5564e9a67a4c490" } ], "m_Keywords": [], @@ -293,6 +296,9 @@ }, { "m_Id": "f85a55efca124982b5bbb27eca2e3671" + }, + { + "m_Id": "2bd9587bd3944b3b832284e98b6801d1" } ], "m_GroupDatas": [ @@ -479,6 +485,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2bd9587bd3944b3b832284e98b6801d1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3dd263e14c3dac8fad27973831098684" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1600,7 +1620,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Water", + "m_Path": "Planar Reflections/Universal RP/Water", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -1693,7 +1713,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1853,7 +1872,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1925,7 +1943,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2012,7 +2029,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2093,7 +2109,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2513,6 +2528,9 @@ }, { "m_Id": "068f63abe1300387a02ee779c3f49919" + }, + { + "m_Id": "a0330fb84fd84ab0a5564e9a67a4c490" } ] } @@ -2543,7 +2561,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2715,15 +2732,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -2846,7 +2861,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2929,7 +2943,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2974,7 +2987,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3070,7 +3082,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3491,7 +3502,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3572,7 +3582,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3623,6 +3632,41 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2bd9587bd3944b3b832284e98b6801d1", + "m_Group": { + "m_Id": "1e4de29407bf4a549be4dfda7a3e4fa9" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1533.0, + "y": -887.0, + "width": 120.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "fd7ae6add7ef443b96106b96ef432e0e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "a0330fb84fd84ab0a5564e9a67a4c490" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -3737,15 +3781,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -3798,7 +3840,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3847,7 +3888,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3988,7 +4028,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4032,7 +4071,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4180,7 +4218,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4254,7 +4291,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4342,7 +4378,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4385,7 +4420,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4428,7 +4462,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4441,8 +4474,7 @@ "m_ObjectId": "3bc2057cf37c47ceb824326a0c69aef1", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false } { @@ -4622,7 +4654,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4666,6 +4697,12 @@ } }, "m_Slots": [ + { + "m_Id": "d45cbe519f644fe59f1f5291a40f6c89" + }, + { + "m_Id": "9b8c479b44764b15bc668135cc7f80ea" + }, { "m_Id": "c669c4b3c660e485ac53bc996268f291" } @@ -4673,14 +4710,19 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", - "m_PropertyGuids": [], - "m_PropertyIds": [], + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] } @@ -4855,7 +4897,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4948,7 +4989,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4988,7 +5028,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5091,7 +5130,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -5128,7 +5166,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -5231,7 +5268,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5302,7 +5338,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5364,7 +5399,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5469,7 +5503,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5515,7 +5548,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5537,7 +5569,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5758,7 +5789,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5816,7 +5846,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5977,7 +6006,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6041,7 +6069,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6214,7 +6241,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6260,7 +6286,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6340,7 +6365,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6483,7 +6507,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6563,15 +6586,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -6679,7 +6700,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6795,7 +6815,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6838,7 +6857,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6881,7 +6899,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6968,7 +6985,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7070,7 +7086,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7135,7 +7150,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7222,7 +7236,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7352,7 +7365,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7460,7 +7472,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7541,7 +7552,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7604,7 +7614,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7632,7 +7641,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7766,7 +7774,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7810,7 +7817,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7853,7 +7859,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7891,7 +7896,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7959,7 +7963,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8287,7 +8290,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8430,7 +8432,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8463,7 +8464,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8544,7 +8544,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8625,7 +8624,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8771,6 +8769,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b8c479b44764b15bc668135cc7f80ea", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", @@ -8818,6 +8831,33 @@ ] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "a0330fb84fd84ab0a5564e9a67a4c490", + "m_Guid": { + "m_GuidSerialized": "fa6e032a-ba5b-4f61-a81e-3c79fbca318c" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8863,7 +8903,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -9058,7 +9097,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9215,7 +9253,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9360,7 +9397,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9503,7 +9539,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9556,7 +9591,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9606,7 +9640,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9725,7 +9758,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9940,7 +9972,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10093,7 +10124,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10302,7 +10332,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10341,7 +10370,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10654,7 +10682,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10830,7 +10857,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "d43d73caf580408d98bf3f375720d05f", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "3bc2057cf37c47ceb824326a0c69aef1" }, @@ -10843,11 +10869,25 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d45cbe519f644fe59f1f5291a40f6c89", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11072,7 +11112,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11422,7 +11461,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11468,7 +11506,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11570,7 +11607,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11761,15 +11797,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -11849,7 +11883,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11882,7 +11915,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11977,7 +12009,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12066,7 +12097,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12141,7 +12171,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12189,7 +12218,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12244,7 +12272,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12311,7 +12338,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12319,6 +12345,21 @@ "m_SerializedDescriptor": "VertexDescription.Position" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fd7ae6add7ef443b96106b96ef432e0e", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta similarity index 52% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta index 687eaaf7f..228a1e1d9 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Water (No Refraction).shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water + (No Refraction).shadergraph + uploadId: 779751 diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph similarity index 97% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph index eb7ef3805..530c06178 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph @@ -20,6 +20,9 @@ }, { "m_Id": "ad6a0a3bd9d3b5869cbdd0eacc8fcc71" + }, + { + "m_Id": "1625a70cdcaa4677bc87f5e00be78cd6" } ], "m_Keywords": [], @@ -170,6 +173,9 @@ }, { "m_Id": "a4feb00be50c4e269bac1db4ad3cab44" + }, + { + "m_Id": "5f525b40992b4b63bae724943449fcb4" } ], "m_GroupDatas": [ @@ -420,6 +426,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5f525b40992b4b63bae724943449fcb4" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bedb297f83d1f480acdf926fd8835f5b" + }, + "m_SlotId": -1145327804 + } + }, { "m_OutputSlot": { "m_Node": { @@ -869,7 +889,7 @@ }, "preventRotation": false }, - "m_Path": "Planar Reflections 5/Universal RP/Water", + "m_Path": "Planar Reflections/Universal RP/Water", "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { @@ -938,7 +958,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1224,7 +1243,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1236,7 +1254,6 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "13f20ee93c2c45c19a2118d5e32ccce2", - "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "14e3ec0325504f40855bf85cb7da6403" }, @@ -1249,7 +1266,6 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, - "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1260,8 +1276,34 @@ "m_ObjectId": "14e3ec0325504f40855bf85cb7da6403", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false, - "m_BlendModePreserveSpecular": true + "m_ClearCoat": false +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "1625a70cdcaa4677bc87f5e00be78cd6", + "m_Guid": { + "m_GuidSerialized": "6f4116ed-c31f-41d9-94af-3a0d6cc5441b" + }, + "m_Name": "VRMode", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "VRMode", + "m_DefaultReferenceName": "_VRMode", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } } { @@ -1330,15 +1372,28 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "16f77d480c4841bbb9a1814aba4c4546", + "m_Id": 0, + "m_DisplayName": "VRMode", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] } { @@ -1455,7 +1510,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1761,7 +1815,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1902,15 +1955,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 1, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -1939,7 +1990,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2060,7 +2110,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2253,7 +2302,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2296,7 +2344,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2372,7 +2419,6 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2454,7 +2500,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2550,7 +2595,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2643,7 +2687,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2712,7 +2755,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -2782,7 +2824,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2839,7 +2880,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2947,7 +2987,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3146,7 +3185,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3202,6 +3240,41 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5f525b40992b4b63bae724943449fcb4", + "m_Group": { + "m_Id": "74d73fd051f644a7998918bc8abfd598" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1469.0, + "y": -1223.0001220703125, + "width": 110.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "16f77d480c4841bbb9a1814aba4c4546" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "1625a70cdcaa4677bc87f5e00be78cd6" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -3245,7 +3318,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3347,7 +3419,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3380,7 +3451,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3471,7 +3541,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3525,7 +3594,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3581,15 +3649,13 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true, - "m_MipSamplingMode": 0 + "m_EnableGlobalMipBias": true } { @@ -3618,7 +3684,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3668,7 +3733,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3783,7 +3847,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3805,7 +3868,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3844,7 +3906,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3964,7 +4025,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4115,7 +4175,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4258,7 +4317,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4301,7 +4359,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4383,7 +4440,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4597,7 +4653,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4716,7 +4771,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4794,7 +4848,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4827,7 +4880,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4918,6 +4970,9 @@ }, { "m_Id": "ad6a0a3bd9d3b5869cbdd0eacc8fcc71" + }, + { + "m_Id": "1625a70cdcaa4677bc87f5e00be78cd6" } ] } @@ -4967,7 +5022,6 @@ ], "m_Precision": 1, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -5035,7 +5089,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5074,7 +5127,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5161,7 +5213,6 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", - "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5238,7 +5289,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5313,6 +5363,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "b537009b3e73452dbce9b988efd2397c", + "m_Id": -54552410, + "m_DisplayName": "ForceFlipY", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_ForceFlipY", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5455,7 +5520,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5558,7 +5622,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5609,6 +5672,12 @@ } }, "m_Slots": [ + { + "m_Id": "b537009b3e73452dbce9b988efd2397c" + }, + { + "m_Id": "d479cf69f6af4eaaa03e0eca90e27dfa" + }, { "m_Id": "27cbaec8188ee684824c19c46983400e" } @@ -5616,14 +5685,19 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"a71bd3b2478457941b98aad7197cb70b\",\n \"type\": 3\n }\n}", - "m_PropertyGuids": [], - "m_PropertyIds": [], + "m_PropertyGuids": [ + "68930b8a-1c2a-49c5-b537-26d0b3b8cf0d", + "08539c98-80fb-4f1b-badf-64b89d6c9744" + ], + "m_PropertyIds": [ + -54552410, + -1145327804 + ], "m_Dropdowns": [], "m_DropdownSelectedEntries": [] } @@ -5761,7 +5835,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5797,7 +5870,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5848,7 +5920,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6017,6 +6088,21 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d479cf69f6af4eaaa03e0eca90e27dfa", + "m_Id": -1145327804, + "m_DisplayName": "VRMode", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_VRMode", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6115,7 +6201,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6517,7 +6602,6 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6589,7 +6673,6 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, - "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] diff --git a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta similarity index 53% rename from Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta rename to Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta index bebf73e61..d6e75f547 100644 --- a/Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta +++ b/Assets/External/PIDI Game Development Framework/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph.meta @@ -10,9 +10,9 @@ ScriptedImporter: script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} AssetOrigin: serializedVersion: 1 - productId: 257485 - packageName: 'PIDI : Planar Reflections 5 - URP Edition' - packageVersion: 5.3.1 - assetPath: Assets/External/PIDI Game Development Framework/Planar Reflections 5/Universal - Rendering Pipeline/Shaders/Water/Water (Simple).shadergraph - uploadId: 712544 + productId: 324223 + packageName: 'PIDI - Planar Reflections 6: URP Edition' + packageVersion: 6.0.4 + assetPath: Assets/PIDI/Planar Reflections 6/Universal Rendering Pipeline/Shaders/Water/Water + (Simple).shadergraph + uploadId: 779751 diff --git a/Assets/External/PowerUp/Scripts/ScaleParticles.cs b/Assets/External/PowerUp/Scripts/ScaleParticles.cs index fa33422b1..115827c9e 100644 --- a/Assets/External/PowerUp/Scripts/ScaleParticles.cs +++ b/Assets/External/PowerUp/Scripts/ScaleParticles.cs @@ -4,6 +4,7 @@ using System.Collections; [ExecuteInEditMode] public class ScaleParticles : MonoBehaviour { void Update () { - GetComponent().startSize = transform.lossyScale.magnitude; + var main = GetComponent().main; + main.startSizeMultiplier = transform.lossyScale.magnitude; } } \ No newline at end of file diff --git a/Assets/External/PowerUp/Scripts/Utility/Singleton.cs b/Assets/External/PowerUp/Scripts/Utility/Singleton.cs index babb2c35b..0544e5485 100644 --- a/Assets/External/PowerUp/Scripts/Utility/Singleton.cs +++ b/Assets/External/PowerUp/Scripts/Utility/Singleton.cs @@ -21,9 +21,9 @@ public class Singleton : MonoBehaviour where T : MonoBehaviour { if (_instance == null) { - _instance = (T) FindObjectOfType(typeof(T)); + _instance = Object.FindFirstObjectByType(); - if ( FindObjectsOfType(typeof(T)).Length > 1 ) + if ( Object.FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None).Length > 1 ) { Debug.LogError("[Singleton] Something went really wrong " + " - there should never be more than 1 singleton!" + diff --git a/Assets/External/VRCDeveloperTool/Editor/VRCAvatarTester/VRCAvatarTester.cs b/Assets/External/VRCDeveloperTool/Editor/VRCAvatarTester/VRCAvatarTester.cs index 7330f48c4..d67625d3b 100644 --- a/Assets/External/VRCDeveloperTool/Editor/VRCAvatarTester/VRCAvatarTester.cs +++ b/Assets/External/VRCDeveloperTool/Editor/VRCAvatarTester/VRCAvatarTester.cs @@ -28,16 +28,18 @@ namespace VRCDeveloperTool [SerializeField] private RuntimeAnimatorController defaultController; + #if VRC_SDK_VRCSDK2 public enum PlayingType { NONE, OVERRIDE, EMOTE }; private PlayingType playingType = PlayingType.NONE; public enum PlayingHand - { + { NONE, RIGHT, LEFT, BOTH - }; + }; private PlayingHand playingHand = PlayingHand.NONE; + #endif private static readonly string[] OVERRIDES = new string[] { diff --git a/Assets/External/VRMTools/CleanObjectsEditorWindow.cs b/Assets/External/VRMTools/CleanObjectsEditorWindow.cs index d29bf6a2b..08914d692 100644 --- a/Assets/External/VRMTools/CleanObjectsEditorWindow.cs +++ b/Assets/External/VRMTools/CleanObjectsEditorWindow.cs @@ -24,7 +24,8 @@ namespace VRMTools { if (GUILayout.Button("Auto Detect 自動認識")) { - avatar = FindObjectsOfType().FirstOrDefault(x => x.isHuman)?.gameObject; + avatar = UnityEngine.Object.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None) + .FirstOrDefault(x => x.isHuman)?.gameObject; } return; } diff --git a/Assets/External/V_Utility/vFolders.meta b/Assets/External/V_Utility/vFolders.meta index 34b31e005..3c6adc6ef 100644 --- a/Assets/External/V_Utility/vFolders.meta +++ b/Assets/External/V_Utility/vFolders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 109ccfb08b9fd4bf5a9d8deee2ace2ed +guid: 591968f3c37e0574793cfa84eff09d9b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/External/V_Utility/vFolders/Read me.pdf.meta b/Assets/External/V_Utility/vFolders/Read me.pdf.meta index 90fb2598b..53d8dddd6 100644 --- a/Assets/External/V_Utility/vFolders/Read me.pdf.meta +++ b/Assets/External/V_Utility/vFolders/Read me.pdf.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6c1da0cc833e64f4c96ba170387ea7a6 +guid: 6ee7067235d02a843a8ac59a24672919 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/External/V_Utility/vFolders/VFolders.asmdef b/Assets/External/V_Utility/vFolders/VFolders.asmdef deleted file mode 100644 index d3d34ab31..000000000 --- a/Assets/External/V_Utility/vFolders/VFolders.asmdef +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "VFolders", - "rootNamespace": "", - "references": [], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFolders.asmdef.meta b/Assets/External/V_Utility/vFolders/VFolders.asmdef.meta deleted file mode 100644 index a4528fa07..000000000 --- a/Assets/External/V_Utility/vFolders/VFolders.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3331bc437f3a24586b7e86e7bdd62b5e -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFolders.cs b/Assets/External/V_Utility/vFolders/VFolders.cs deleted file mode 100644 index abe7551ef..000000000 --- a/Assets/External/V_Utility/vFolders/VFolders.cs +++ /dev/null @@ -1,1601 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFoldersData; -using static VFolders.VFoldersCache; - - - -namespace VFolders -{ - public static class VFolders - { - - static void WrappedBrowserOnGUI(EditorWindow window) - { - var navbarHeight = 26; - - var isOneColumn = window.GetMemberValue("m_ViewMode") == 0; - - void navbarGui() - { - if (!navbars_byWindow.ContainsKey(window)) - navbars_byWindow[window] = new VFoldersNavbar(window); - - var navbarRect = window.position.SetPos(0, 0).SetHeight(navbarHeight); - - navbars_byWindow[window].OnGUI(navbarRect); - - - } - void hideDefaultTopBar() - { - if (curEvent.isLayout || typeof(GUILayoutUtility).GetMemberValue("current")?.GetMemberValue("topLevel")?.GetMemberValue("entries").Count != 1) // prevents exception on focus by vTabs shift-scroll // doesnt always work. tbh not sure why it works at all - Space(-123); - - } - void defaultGuiWithOffset() - { - var defaultTopBarHeight = 20; - var topOffset = navbarHeight - defaultTopBarHeight; - - var m_Pos_original = window.GetFieldValue("m_Pos"); - - - - - GUI.BeginGroup(m_Pos_original.SetPos(0, 0).AddHeightFromBottom(-topOffset)); - - window.SetFieldValue("m_Pos", m_Pos_original.AddHeightFromBottom(-topOffset)); - - - window.InvokeMethod("OnGUI"); - - - window.SetFieldValue("m_Pos", m_Pos_original); - - GUI.EndGroup(); - - } - void treeViewShadow() - { - if (!curEvent.isRepaint) return; - - var shadowLength = 30; - var shadowPos = 21; - var shadowGreyscale = isDarkTheme ? .1f : .28f; - var shadowAlpha = .35f; - - var minScrollPos = 10; - var maxScrollPos = 20; - - - var scrollPos = window.GetMemberValue(isOneColumn ? "m_AssetTree" : "m_FolderTree").GetMemberValue("state").scrollPos.y; - - var opacity = ((scrollPos - minScrollPos) / (maxScrollPos - minScrollPos)).Clamp01(); - - - var rectWidth = isOneColumn ? window.position.width : window.GetMemberValue("m_TreeViewRect").width;// - 12; - - var rect = window.position.SetPos(0, 0).MoveY(shadowPos).SetHeight(shadowLength).SetWidth(rectWidth); - - - - var clipAtY = navbarHeight + 1; - - GUI.BeginClip(window.position.SetPos(0, clipAtY)); - - rect.MoveY(-clipAtY).DrawCurtainDown(Greyscale(shadowGreyscale, shadowAlpha * opacity)); - - GUI.EndClip(); - - - - - if (isOneColumn) return; - - var dividerRect = window.GetMemberValue("m_TreeViewRect").SetWidthFromRight(1).MoveX(1); - - var dividerColor = Greyscale(.16f); - - dividerRect.Draw(dividerColor); - - - } - void listAreaShadow() - { - if (isOneColumn) return; - if (!curEvent.isRepaint) return; - - - var shadowLength = 30; - var shadowPos = navbarHeight + 17; - var shadowGreyscale = isDarkTheme ? .1f : .28f; - var shadowAlpha = .35f; - - var minScrollPos = 10; - var maxScrollPos = 20; - - - var scrollPos = window.GetMemberValue("m_ListAreaState").GetMemberValue("m_ScrollPosition").y; - - var opacity = ((scrollPos - minScrollPos) / (maxScrollPos - minScrollPos)).Clamp01(); - - - var rectX = window.GetMemberValue("m_TreeViewRect").width + 1; - var rectWidth = window.position.width - rectX;// - 12; - - var rect = window.position.SetPos(rectX, 0).MoveY(shadowPos).SetHeight(shadowLength).SetWidth(rectWidth); - - - - var clipAtY = navbarHeight + 22; - - GUI.BeginClip(window.position.SetPos(0, clipAtY)); - - rect.MoveY(-clipAtY).DrawCurtainDown(Greyscale(shadowGreyscale, shadowAlpha * opacity)); - - GUI.EndClip(); - - - - if (isDarkTheme) - window.position.SetPos(rectX, clipAtY - 1).SetSize(12321, 1).Draw(Greyscale(.175f)); // line under breadcrumbs - - } - - - - var doNavbarFirst = GUI.GetNameOfFocusedControl() == "navbar search field" || curEvent.keyCode == KeyCode.Escape; - - if (doNavbarFirst) - navbarGui(); - - hideDefaultTopBar(); - defaultGuiWithOffset(); - treeViewShadow(); - listAreaShadow(); - - if (!doNavbarFirst) - navbarGui(); - - } - - static Dictionary navbars_byWindow = new(); - - - - static void UpdateGUIWrappingForBrowser(EditorWindow window) - { - if (!window.hasFocus) return; - - var isLocked = window.GetMemberValue("isLocked"); - var isVTabsActive = t_VTabs != null && !EditorPrefsCached.GetBool("vTabs-pluginDisabled", false); - - var curOnGUIMethod = window.GetMemberValue("m_Parent").GetMemberValue("m_OnGUI").Method; - - var isWrapped = curOnGUIMethod == mi_WrappedBrowserOnGUI; - var shouldBeWrapped = VFoldersMenu.navigationBarEnabled && !(isVTabsActive && isLocked) && curOnGUIMethod != mi_VFavorites_WrappedOnGUI; - - void wrap() - { - if (isWrapped) return; - if (!shouldBeWrapped) return; - - var hostView = window.GetMemberValue("m_Parent"); - - var newDelegate = typeof(VFolders).GetMethod(nameof(WrappedBrowserOnGUI), maxBindingFlags).CreateDelegate(t_EditorWindowDelegate, window); - - hostView.SetMemberValue("m_OnGUI", newDelegate); - - window.Repaint(); - - } - void unwrap() - { - if (!isWrapped) return; - if (shouldBeWrapped) return; - - - var hostView = window.GetMemberValue("m_Parent"); - - var originalDelegate = hostView.InvokeMethod("CreateDelegate", "OnGUI"); - - hostView.SetMemberValue("m_OnGUI", originalDelegate); - - window.Repaint(); - - } - - wrap(); - unwrap(); - - } - static void UpdateGUIWrappingForAllBrowsers() => allBrowsers.ForEach(r => UpdateGUIWrappingForBrowser(r)); - - static void OnDomainReloaded() => toCallInGUI += UpdateGUIWrappingForAllBrowsers; - - static void OnWindowUnmaximized() => UpdateGUIWrappingForAllBrowsers(); - - static void OnBrowserFocused() => UpdateGUIWrappingForBrowser(EditorWindow.focusedWindow); - - static void OnDelayCall() => UpdateGUIWrappingForAllBrowsers(); - - - - - - static void CheckIfFocusedWindowChanged() - { - if (prevFocusedWindow != EditorWindow.focusedWindow) - if (EditorWindow.focusedWindow?.GetType() == t_ProjectBrowser) - OnBrowserFocused(); - - prevFocusedWindow = EditorWindow.focusedWindow; - - } - - static EditorWindow prevFocusedWindow; - - - - static void CheckIfWindowWasUnmaximized() - { - var isMaximized = EditorWindow.focusedWindow?.maximized == true; - - if (!isMaximized && wasMaximized) - OnWindowUnmaximized(); - - wasMaximized = isMaximized; - - } - - static bool wasMaximized; - - - - static void OnSomeGUI() - { - toCallInGUI?.Invoke(); - toCallInGUI = null; - - CheckIfFocusedWindowChanged(); - - } - - static void ProjectWindowItemOnGUI(string _, Rect __) => OnSomeGUI(); - static void HierarchyWindowItemOnGUI(int _, Rect __) => OnSomeGUI(); - - static System.Action toCallInGUI; - - - - static void DelayCallLoop() - { - OnDelayCall(); - - EditorApplication.delayCall -= DelayCallLoop; - EditorApplication.delayCall += DelayCallLoop; - - } - - - - - - - - - - - - - - - static void ItemGUI(Rect itemRect, string guid, int instanceId) - { - EditorWindow window; - - void findWindow() - { - if (allBrowsers.Count() == 1) { window = allBrowsers.First(); return; } - - - var pointInsideWindow = EditorGUIUtility.GUIToScreenPoint(itemRect.center); - - window = allBrowsers.FirstOrDefault(r => r.position.AddHeight(30).Contains(pointInsideWindow) && r.hasFocus); - - } - void updateWindow() - { - if (!window) return; // happens on half-visible rows during expand animation - - if (curEvent.isLayout && !lastEventWasLayout) - UpdateWindow_Layout(window); - - if (curEvent.isRepaint && !lastEventWasRepaint) - UpdateWindow_Repaint(window); - - - lastEventWasLayout = curEvent.isLayout; - lastEventWasRepaint = curEvent.isRepaint; - - } - void catchScrollInputForController() - { - if (!window) return; - if (!controllers_byWindow.ContainsKey(window)) return; - - if (curEvent.isScroll) - controllers_byWindow[window].animatingScroll = false; - - } - void callGUI() - { - if (!window) return; - if (!guis_byWindow.ContainsKey(window)) return; - - - var gui = guis_byWindow[window]; - - if (itemRect.height == 16) - gui.RowGUI(itemRect, guid, instanceId); - else - gui.CellGUI(itemRect, guid, instanceId); - - } - - findWindow(); - updateWindow(); - catchScrollInputForController(); - callGUI(); - - } - - static void ItemGUI_2021_3_and_older(string guid, Rect itemRect) - { - var instanceId = typeof(AssetDatabase).InvokeMethod("GetMainAssetOrInProgressProxyInstanceID", guid.ToPath()); - - ItemGUI(itemRect, guid, instanceId); - - } - static void ItemGUI_2022_1_and_newer(int instanceId, Rect itemRect) - { - var guid = AssetDatabase.GetAssetPath(instanceId).ToGuid(); - - ItemGUI(itemRect, guid, instanceId); - - } - - static bool lastEventWasLayout; - static bool lastEventWasRepaint; - - - - static void UpdateWindow_Layout(EditorWindow window) - { - if (!guis_byWindow.TryGetValue(window, out var gui)) - gui = guis_byWindow[window] = new(window); - - if (!controllers_byWindow.TryGetValue(window, out var controller)) - controller = controllers_byWindow[window] = new(window); - - if (!histories_byWindow.TryGetValue(window, out var history)) - history = histories_byWindow[window] = new(window); - - - gui.UpdateState_Layout(); - gui.UpdateFoldersFirst(); - - controller.UpdateState(); - controller.UpdateExpandQueue(); - controller.UpdateScrollAnimation(); - controller.UpdateHighlightAnimation(); - - history.UpdateState(); - history.CheckTreeStateChange(); - history.CheckFolderPathChange(); - - } - static void UpdateWindow_Repaint(EditorWindow window) - { - if (guis_byWindow.ContainsKey(window)) - guis_byWindow[window].UpdateState_Repaint(); - } - - public static Dictionary guis_byWindow = new(); - public static Dictionary controllers_byWindow = new(); - public static Dictionary histories_byWindow => VFoldersHistorySingleton.instance.histories_byWindow; - - - - - - - - - public static Texture2D GetSmallFolderIcon(FolderInfo folderInfo, bool removeColor = false) - { - var hasColor = folderInfo.hasColor && !removeColor; - var hasIcon = folderInfo.hasIcon; - - var color = hasColor ? folderInfo.color : default; - var iconNameOrPath = hasIcon ? folderInfo.iconNameOrPath : ""; - - var isEmpty = folderInfo.folderState.isEmpty; - - var key = new object[] { iconNameOrPath, color, isEmpty, isDarkTheme }.Aggregate(0, (hash, r) => (hash * 2) ^ r.GetHashCode()); - - - Texture2D icon = null; - - void getCached() - { - if (!cache.HasIcon(key)) return; - - icon = cache.GetIcon(key); - - } - void generateAndCache() - { - if (icon != null) return; - if (Event.current != null) return; // interactions with gpu in OnGUI may interfere with gui rendering - - var iconSizeX = hasIcon ? 36 : 32; - var iconSizeY = 32; - - var assetIconSize = 20; // 20 21 - var assetIconOffsetX = 16; - var assetIconOffsetY = -2; // -2 -3 - - var folderIconSize = iconSizeY; - var folderIconOffsetY_ifHasAssetIcon = 1; - - Color[] iconPixels; - - Texture2D folderIcon; - Color[] folderIconPixels; - - - void createIcon() - { - icon = new Texture2D(iconSizeX, iconSizeY, TextureFormat.RGBA32, 1, false); - icon.hideFlags = HideFlags.DontSave; - icon.SetPropertyValue("pixelsPerPoint", 2); - - iconPixels = new Color[iconSizeX * iconSizeY]; - - } - void createFolderIcon() - { - var folderIconName = hasColor ? (isEmpty ? "FolderEmpty On Icon" : "Folder On Icon") : - (isEmpty ? "FolderEmpty Icon" : "Folder Icon"); - - - folderIcon = EditorGUIUtility.FindTexture(folderIconName); - - if (folderIcon.width != folderIconSize) - folderIcon = folderIcon.CreateResizedCopy(folderIconSize, folderIconSize); - else - folderIcon = folderIcon.CreateCopy(); - - folderIconPixels = folderIcon.GetPixels(0); - - } - void copyFolderIcon() - { - if (!hasIcon) { iconPixels = folderIconPixels; return; } - - for (int x = 0; x < folderIcon.width; x++) - for (int y = 0; y < folderIcon.height - folderIconOffsetY_ifHasAssetIcon; y++) - iconPixels[x + (y + folderIconOffsetY_ifHasAssetIcon) * icon.width] = folderIconPixels[x + y * folderIcon.width]; - - } - void applyColor() - { - if (!hasColor) return; - - for (int i = 0; i < iconPixels.Length; i++) - iconPixels[i] *= (color * 1.06f).SetAlpha(1); - - } - void insertAssetIcon() - { - if (!hasIcon) return; - - - var assetIconOriginal = EditorIcons.GetIcon(iconNameOrPath); - - if (!assetIconOriginal) return; - - - var prevFilter = assetIconOriginal.filterMode; - - assetIconOriginal.filterMode = FilterMode.Bilinear; - var assetIconPixels_bilinear = assetIconOriginal.CreateResizedCopy(assetIconSize, assetIconSize).GetPixels(); - - assetIconOriginal.filterMode = FilterMode.Point; - var assetIconPixels_point = assetIconOriginal.CreateResizedCopy(assetIconSize, assetIconSize).GetPixels(); - - - assetIconOriginal.filterMode = prevFilter; - - - for (int x = 0; x < iconSizeX; x++) - for (int y = 0; y < iconSizeY; y++) - { - var xAssetIcon = x - assetIconOffsetX; - var yAssetIcon = y - assetIconOffsetY - folderIconOffsetY_ifHasAssetIcon; - - if (!xAssetIcon.IsInRange(0, assetIconSize - 1)) continue; - if (!yAssetIcon.IsInRange(0, assetIconSize - 1)) continue; - - - var innerRadius = (iconNameOrPath == "AudioClip Icon" ? .2f : .4f); - var isInnerPixel = (new Vector2(xAssetIcon, yAssetIcon) / (assetIconSize - 1) - Vector2.one * .5f).magnitude < innerRadius; - - var isOutlinePixel = false; - var outlineRadius = isInnerPixel ? 2 : 1; - for (int xx = xAssetIcon - outlineRadius; xx <= xAssetIcon + outlineRadius; xx++) - if (!isOutlinePixel) - for (int yy = yAssetIcon - outlineRadius; yy <= yAssetIcon + outlineRadius; yy++) - if (!isOutlinePixel) - if (xx.IsInRange(0, assetIconSize - 1) && yy.IsInRange(0, assetIconSize - 1)) - if (assetIconPixels_bilinear[xx + yy * assetIconSize].a > .2f) - isOutlinePixel = true; - - - var pxBilinear = assetIconPixels_bilinear[xAssetIcon + yAssetIcon * assetIconSize]; - var pxPoint = assetIconPixels_point[xAssetIcon + yAssetIcon * assetIconSize]; - var pxCombined = new Color(pxPoint.r, pxPoint.g, pxPoint.b, pxBilinear.a); - - if (pxCombined.a == 0 && !isOutlinePixel) continue; - - iconPixels[x + y * iconSizeX] = pxCombined; - - } - - } - - - createIcon(); - createFolderIcon(); - copyFolderIcon(); - applyColor(); - insertAssetIcon(); - - icon.SetPixels(iconPixels); - icon.Apply(); - - cache.AddIcon(key, icon); - - } - void queueGeneration() - { - if (icon != null) return; - - toGenerateInUpdate.Add(generateAndCache); - - } - - - getCached(); - generateAndCache(); - queueGeneration(); - - return icon ?? EditorGUIUtility.FindTexture(isEmpty ? "FolderEmpty Icon" : "Project@2x"); - - } - - static void GenerateIconsInUpdate() - { - foreach (var r in toGenerateInUpdate) - r.Invoke(); - - toGenerateInUpdate.Clear(); - - } - - static List toGenerateInUpdate = new(); - - - - public static void DrawBigFolderIcon(Rect rect, FolderInfo folderInfo) - { - Rect folderIconRect; - Rect assetIconRect; - - - void calcRects() - { - folderIconRect = rect.SetHeight(rect.width); - -#if !UNITY_2022_3_OR_NEWER - if (Application.platform == RuntimePlatform.OSXEditor) - if (folderIconRect.width > 64) - folderIconRect = folderIconRect.SetSizeFromMid(64, 64); -#endif - - - var assetIconOffsetMin = new Vector2(4.5f, 3.5f); - var assetIconSizeMin = 10; - - var assetIconOffsetMax = new Vector2(19, 15); - var assetIconSizeMax = 24.5f; // 25 - - var t = ((folderIconRect.width - 16) / (64 - 16)); - -#if !UNITY_2022_3_OR_NEWER - if (Application.platform == RuntimePlatform.OSXEditor) - t = t.Clamp01(); -#endif - - var assetIconOffset = Lerp(assetIconOffsetMin, assetIconOffsetMax, t); - var assetIconSize = Lerp(assetIconSizeMin, assetIconSizeMax, t); - - assetIconRect = folderIconRect.Move(assetIconOffset).SetSizeFromMid(assetIconSize, assetIconSize).AlignToPixelGrid(); - - } - - void color() - { - if (!folderInfo.hasColor) return; - - - SetGUIColor(folderInfo.color.SetAlpha(1)); - - GUI.DrawTexture(folderIconRect, EditorGUIUtility.FindTexture(folderInfo.folderState.isEmpty ? "FolderEmpty On Icon" : "Folder On Icon")); - - ResetGUIColor(); - - } - void assetIcon() - { - if (!folderInfo.hasIcon) return; - - - var texture = EditorIcons.GetIcon(folderInfo.iconNameOrPath); - - if (!texture) return; - - if (texture.width < texture.height) assetIconRect = assetIconRect.SetWidthFromMid(assetIconRect.height * texture.width / texture.height); - if (texture.height < texture.width) assetIconRect = assetIconRect.SetHeightFromMid(assetIconRect.width * texture.height / texture.width); - - - - void material() - { - if (!outlineMaterial) - outlineMaterial = new Material(Shader.Find("Hidden/Internal-GUITextureClipText")); - - outlineMaterial.color = isDarkTheme ? Greyscale(.2f, .6f) : Greyscale(.75f); - - // .color needs to be updated continiously because it gets reset on some editor events - // only happens when internal shader is used - - } - - void shadow() - { - var contrast = isDarkTheme ? .6f : .2f; // was .65 then .6 - - assetIconRect.SetSizeFromMid(assetIconRect.width * .8f).DrawBlurred(Greyscale(.2f, contrast), assetIconRect.width * .55f); - - } - void outline() - { - var outlineRect = assetIconRect.Resize(rect.height >= 70 && EditorGUIUtility.pixelsPerPoint >= 2 ? -1f / EditorGUIUtility.pixelsPerPoint : 0).AlignToPixelGrid(); - - EditorGUI.DrawPreviewTexture(outlineRect.Move(-1, -1), texture, outlineMaterial); - EditorGUI.DrawPreviewTexture(outlineRect.Move(-1, 1), texture, outlineMaterial); - EditorGUI.DrawPreviewTexture(outlineRect.Move(1, 1), texture, outlineMaterial); - EditorGUI.DrawPreviewTexture(outlineRect.Move(1, -1), texture, outlineMaterial); - - } - void background() - { - for (int i = 0; i < assetIconRect.size.x; i++) - EditorGUI.DrawPreviewTexture(assetIconRect.Resize(i * .5f + 1), texture, outlineMaterial); - - } - void icon() - { - GUI.DrawTexture(assetIconRect, texture); - } - - material(); - - shadow(); - outline(); - background(); - icon(); - - } - - - calcRects(); - - color(); - assetIcon(); - - } - - static Material outlineMaterial; - - - - - - - - - - - - - - - - - - public static Texture2D GetSmallFolderIcon_forVTabs(string folderGuid) - { - var folderInfo = GetFolderInfo(folderGuid); - - if (folderInfo.hasColor || folderInfo.hasIcon) - return GetSmallFolderIcon(folderInfo); - - return null; - - } - - public static void DrawBigFolderIcon_forVFavorites(Rect rect, string folderGuid) - { - DrawBigFolderIcon(rect, GetFolderInfo(folderGuid)); - } - - public static void SetIcon(string folderPath, string iconName, bool recursive = false) - { - var folderData = GetFolderData(folderPath.ToGuid(), createDataIfDoesntExist: true); - - folderData.iconNameOrGuid = iconName ?? ""; - folderData.isIconRecursive = recursive; - - folderInfoCache.Clear(); - - - EditorApplication.RepaintProjectWindow(); - - } - public static void SetColor(string folderPath, int colorIndex, bool recursive = false) - { - var folderData = GetFolderData(folderPath.ToGuid(), createDataIfDoesntExist: true); - - folderData.colorIndex = colorIndex; - folderData.isColorRecursive = recursive; - - folderInfoCache.Clear(); - - - EditorApplication.RepaintProjectWindow(); - - } - - - - - - - - - - - - - - - - - - static void Shortcuts() // globalEventHandler - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode == KeyCode.None) return; - if (EditorWindow.mouseOverWindow is not EditorWindow hoveredWindow) return; - if (hoveredWindow.GetType() != t_ProjectBrowser) return; - - void toggleExpanded() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.E) return; - if (curEvent.holdingAnyModifierKey) return; - if (!VFoldersMenu.toggleExpandedEnabled) return; - - if (lastHoveredTreeItem == null) return; - if (!lastHoveredRowRect_screenSpace.Contains(lastKnownMousePosition_screenSpace)) return; - - curEvent.Use(); - - if (lastHoveredTreeItem.children == null) return; - if (lastHoveredTreeItem.children.Count == 0) return; - - - controllers_byWindow[hoveredWindow].ToggleExpanded(lastHoveredTreeItem); - - } - void collapseEverything() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.E) return; - if (curEvent.modifiers != (EventModifiers.Shift | EventModifiers.Command) && curEvent.modifiers != (EventModifiers.Shift | EventModifiers.Control)) return; - if (!VFoldersMenu.collapseEverythingEnabled) return; - - curEvent.Use(); - - - controllers_byWindow[hoveredWindow].CollapseEverything(); - - } - void collapseEverythingElse() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.E) return; - if (curEvent.modifiers != EventModifiers.Shift) return; - if (!VFoldersMenu.collapseEverythingElseEnabled) return; - - if (lastHoveredTreeItem == null) return; - if (!lastHoveredRowRect_screenSpace.Contains(lastKnownMousePosition_screenSpace)) return; - - curEvent.Use(); - - if (lastHoveredTreeItem.children == null) return; - if (lastHoveredTreeItem.children.Count == 0) return; - - - controllers_byWindow[hoveredWindow].CollapseEverythingExcept(lastHoveredTreeItem); - - } - - toggleExpanded(); - collapseEverything(); - collapseEverythingElse(); - - } - - public static TreeViewItem lastHoveredTreeItem; - - public static Rect lastHoveredRowRect_screenSpace; - - public static Vector2 lastKnownMousePosition_screenSpace; - - - - - - - - - - - - - - - - - - public static FolderInfo GetFolderInfo(string guid) - { - if (folderInfoCache.TryGetValue(guid, out var cachedFolderInfo)) return cachedFolderInfo; - - - var folderInfo = new FolderInfo(); - - var folderData = folderInfo.folderData = GetFolderData(guid, createDataIfDoesntExist: false); - var folderState = folderInfo.folderState = GetFolderState(guid); - - - var recursiveIconNameOrGuid = ""; - var recursiveColorIndex = 0; - - var ruledIconNameOrGuid = ""; - var ruledColorIndex = 0; - - void checkRules() - { - if (rules == null) - rules = TypeCache.GetMethodsWithAttribute() - .Where(r => r.IsStatic - && r.GetParameters().Count() == 1 - && r.GetParameters().First().ParameterType == typeof(Folder)).ToList(); - - if (!rules.Any()) return; - - - - var folder = new Folder(guid); - - foreach (var rule in rules) - rule.Invoke(null, new[] { folder }); - - - ruledIconNameOrGuid = folder.icon; - ruledColorIndex = folder.color; - - - } - void checkRecursion(string path, int depth) - { - if (!path.HasParentPath()) return; - - var parentFolderData = GetFolderData(path.GetParentPath().ToGuid(), createDataIfDoesntExist: false); - - if (parentFolderData != null) - { - - if (parentFolderData.isIconRecursive && parentFolderData.iconNameOrGuid != "") - if (recursiveIconNameOrGuid == "") - recursiveIconNameOrGuid = parentFolderData.iconNameOrGuid; - - if (parentFolderData.isColorRecursive && parentFolderData.colorIndex != 0) - if (recursiveColorIndex == 0) - recursiveColorIndex = parentFolderData.colorIndex; - - - if (parentFolderData.isColorRecursive && parentFolderData.colorIndex != 0) - folderInfo.maxColorRecursionDepth = depth + 1; - - } - - - - checkRecursion(path.GetParentPath(), depth + 1); - - } - void setIcon() - { - var iconNameOrGuid = ""; - - if (folderData != null && folderData.iconNameOrGuid != "") - iconNameOrGuid = folderData.iconNameOrGuid; - - else if (recursiveIconNameOrGuid != "") - iconNameOrGuid = recursiveIconNameOrGuid; - - else if (ruledIconNameOrGuid != "") - iconNameOrGuid = ruledIconNameOrGuid; - - else if (VFoldersMenu.autoIconsEnabled && folderState.autoIconName != "" && folderData?.isIconRecursive != true) - iconNameOrGuid = folderState.autoIconName; - - - - if (iconNameOrGuid == "" || iconNameOrGuid == "none") { folderInfo.hasIcon = false; return; } - - folderInfo.hasIcon = true; - folderInfo.hasIconByRecursion = recursiveIconNameOrGuid != ""; - - folderInfo.iconNameOrPath = iconNameOrGuid.Length == 32 ? iconNameOrGuid.ToPath() - : iconNameOrGuid; - - } - void setColor() - { - var colorIndex = 0; - - if (folderData != null && folderData.colorIndex > 0) - colorIndex = folderData.colorIndex; - - else if (recursiveColorIndex != 0) - colorIndex = recursiveColorIndex; - - else if (ruledColorIndex != 0) - colorIndex = ruledColorIndex; - - - - if (colorIndex == 0) { folderInfo.hasColor = false; return; } - - folderInfo.hasColor = true; - folderInfo.hasColorByRecursion = recursiveColorIndex != 0; - - - - - var brightness = palette?.colorBrightness ?? 1; - var saturation = palette?.colorSaturation ?? 1; - - - var rawColor = palette ? palette.colors[colorIndex - 1] : VFoldersPalette.GetDefaultColor(colorIndex - 1); - - var brightenedColor = Lerp(Greyscale(.2f), rawColor, brightness); - - Color.RGBToHSV(brightenedColor, out float h, out float s, out float v); - var saturatedColor = Color.HSVToRGB(h, s * saturation, v); - - - folderInfo.color = saturatedColor; - - } - - checkRules(); - checkRecursion(guid.ToPath(), 0); - setIcon(); - setColor(); - - - return folderInfoCache[guid] = folderInfo; - - } - - public class FolderInfo - { - public string iconNameOrPath = ""; - public bool hasIcon; - public bool hasIconByRecursion; - - public Color color; - public bool hasColor; - public bool hasColorByRecursion; - public int maxColorRecursionDepth; - - - public FolderData folderData; - public FolderState folderState; - - } - - public static Dictionary folderInfoCache = new(); - - public static List rules = null; - - public static void OnProjectChanged() => folderInfoCache.Clear(); - public static void OnDataSerialization() => folderInfoCache.Clear(); - - - - public static FolderData GetFolderData(string guid, bool createDataIfDoesntExist) - { - if (!data) return null; - - FolderData folderData = null; - - void fromScripableObject() - { - if (VFoldersData.storeDataInMetaFiles) return; - - data.folderDatas_byGuid.TryGetValue(guid, out folderData); - - - if (folderData != null || !createDataIfDoesntExist) return; - - folderData = new FolderData(); - - data.folderDatas_byGuid[guid] = folderData; - - } - void fromMetaFile() - { - if (!VFoldersData.storeDataInMetaFiles) return; - - folderDatasFromMetaFiles_byGuid.TryGetValue(guid, out folderData); - - - - if (folderData != null) return; - - var importer = AssetImporter.GetAtPath(guid.ToPath()); - - try { folderData = JsonUtility.FromJson(importer.userData); } catch { } - - folderDatasFromMetaFiles_byGuid[guid] = folderData; - - - - if (folderData != null || !createDataIfDoesntExist) return; - - folderData = new FolderData(); - - folderDatasFromMetaFiles_byGuid[guid] = folderData; - - } - - fromScripableObject(); - fromMetaFile(); - - return folderData; - - } - - public static Dictionary folderDatasFromMetaFiles_byGuid = new(); - - - - public static FolderState GetFolderState(string guid) - { - FolderState folderState = null; - - void getCached() - { - cache.folderStates_byGuid.TryGetValue(guid, out folderState); - } - void create() - { - if (folderState != null) return; - - folderState = new FolderState(); - - folderState.needsUpdate = true; - - cache.folderStates_byGuid[guid] = folderState; - - } - void update() - { - if (!folderState.needsUpdate) return; - if (!Directory.Exists(guid.ToPath())) { folderState.needsUpdate = false; return; } - - - var typesInFolder = Directory.GetFiles(guid.ToPath(), "*.*").Select(r => AssetDatabase.GetMainAssetTypeAtPath(r)).Where(r => r != null); - - void isEmpty() - { - folderState.isEmpty = !Directory.EnumerateFileSystemEntries(guid.ToPath()).Any(); - } - void contentMinimap() - { - var iconNames = new List(); - - void fill() - { - foreach (var type in typesInFolder) - - if (type == typeof(Texture2D)) - iconNames.Add("Texture Icon"); - - else if (type == typeof(GameObject)) - iconNames.Add("Prefab Icon"); - - else if (type.BaseType == typeof(ScriptableObject) || type.BaseType?.BaseType == typeof(ScriptableObject)) - iconNames.Add("ScriptableObject Icon"); - - else if (type == typeof(MonoScript)) - iconNames.Add("cs Script Icon"); - - else if (AssetPreview.GetMiniTypeThumbnail(type)?.name is string iconName) - iconNames.Add(iconName); - - } - void filter() - { - iconNames = iconNames.Distinct().ToList(); - - - for (int i = 0; i < iconNames.Count; i++) - if (iconNames[i].StartsWith("d_")) - iconNames[i] = iconNames[i].Substring(2); - - - - iconNames.Remove("DefaultAsset Icon"); - iconNames.Remove("TextAsset Icon"); - - - - if (iconNames.Contains("cs Script Icon")) - iconNames.Remove("AssemblyDefinitionAsset Icon"); - - if (iconNames.Contains("Shader Icon")) - iconNames.Remove("ShaderInclude Icon"); - - } - void order() - { - var order = new List - { - - "SceneAsset Icon", - - - "Prefab Icon", - "Mesh Icon", - "Material Icon", - "Texture Icon", - - - "cs Script Icon", - "Shader Icon", - "ComputeShader Icon", - "ShaderInclude Icon", - - - "ScriptableObject Icon", - - }; - - iconNames = iconNames.OrderBy(r => order.IndexOf(r) is int i && i != -1 ? i : 1232) - .ThenBy(r => r) - .ToList(); - } - - fill(); - filter(); - order(); - - folderState.contentMinimapIconNames = iconNames; - - } - void autoIcon() - { - folderState.autoIconName = ""; - - - if (!typesInFolder.Any()) return; - if (!typesInFolder.All(r => r == typesInFolder.First()) && !typesInFolder.All(r => typeof(ScriptableObject).IsAssignableFrom(r))) return; - - var type = typesInFolder.First(); - - - if (type == typeof(SceneAsset)) - folderState.autoIconName = "SceneAsset Icon"; - - else if (type == typeof(GameObject)) - folderState.autoIconName = "Prefab Icon"; - - else if (type == typeof(Material)) - folderState.autoIconName = "Material Icon"; - - else if (type == typeof(Texture)) - folderState.autoIconName = "Texture Icon"; - - else if (type == typeof(TerrainData)) - folderState.autoIconName = "TerrainData Icon"; - - else if (type == typeof(AudioClip)) - folderState.autoIconName = "AudioClip Icon"; - - else if (type == typeof(Shader)) - folderState.autoIconName = "Shader Icon"; - - else if (type == typeof(ComputeShader)) - folderState.autoIconName = "ComputeShader Icon"; - - else if (type == typeof(MonoScript) || type == typeof(UnityEditorInternal.AssemblyDefinitionAsset) || type == typeof(UnityEditorInternal.AssemblyDefinitionReferenceAsset)) - folderState.autoIconName = "cs Script Icon"; - - else if (typeof(ScriptableObject).IsAssignableFrom(type)) - folderState.autoIconName = "ScriptableObject Icon"; - - } - - - isEmpty(); - contentMinimap(); - autoIcon(); - - folderState.needsUpdate = false; - - } - - getCached(); - create(); - update(); - - return folderState; - - } - - class FolderStateChangeDetector : AssetPostprocessor - { -#if UNITY_2021_1_OR_NEWER - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths, bool didDomainReload) -#else - static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) -#endif - { - foreach (var path in importedAssets.Concat(deletedAssets).Concat(movedAssets).Concat(movedFromAssetPaths)) - if (path.HasParentPath()) - if (cache.folderStates_byGuid.TryGetValue(path.GetParentPath().ToGuid(), out var folderState)) - folderState.needsUpdate = true; // todo only clear folderinfo cache here? - } - } - - public static VFoldersCache cache => VFoldersCache.instance; - - - - - - - - - - - - - - - - - - [InitializeOnLoadMethod] - static void Init() - { - if (VFoldersMenu.pluginDisabled) return; - - void subscribe() - { - - // gui - -#if UNITY_2022_1_OR_NEWER - EditorApplication.projectWindowItemInstanceOnGUI -= ItemGUI_2022_1_and_newer; - EditorApplication.projectWindowItemInstanceOnGUI = ItemGUI_2022_1_and_newer + EditorApplication.projectWindowItemInstanceOnGUI; -#else - EditorApplication.projectWindowItemOnGUI -= ItemGUI_2021_3_and_older; - EditorApplication.projectWindowItemOnGUI = ItemGUI_2021_3_and_older + EditorApplication.projectWindowItemOnGUI; -#endif - - - - // wrapping updaters - - EditorApplication.projectWindowItemOnGUI -= ProjectWindowItemOnGUI; - EditorApplication.projectWindowItemOnGUI += ProjectWindowItemOnGUI; - - EditorApplication.hierarchyWindowItemOnGUI -= HierarchyWindowItemOnGUI; - EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI; - - EditorApplication.delayCall -= DelayCallLoop; - EditorApplication.delayCall += DelayCallLoop; - - EditorApplication.update -= CheckIfFocusedWindowChanged; - EditorApplication.update += CheckIfFocusedWindowChanged; - - - - // shortcuts - - var globalEventHandler = typeof(EditorApplication).GetFieldValue("globalEventHandler"); - typeof(EditorApplication).SetFieldValue("globalEventHandler", Shortcuts + (globalEventHandler - Shortcuts)); - - - - // other - - EditorApplication.update -= GenerateIconsInUpdate; - EditorApplication.update += GenerateIconsInUpdate; - - EditorApplication.projectChanged -= OnProjectChanged; - EditorApplication.projectChanged += OnProjectChanged; - - - } - void loadData() - { - data = AssetDatabase.LoadAssetAtPath(ProjectPrefs.GetString("vFolders-lastKnownDataPath")); - - - if (data) return; - - data = AssetDatabase.FindAssets("t:VFoldersData").Select(guid => AssetDatabase.LoadAssetAtPath(guid.ToPath())).FirstOrDefault(); - - - if (!data) return; - - ProjectPrefs.SetString("vFolders-lastKnownDataPath", data.GetPath()); - - } - void loadPalette() - { - palette = AssetDatabase.LoadAssetAtPath(ProjectPrefs.GetString("vFolders-lastKnownPalettePath")); - - - if (palette) return; - - palette = AssetDatabase.FindAssets("t:VFoldersPalette").Select(guid => AssetDatabase.LoadAssetAtPath(guid.ToPath())).FirstOrDefault(); - - - if (!palette) return; - - ProjectPrefs.SetString("vFolders-lastKnownPalettePath", palette.GetPath()); - - } - void loadDataAndPaletteDelayed() - { - if (!data) - EditorApplication.delayCall += () => EditorApplication.delayCall += loadData; - - if (!palette) - EditorApplication.delayCall += () => EditorApplication.delayCall += loadPalette; - - // AssetDatabase isn't up to date at this point (it gets updated after InitializeOnLoadMethod) - // and if current AssetDatabase state doesn't contain the data - it won't be loaded during Init() - // so here we schedule an additional, delayed attempt to load the data - // this addresses reports of data loss when trying to load it on a new machine - - } - void migrateDataFromV1() - { - if (!data) return; - if (ProjectPrefs.GetBool("vFolders-dataMigrationFromV1Attempted", false)) return; - - ProjectPrefs.SetBool("vFolders-dataMigrationFromV1Attempted", true); - - var lines = System.IO.File.ReadAllLines(data.GetPath()); - - if (lines.Length < 15 || !lines[14].Contains("folderDatasByGuid")) return; - - var guids = new List(); - var icons = new List(); - var colors = new List(); - - void parseGudis() - { - for (int i = 16; i < lines.Length; i++) - { - if (lines[i].Contains("values:")) break; - - var startIndex = lines[i].IndexOf("- ") + 2; - - if (startIndex < lines[i].Length) - guids.Add(lines[i].Substring(startIndex)); - else - guids.Add(""); - - } - - } - void parseIcons() - { - for (int i = 0; i < guids.Count; i++) - if (lines[29 + i * 5 + 3] is string line) - if (line.Length > line.IndexOf(": ") + 2) - icons.Add(line.Substring(line.IndexOf(": ") + 2)); - else - icons.Add(""); - - } - void parseColors() - { - for (int i = 0; i < guids.Count; i++) - if (lines[29 + i * 5 + 1] is string line) - if (line.Length > line.IndexOf(": ") + 2) - colors.Add(int.Parse(line.Substring(line.IndexOf(": ") + 2))); - else - colors.Add(0); - - } - - void remapColors() - { - for (int i = 0; i < colors.Count; i++) - if (colors[i] == 10) - colors[i] = 1; - else if (colors[i] != 0) - colors[i]++; - - } - void fillData() - { - for (int i = 0; i < guids.Count; i++) - if (icons[i] != "" || colors[i] != 0) - data.folderDatas_byGuid[guids[i]] = new FolderData { iconNameOrGuid = icons[i], colorIndex = colors[i] }; - - data.Dirty(); - data.Save(); - - } - - - try - { - parseGudis(); - parseIcons(); - parseColors(); - - remapColors(); - fillData(); - - } - catch { } - - } - void fixIconNamesForUnity6() - { - if (!Application.unityVersion.Contains("6000")) return; - if (ProjectPrefs.GetBool("vFolders-iconNamesForUnity6Fixed", false)) return; - if (!palette) return; - if (!data) return; - - foreach (var iconRow in palette.iconRows) - if (iconRow.builtinIcons.Contains("PhysicMaterial Icon")) - iconRow.builtinIcons[iconRow.builtinIcons.IndexOf("PhysicMaterial Icon")] = "PhysicsMaterial Icon"; - - foreach (var folderData in data.folderDatas_byGuid.Values) - if (folderData.iconNameOrGuid == "PhysicMaterial Icon") - folderData.iconNameOrGuid = "PhysicsMaterial Icon"; - - ProjectPrefs.SetBool("vFolders-iconNamesForUnity6Fixed", true); - - } - - subscribe(); - loadData(); - loadPalette(); - loadDataAndPaletteDelayed(); - migrateDataFromV1(); - fixIconNamesForUnity6(); - - OnDomainReloaded(); - - } - - public static VFoldersData data; - public static VFoldersPalette palette; - - - - - - static IEnumerable allBrowsers => _allBrowsers ??= t_ProjectBrowser.GetFieldValue("s_ProjectBrowsers").Cast(); - static IEnumerable _allBrowsers; - - static Type t_ProjectBrowser = typeof(Editor).Assembly.GetType("UnityEditor.ProjectBrowser"); - static Type t_HostView = typeof(Editor).Assembly.GetType("UnityEditor.HostView"); - static Type t_EditorWindowDelegate = t_HostView.GetNestedType("EditorWindowDelegate", maxBindingFlags); - - static Type t_VTabs = Type.GetType("VTabs.VTabs") ?? Type.GetType("VTabs.VTabs, VTabs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); - static Type t_VFavorites = Type.GetType("VFavorites.VFavorites") ?? Type.GetType("VFavorites.VFavorites, VFavorites, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); - - static MethodInfo mi_WrappedBrowserOnGUI = typeof(VFolders).GetMethod(nameof(WrappedBrowserOnGUI), maxBindingFlags); - static MethodInfo mi_VFavorites_WrappedOnGUI = t_VFavorites?.GetMethod("WrappedOnGUI", maxBindingFlags) ?? t_VFavorites?.GetMethod("OnGUI", maxBindingFlags); - - - - - - const string version = "2.1.2"; - - } - - #region Rules - - public class RuleAttribute : System.Attribute { } - - public class Folder - { - public string path => guid.ToPath(); - public string name => path.Split('/').Last(); - - public int color = 0; - public string icon = ""; - - - - public Folder(string guid) => this.guid = guid; - - string guid; - - - } - - - - #endregion - -} -#endif diff --git a/Assets/External/V_Utility/vFolders/VFolders.cs.meta b/Assets/External/V_Utility/vFolders/VFolders.cs.meta deleted file mode 100644 index 726886f6b..000000000 --- a/Assets/External/V_Utility/vFolders/VFolders.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cb4ae53db31ef4fdfbfc47484afb8192 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersCache.cs b/Assets/External/V_Utility/vFolders/VFoldersCache.cs deleted file mode 100644 index 4a031b944..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersCache.cs +++ /dev/null @@ -1,101 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using System.Reflection; -using System.Linq; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - -namespace VFolders -{ - [FilePath("Library/vFolders Cache.asset", FilePathAttribute.Location.ProjectFolder)] - public class VFoldersCache : ScriptableSingleton - { - - public Texture2D GetIcon(int key) - { - if (instance.iconTextures_byKey.ContainsKey(key)) - return instance.iconTextures_byKey[key]; - - if (instance.iconTextureDatas_byKey.ContainsKey(key)) - return instance.iconTextures_byKey[key] = instance.iconTextureDatas_byKey[key].GetTexture(); - - return null; - - } - - public void AddIcon(int key, Texture2D icon) - { - instance.iconTextures_byKey[key] = icon; - instance.iconTextureDatas_byKey[key] = new TextureData(icon); - - instance.Save(true); - - } - public bool HasIcon(int key) => instance.iconTextureDatas_byKey.ContainsKey(key); - - public Dictionary iconTextures_byKey = new(); - public SerializableDictionary iconTextureDatas_byKey = new(); - - [System.Serializable] - public class TextureData - { - public byte[] rawData; - public int width; - public int height; - public TextureFormat format; - public int mipCount; - public float pixelsPerPoint; - - public TextureData(Texture2D t) - { - rawData = t.GetRawTextureData(); - width = t.width; - height = t.height; - format = t.format; - mipCount = t.mipmapCount; - pixelsPerPoint = t.GetPropertyValue("pixelsPerPoint"); - - } - - public Texture2D GetTexture() - { - var t = new Texture2D(width, height, format, mipCount, false); - t.LoadRawTextureData(rawData); - t.SetPropertyValue("pixelsPerPoint", pixelsPerPoint); - t.hideFlags = HideFlags.DontSave; - t.Apply(); - - return t; - - } - - } - - - - - public SerializableDictionary folderStates_byGuid = new(); - - [System.Serializable] - public class FolderState - { - public bool isEmpty; - - public List contentMinimapIconNames = new(); - - public string autoIconName = ""; - - public bool needsUpdate; - - } - - } -} -#endif diff --git a/Assets/External/V_Utility/vFolders/VFoldersCache.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersCache.cs.meta deleted file mode 100644 index 8cdb8933a..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersCache.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 69c14c9fceb5b4c968f55fe5786a0bee -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersController.cs b/Assets/External/V_Utility/vFolders/VFoldersController.cs deleted file mode 100644 index 317a55a1d..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersController.cs +++ /dev/null @@ -1,516 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFolders; -using static VFolders.VFoldersData; -using static VFolders.VFoldersCache; - - - -namespace VFolders -{ - public class VFoldersController - { - - public void UpdateExpandQueue() - { - if (treeViewAnimatesExpansion) return; - - if (!expandQueue_toAnimate.Any()) - { - if (!expandQueue_toCollapseAfterAnimation.Any()) return; - - foreach (var id in expandQueue_toCollapseAfterAnimation) - SetExpanded_withoutAnimation(id, false); - - expandQueue_toCollapseAfterAnimation.Clear(); - - return; - } - - - var iid = expandQueue_toAnimate.First().id; - var expand = expandQueue_toAnimate.First().expand; - - - if (expandedIds.Contains(iid) != expand) - SetExpanded_withAnimation(iid, expand); - - expandQueue_toAnimate.RemoveAt(0); - - - window.Repaint(); - - } - - public List expandQueue_toAnimate = new(); - public List expandQueue_toCollapseAfterAnimation = new(); - - public struct ExpandQueueEntry { public int id; public bool expand; } - - public bool animatingExpansion => expandQueue_toAnimate.Any() || expandQueue_toCollapseAfterAnimation.Any(); - - - - - - - public void UpdateScrollAnimation() - { - if (!animatingScroll) return; - - - var lerpSpeed = 10; - - var lerpedScrollPos = SmoothDamp(currentScrollPos, targetScrollPos, lerpSpeed, ref scrollPosDerivative, editorDeltaTime); - - SetScrollPos_withoutAnimation(lerpedScrollPos); - - window.Repaint(); - - - - if (lerpedScrollPos.DistanceTo(targetScrollPos) > .4f) return; - - SetScrollPos_withoutAnimation(targetScrollPos); - - animatingScroll = false; - - - } - - public float targetScrollPos; - public float scrollPosDerivative; - - public bool animatingScroll; - - - - - - - - public void UpdateHighlightAnimation() - { - if (!animatingHighlight) return; - - - var lerpSpeed = 1.2f; - - SmoothDamp(ref highlightAmount, 0, lerpSpeed, ref highlightDerivative, editorDeltaTime); - - window.Repaint(); - - - - if (highlightAmount > .05f) return; - - highlightAmount = 0; - - animatingHighlight = false; - - - } - - public float highlightAmount; - public float highlightDerivative; - - public bool animatingHighlight; - - public string folderToHighlight; - - - - - - - - public void UpdateState() - { - isOneColumn = window.GetFieldValue("m_ViewMode") == 0; - - treeViewController = window.GetFieldValue(isOneColumn ? "m_AssetTree" : "m_FolderTree"); - treeViewControllerData = treeViewController?.GetPropertyValue("data"); - - - - var treeViewState = treeViewController?.GetPropertyValue("state"); - - currentScrollPos = treeViewState?.scrollPos.y ?? 0; - - expandedIds = treeViewState?.expandedIDs ?? new List(); - - - - var treeViewAnimator = treeViewController.GetMemberValue("m_ExpansionAnimator"); - var treeViewAnimatorSetup = treeViewAnimator.GetMemberValue("m_Setup"); - - treeViewAnimatesScroll = treeViewController.GetMemberValue("m_FramingAnimFloat").isAnimating; - - treeViewAnimatesExpansion = treeViewAnimator.GetMemberValue("isAnimating"); - - } - - bool isOneColumn; - - object treeViewController; - object treeViewControllerData; - - public float currentScrollPos; - - public List expandedIds = new(); - - public bool treeViewAnimatesScroll; - public bool treeViewAnimatesExpansion; - - public int GetRowIndex(int instanceId) - { - return treeViewControllerData.InvokeMethod("GetRow", instanceId); - } - - - - - - - - - - - - - - - - - public void ToggleExpanded(TreeViewItem item) - { - SetExpanded_withAnimation(item.id, !expandedIds.Contains(item.id)); - - window.Repaint(); - - } - - public void CollapseEverything() - { - - - var idsToCollapse_roots = expandedIds.Where(id => EditorUtility.InstanceIDToObject(id).GetPath() is string path && - path.HasParentPath() && - (path.GetParentPath() == "Assets" || path.GetParentPath() == "Packages")); - - - var idsToCollapse_children = expandedIds.Where(id => EditorUtility.InstanceIDToObject(id).GetPath() is string path && - !path.IsNullOrEmpty() && - path != "Assets" && - path != "Packages" && - !idsToCollapse_roots.Contains(id)); - - - expandQueue_toCollapseAfterAnimation = idsToCollapse_children.ToList(); - - expandQueue_toAnimate = idsToCollapse_roots.Select(id => new ExpandQueueEntry { id = id, expand = false }) - .OrderBy(row => GetRowIndex(row.id)).ToList(); - - - window.Repaint(); - - } - - public void CollapseEverythingExcept(TreeViewItem targetItem) - { - - List getParents(TreeViewItem item) - { - var parents = new List(); - - while (item.parent != null) - parents.Add(item = item.parent); - - return parents; - - } - - var targetItemParents = getParents(targetItem); - - - - var expandedVisibleItems = new List(); - - foreach (var expandedId in expandedIds) - if (GetRowIndex(expandedId) is int rowIndex && rowIndex != -1) - expandedVisibleItems.Add(treeViewControllerData.InvokeMethod("GetItem", rowIndex)); - - - - var itemsToCollapse = expandedVisibleItems.ToList(); - - itemsToCollapse.Remove(targetItem); - itemsToCollapse.RemoveAll(r => targetItemParents.Contains(r)); - itemsToCollapse.RemoveAll(r => itemsToCollapse.Intersect(getParents(r)).Any()); - - - - expandQueue_toAnimate = itemsToCollapse.Select(item => new ExpandQueueEntry { id = item.id, expand = false }) - .Append(new ExpandQueueEntry { id = targetItem.id, expand = true }) - .OrderBy(r => GetRowIndex(r.id)).ToList(); - - - window.Repaint(); - - } - - - - - - public void SetExpandedIds_withAnimation(List targetExpandedIds) - { - - var toExpand = targetExpandedIds.Except(expandedIds).ToHashSet(); - var toCollapse = expandedIds.Except(targetExpandedIds).ToHashSet(); - - - - // hanlde non-animated expansions/collapses - - bool hasParentToCollapse(int id) - { - var o = Resources.InstanceIDToObject(id); - - if (!o) return false; - - - var assetPath = AssetDatabase.GetAssetPath(o); - - if (!assetPath.HasParentPath()) return false; - if (assetPath == "Assets") return false; - - - var parentAsset = AssetDatabase.LoadAssetAtPath(assetPath.GetParentPath()); - - if (!parentAsset) return false; // packages item - - - var parentId = parentAsset.GetInstanceID(); - - return toCollapse.Contains(parentId) - || hasParentToCollapse(parentId); - - } - bool areAllParentsExpanded(int id) - { - var o = Resources.InstanceIDToObject(id); - - if (!o) return true; - - - var assetPath = AssetDatabase.GetAssetPath(o); - - if (!assetPath.HasParentPath()) return true; - if (assetPath == "Assets") return true; - - - var parentAsset = AssetDatabase.LoadAssetAtPath(assetPath.GetParentPath()); - - if (!parentAsset) return true; // packages item - - - var parentId = parentAsset.GetInstanceID(); - - return expandedIds.Contains(parentId) - && areAllParentsExpanded(parentId); - - } - - var toExpand_beforeAnimation = toExpand.Where(id => !areAllParentsExpanded(id)).ToHashSet(); - var toCollapse_afterAnimation = toCollapse.Where(id => hasParentToCollapse(id)).ToHashSet(); - - - foreach (var id in toExpand_beforeAnimation) - SetExpanded_withoutAnimation(id, true); - - foreach (var id in toCollapse_afterAnimation) - expandQueue_toCollapseAfterAnimation.Add(id); - - - toExpand.ExceptWith(toExpand_beforeAnimation); - toCollapse.ExceptWith(toCollapse_afterAnimation); - - - - - // setup animation - - expandQueue_toAnimate = toCollapse.Select(id => new ExpandQueueEntry { id = id, expand = false }) - .Concat(toExpand.Select(id => new ExpandQueueEntry { id = id, expand = true })) - .OrderBy(r => GetRowIndex(r.id)).ToList(); - - } - public void SetExpandedIds_withoutAnimation(List targetExpandedIds) - { - treeViewControllerData.InvokeMethod("SetExpandedIDs", targetExpandedIds.ToArray()); - } - - public void SetExpanded_withAnimation(int instanceId, bool expanded) - { - treeViewController.InvokeMethod("ChangeFoldingForSingleItem", instanceId, expanded); - } - public void SetExpanded_withoutAnimation(int instanceId, bool expanded) - { - treeViewControllerData.InvokeMethod("SetExpanded", instanceId, expanded); - } - - - - public void SetScrollPos_withAnimation(float targetScrollPos) - { - if (targetScrollPos.DistanceTo(currentScrollPos) < .05f) return; - - this.targetScrollPos = targetScrollPos; - - animatingScroll = true; - - } - public void SetScrollPos_withoutAnimation(float targetScrollPos) - { - treeViewController.GetPropertyValue("state").scrollPos = Vector2.up * targetScrollPos; - } - - - - public void RevealFolder(string path, bool expand, bool highlight, bool snapToTopMargin) - { - - int getId(string path) => AssetDatabase.LoadAssetAtPath(path).GetInstanceID(); - - - var idsToExpand = new List(); - - if (expand) - idsToExpand.Add(getId(path)); - - var cur = path; - while (!(cur = cur.GetParentPath()).IsNullOrEmpty()) - idsToExpand.Add(getId(cur)); - - idsToExpand.RemoveAll(r => expandedIds.Contains(r)); - - - - - foreach (var id in idsToExpand.SkipLast(1)) - SetExpanded_withoutAnimation(id, true); - - if (idsToExpand.Any()) - SetExpanded_withAnimation(idsToExpand.Last(), true); - - - - - var rowCount = treeViewControllerData.GetMemberValue("m_Rows").Count; - var maxScrollPos = rowCount * 16 - window.position.height + (isOneColumn ? 49.9f : 45.9f); - - var rowIndex = treeViewControllerData.InvokeMethod("GetRow", getId(path)); - var rowPos = rowIndex * 16f + (isOneColumn ? 11 : 23); - - var scrollAreaHeight = window.GetMemberValue("m_TreeViewRect").height; - - - - - var margin = 48; - - var targetScrollPos = 0f; - - if (snapToTopMargin) - targetScrollPos = (rowPos - margin).Min(maxScrollPos) - .Max(0); - else - targetScrollPos = currentScrollPos.Min(rowPos - margin) - .Max(rowPos - scrollAreaHeight + margin) - .Min(maxScrollPos) - .Max(0); - if (targetScrollPos < 25) - targetScrollPos = 0; - - SetScrollPos_withAnimation(targetScrollPos); - - - - - - if (!highlight) return; - - highlightAmount = 2.2f; - - animatingHighlight = true; - - folderToHighlight = path; - - - } - - public void OpenFolder(string path) - { - // update search - window.GetMemberValue("m_SearchFilter").InvokeMethod("ClearSearch"); - window.GetMemberValue("m_SearchFilter").SetMemberValue("folders", new[] { path }); - - - // update folder tree - window.GetMemberValue("m_FolderTree").InvokeMethod("SetSelection", new[] { AssetDatabase.LoadAssetAtPath(path).GetInstanceID() }, false); - - - // update list area - var listAreaRect = window.GetMemberValue("m_ListAreaRect"); - var searchFilter = window.GetMemberValue("m_SearchFilter"); - var checkThumbnails = false; - var assetToInstanceId = (System.Func)((s) => typeof(AssetDatabase).InvokeMethod("GetMainAssetInstanceID", s)); - - window.GetMemberValue("m_ListArea")?.InvokeMethod("InitForSearch", listAreaRect, HierarchyType.Assets, searchFilter, checkThumbnails, assetToInstanceId); - - - // updat breadcrumbs - window.GetMemberValue("m_BreadCrumbs").Clear(); - - - - // pretty much the same as ProjectBrowser.ShowFolderContents() - // but without m_FolderTree.SetSelection() - - } - - - - - - - - - - - - - public VFoldersController(EditorWindow window) => this.window = window; - - public EditorWindow window; - - public VFoldersGUI gui => VFolders.guis_byWindow[window]; - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersController.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersController.cs.meta deleted file mode 100644 index 290180f45..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 380edf2cfb553464d9f7ec73602e93d1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersData.cs b/Assets/External/V_Utility/vFolders/VFoldersData.cs deleted file mode 100644 index 4db4970e7..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersData.cs +++ /dev/null @@ -1,144 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Serialization; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using System.Reflection; -using System.Linq; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - - -namespace VFolders -{ - public class VFoldersData : ScriptableObject, ISerializationCallbackReceiver - { - - public SerializableDictionary folderDatas_byGuid = new(); - - [System.Serializable] - public class FolderData - { - public string iconNameOrGuid = ""; - public int colorIndex = 0; - - public bool isIconRecursive; - public bool isColorRecursive; - - } - - public void OnBeforeSerialize() => VFolders.OnDataSerialization(); - public void OnAfterDeserialize() { } - - - - - public List bookmarks = new(); - - [System.Serializable] - public class Bookmark - { - - public string name => isDeleted ? "Deleted" : guid.ToPath().GetFilename(); - - - public bool isDeleted => !AssetDatabase.IsValidFolder(guid.ToPath()); - - - - public Bookmark(Object o) => guid = o.GetGuid(); - - public string guid; - - } - - - - - - - - - [CustomEditor(typeof(VFoldersData))] - class Editor : UnityEditor.Editor - { - public override void OnInspectorGUI() - { - var style = new GUIStyle(EditorStyles.label) { wordWrap = true }; - - void normal() - { - if (storeDataInMetaFiles) return; - - SetGUIEnabled(false); - BeginIndent(0); - - Space(10); - EditorGUILayout.LabelField("This file stores data about which icons and colors are assigned to folders, along with bookmarks from navigation bar.", style); - - Space(6); - GUILayout.Label("If there are multiple people working on the project, it's better to store icon and color data in .meta files of folders to avoid merge conflicts. To do that, click the ⋮ button at the top right corner and enable Team Mode.", style); - - EndIndent(10); - ResetGUIEnabled(); - } - void meta() - { - if (!storeDataInMetaFiles) return; - - SetGUIEnabled(false); - BeginIndent(0); - - Space(10); - EditorGUILayout.LabelField("Icon and color data is currently stored in folders .meta files of folders, and this file only contains bookmarks from navigation bar.", style); - - Space(6); - GUILayout.Label("If you want all data to be stored in this file, click the ⋮ button at the top right corner and disable Team Mode.", style); - - EndIndent(10); - ResetGUIEnabled(); - } - - normal(); - meta(); - - } - } - - public static bool storeDataInMetaFiles { get => EditorPrefsCached.GetBool("vFolders-teamModeEnabled", false); set => EditorPrefsCached.SetBool("vFolders-teamModeEnabled", value); } - - - - [ContextMenu("Enable Team Mode", isValidateFunction: false, priority: 1)] - public void EnableTeamMode() - { - var option = EditorUtility.DisplayDialogComplex("Licensing notice", - "To use vFolders 2 within a team, licenses must be purchased for each individual user as per the Asset Store EULA.\n\n Sharing one license across the team is illegal and considered piracy.", - "Acknowledge", - "Cancel", - "Purchase more seats"); - if (option == 0) - storeDataInMetaFiles = true; - - if (option == 2) - Application.OpenURL("https://prf.hn/click/camref:1100lGLBn/pubref:teammode/destination:https://assetstore.unity.com/packages/tools/utilities/vfolders-2-255470"); - // Application.OpenURL("https://assetstore.unity.com/packages/slug/255470"); - - } - - [ContextMenu("Disable Team Mode", isValidateFunction: false, priority: 2)] - public void DisableTeamMode() => storeDataInMetaFiles = false; - - [ContextMenu("Enable Team Mode", isValidateFunction: true, priority: 1)] bool asd() => !storeDataInMetaFiles; - [ContextMenu("Disable Team Mode", isValidateFunction: true, priority: 2)] bool ads() => storeDataInMetaFiles; - - - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersData.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersData.cs.meta deleted file mode 100644 index 30bf11c43..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersData.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: adb9c12a8c6c949f7af83a3d238359d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersGUI.cs b/Assets/External/V_Utility/vFolders/VFoldersGUI.cs deleted file mode 100644 index f63198d83..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersGUI.cs +++ /dev/null @@ -1,1260 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFolders; -using static VFolders.VFoldersData; -using static VFolders.VFoldersCache; - - - -namespace VFolders -{ - public class VFoldersGUI - { - - public void RowGUI(Rect rowRect, string guid, int instanceId) - { - var fullRowRect = rowRect.AddWidthFromRight(rowRect.x); - - var isRowHovered = fullRowRect.IsHovered(); - - var isListArea = rowRect.x == 14; - - var isFolder = AssetDatabase.IsValidFolder(guid.ToPath()); - var isAsset = !isFolder && !guid.IsNullOrEmpty(); - var isFavorite = !isFolder && !isAsset && rowRect.x != 16; - - var isFavoritesRoot = rowRect.x == 16 && !isFolder && rowRect.y == 0; - var isAssetsRoot = rowRect.x == 16 && isFolder && guid.ToPath() == "Assets"; - var isPackagesRoot = rowRect.x == 16 && !isFavoritesRoot && !isAssetsRoot && guid.IsNullOrEmpty(); - - var useMinimalMode = VFoldersMenu.minimalModeEnabled && !isListArea; - var useBackgroundColors = VFoldersMenu.backgroundColorsEnabled || useMinimalMode; - var useHierarchyLines = VFoldersMenu.hierarchyLinesEnabled && !isListArea; - var useContentMinimap = VFoldersMenu.contentMinimapEnabled; - var useZebraStriping = VFoldersMenu.zebraStripingEnabled; - - - - TreeViewItem treeItem = null; - - var isRowSelected = false; - var isRowBeingRenamed = false; - - void setObjects() - { - if (isListArea) return; - - if (!curEvent.isRepaint) // only needed for drawing, - if (!curEvent.isMouseUp) // altClick, - if (!isRowHovered) // and setting last hovered tree item - return; - - - void set_treeItem_byRect() - { - if (treeViewAnimatesExpansion) return; - - var offest = isTwoColumns ? -15 : -4; - - - if ((rowRect.y + offest) % 16 != 0) return; - - var rowIndex = ((rowRect.y + offest) / 16).ToInt(); - - - if (rowIndex < 0 || rowIndex >= rows.Count) return; - if (rows == null) return; - - treeItem = rows[rowIndex]; - - } - void set_treeItem_byInstanceId() - { - if (treeItem != null) return; - if (isFavorite || isFavoritesRoot) return; - - treeItem = treeViewController?.InvokeMethod("FindItem", instanceId); - - } - - set_treeItem_byRect(); - set_treeItem_byInstanceId(); - - } - void setState() - { - void set_isRowSelected_oneColumn() - { - if (!curEvent.isRepaint) return; - if (isListArea) return; - if (treeItem == null) return; - if (isTwoColumns) return; - - - var dragging = treeView_dragSelectionList?.Any() == true; - - isRowSelected = dragging ? (treeView_dragSelectionList.Contains(treeItem.id)) : Selection.Contains(treeItem.id); - - } - void set_isRowSelected_twoColumns() - { - if (!curEvent.isRepaint) return; - if (isListArea) return; - if (treeItem == null) return; - if (!isTwoColumns) return; - - - var dragging = treeView_dragSelectionList != null - && treeView_dragSelectionList.Any(); - - isRowSelected = dragging ? (treeView_dragSelectionList.Contains(treeItem.id)) : treeView_normalSelectionList != null && treeView_normalSelectionList.Contains(treeItem.id); - - } - void set_lastHovered() - { - if (isListArea) return; - if (!isRowHovered) return; - - lastHoveredRowRect_screenSpace = EditorGUIUtility.GUIToScreenRect(fullRowRect); - lastHoveredTreeItem = treeItem; - - } - void set_lastKnownMousePosition() - { - if (!curEvent.isRepaint) return; - - lastKnownMousePosition_screenSpace = curEvent.mousePosition_screenSpace; - - } - - set_isRowSelected_oneColumn(); - set_isRowSelected_twoColumns(); - set_lastHovered(); - set_lastKnownMousePosition(); - - isRowBeingRenamed = renamingRow && isRowSelected; - - } - - void drawing() - { - if (!curEvent.isRepaint) { hierarchyLines_isFirstRowDrawn = false; return; } - - - - var folderInfo = GetFolderInfo(guid); - - var rowHasColor = useBackgroundColors && folderInfo.hasColor; - - var rowHasCustomIcon = !isFolder ? false - : useBackgroundColors ? folderInfo.hasIcon - : folderInfo.hasIcon || folderInfo.hasColor; - var rowHasIcon = !useMinimalMode ? true - : rowHasCustomIcon || isAsset || isFavorite || isRowBeingRenamed; - - - var hideName = rowHasColor || !rowHasIcon; - var hideDefaultIcon = rowHasCustomIcon || !rowHasIcon; - - var drawTriangle = rowHasColor && treeItem?.hasChildren == true; - var drawName = rowHasColor || !rowHasIcon; - var drawDefaultIcon = (rowHasColor && !rowHasCustomIcon) && rowHasIcon; - - var makeTriangleBrighter = rowHasColor && isDarkTheme; - var makeNameBrighter = rowHasColor && isDarkTheme; - var makeIconBrighter = rowHasColor && isFolder; - - - - var defaultBackground = isListArea ? Greyscale(isDarkTheme ? .2f : .75f) - : GUIColors.windowBackground; - if (isRowSelected) - if (!isRowBeingRenamed) - defaultBackground = isTreeFocused ? GUIColors.selectedBackground - : Greyscale(isDarkTheme ? .3f : .68f); - - - - void hideName_() - { - if (!hideName) return; - if (isFavorite) return; - - var name = isListArea ? guid.ToPath().GetFilename() : treeItem != null ? treeItem.displayName : "Favorites"; - - var nameRect = rowRect.SetWidth(name.GetLabelWidth() + 3).MoveX(16).MoveX(isListArea ? 3 : 0); - - nameRect.Draw(defaultBackground); - - } - void hideDefaultIcon_() - { - if (!hideDefaultIcon) return; - - var iconRect = rowRect.SetWidth(16).MoveX(isListArea ? 3 : 0); - - iconRect.Draw(defaultBackground); - - } - - void color() - { - if (!rowHasColor) return; - - - - var color = (isDarkTheme ? Color.Lerp(folderInfo.color, Greyscale(.05f), .42f) - : Color.Lerp(folderInfo.color, Greyscale(.8f), .5f)).SetAlpha(1); - if (isRowHovered) - color *= isDarkTheme ? 1.1f : .92f; - - if (isRowSelected) - color *= isDarkTheme ? 1.2f : .8f; - - if (palette?.colorGradientsEnabled == false) - color = Lerp(color, Greyscale(.2f), isDarkTheme ? .25f : .03f); - - - - - - - var colorRect = rowRect.AddWidthFromRight(30).AddWidth(16); - - if (folderInfo.hasColorByRecursion) - colorRect = colorRect.AddWidthFromRight(folderInfo.maxColorRecursionDepth * 14); - - if (!isRowSelected && !folderInfo.hasColorByRecursion) - colorRect = colorRect.AddHeightFromMid(EditorGUIUtility.pixelsPerPoint >= 2 ? -.5f : -1); - - if (palette?.colorGradientsEnabled == false) { colorRect.Draw(color); return; } - - - var hasLeftGradient = colorRect.x > 4; - - if (hasLeftGradient) - colorRect = colorRect.AddWidthFromRight(3); - - - - var leftGradientWith = hasLeftGradient ? 22 : 0; - var rightGradientWidth = (fullRowRect.width * .77f).Min(colorRect.width - leftGradientWith); - - var leftGradientRect = colorRect.SetWidth(leftGradientWith); - var rightGradientRect = colorRect.SetWidthFromRight(rightGradientWidth); - - var flatColorRect = colorRect.SetX(leftGradientRect.xMax).SetXMax(rightGradientRect.x); - - - - - - - leftGradientRect.AddWidth(1).DrawCurtainLeft(color); - - flatColorRect.AddWidth(1).Draw(color); - - rightGradientRect.Draw(color.MultiplyAlpha(.1f)); - rightGradientRect.DrawCurtainRight(color); - - - } - void triangle() - { - if (!drawTriangle) return; - - - var triangleRect = rowRect.MoveX(-15).SetWidth(16).Resize(-1); - - GUI.Label(triangleRect, EditorGUIUtility.IconContent(expandedIds.Contains(treeItem.id) ? "IN_foldout_on" : "IN_foldout")); - - - if (!makeTriangleBrighter) return; - - GUI.Label(triangleRect, EditorGUIUtility.IconContent(expandedIds.Contains(treeItem.id) ? "IN_foldout_on" : "IN_foldout")); - - } - void name() - { - if (!drawName) return; - if (isRowBeingRenamed) return; - - - var nameRect = rowRect.MoveX(18).AddHeight(1); ; - - if (isListArea) - nameRect = nameRect.MoveX(3); - - if (!rowHasIcon) - nameRect = nameRect.MoveX(-17); - - if (makeNameBrighter) - nameRect = nameRect.MoveX(-2).MoveY(-.5f); - - - - var styleName = makeNameBrighter ? "WhiteLabel" : "TV Line"; - - if (isFavoritesRoot || isAssetsRoot || isPackagesRoot) - styleName = "BoldLabel"; - - - - var name = isFavoritesRoot ? "Favorites" : - isPackagesRoot ? "Packages" : - isListArea || treeItem == null ? guid.ToPath().GetFilename() : - treeItem.displayName; - - - - if (makeNameBrighter) - SetGUIColor(Greyscale(isRowSelected ? 1 : .93f)); - - GUI.skin.GetStyle(styleName).Draw(nameRect, name, false, false, isRowSelected, isTreeFocused && styleName != "BoldLabel"); - - if (makeNameBrighter) - ResetGUIColor(); - - } - void defaultIcon() - { - if (!drawDefaultIcon) return; - - - var iconRect = rowRect.SetWidth(16).MoveX(isListArea ? 3 : 0); - - var icon = isAsset ? AssetDatabase.GetCachedIcon(guid.ToPath()) - : makeIconBrighter ? EditorIcons.GetIcon(folderInfo.folderState.isEmpty ? "FolderEmpty On Icon" : "Folder On Icon") - : EditorIcons.GetIcon(folderInfo.folderState.isEmpty ? "FolderEmpty Icon" : "Folder Icon"); - - - SetLabelAlignmentCenter(); - - if (makeIconBrighter) - SetGUIColor(Greyscale(.88f)); - - GUI.DrawTexture(iconRect, icon); - - if (makeIconBrighter) - ResetGUIColor(); - - ResetLabelStyle(); - - } - void customIcon() - { - if (!rowHasCustomIcon) return; - - - var icon = GetSmallFolderIcon(folderInfo, removeColor: useBackgroundColors); - - if (useMinimalMode && folderInfo.hasIcon) - icon = EditorIcons.GetIcon(folderInfo.iconNameOrPath); - - if (!icon) return; - - - var iconRect = rowRect.SetWidth(16).MoveX(isListArea ? 3 : 0); - - iconRect = iconRect.SetWidth(iconRect.height / icon.height * icon.width); - - - GUI.DrawTexture(iconRect, icon); - - } - - void hierarchyLines() - { - if (!useHierarchyLines) return; - if (isListArea) return; - if (treeItem == null) return; - - - var lineThickness = 1f; - var lineColor = isDarkTheme ? Greyscale(1, .165f) : Greyscale(0, .23f); - - var depth = ((rowRect.x - 16) / 14).RoundToInt(); - - bool isLastChild(TreeViewItem item) => item.parent?.children?.LastOrDefault() == item; - bool hasChilren(TreeViewItem item) => item.children != null && item.children.Count > 0; - - void calcVerticalGaps_beforeFirstRowDrawn() - { - if (hierarchyLines_isFirstRowDrawn) return; - - hierarchyLines_verticalGaps.Clear(); - - var curItem = treeItem.parent; - var curDepth = depth - 1; - - while (curItem != null && curItem.parent != null) - { - if (isLastChild(curItem)) - hierarchyLines_verticalGaps.Add(curDepth - 1); - - curItem = curItem.parent; - curDepth--; - } - - } - void updateVerticalGaps_beforeNextRowDrawn() - { - if (isLastChild(treeItem)) - hierarchyLines_verticalGaps.Add(depth - 1); - - if (depth < hierarchyLines_prevRowDepth) - hierarchyLines_verticalGaps.RemoveAll(r => r >= depth); - - } - - void drawVerticals() - { - for (int i = 1; i < depth; i++) - if (!hierarchyLines_verticalGaps.Contains(i)) - rowRect.SetX(9 + i * 14 - lineThickness / 2) - .SetWidth(lineThickness) - .SetHeight(isLastChild(treeItem) && i == depth - 1 ? 8 + lineThickness / 2 : 16) - .Draw(lineColor); - - } - void drawHorizontals() - { - if (depth == 0) return; - if (depth == 1) return; - - rowRect.MoveX(-21) - .SetHeightFromMid(lineThickness) - .SetWidth(hasChilren(treeItem) ? 7 : 17) - .AddWidthFromRight(-lineThickness / 2f) - .Draw(lineColor); - - } - - - - calcVerticalGaps_beforeFirstRowDrawn(); - - drawVerticals(); - drawHorizontals(); - - updateVerticalGaps_beforeNextRowDrawn(); - - hierarchyLines_prevRowDepth = depth; - hierarchyLines_isFirstRowDrawn = true; - - } - void zebraStriping_() - { - if (!useZebraStriping) return; - - - var contrast = isDarkTheme ? .033f : .05f; - - - var firstRowY = isOneColumn ? 4 : -1; - - var t = 1 - (rowRect.y - firstRowY).PingPong(16f) / 16f; - - if (isRowHovered || isRowSelected) - if (!VFoldersPaletteWindow.instance || VFoldersPaletteWindow.instance.guids.Contains(guid)) - t = 1; - - if (t.Approx(0)) return; - - - - fullRowRect.Draw(Greyscale(isDarkTheme ? 1 : 0, contrast * t)); - - - } - void highlight_() - { - if (!controller.animatingHighlight) return; - if (guid.ToPath() != controller.folderToHighlight) return; - - - var highlightBrightness = isDarkTheme ? .16f : .35f; - - - var highlightAmount = controller.highlightAmount.Clamp01(); - - highlightAmount = highlightAmount * highlightAmount * (3 - 2 * highlightAmount); - - - fullRowRect.AddWidthFromRight(123).Draw(Greyscale(1, highlightBrightness * highlightAmount)); - - } - void hoverHighlight() - { - if (!VFoldersPaletteWindow.instance) - if (!rowRect.IsHovered()) return; - - if (VFoldersPaletteWindow.instance) - if (VFoldersPaletteWindow.instance.guids.Count > 1 || VFoldersPaletteWindow.instance.guids.First() != guid || !paletteOpenedOnRow) return; - - - fullRowRect.Draw(Greyscale(isDarkTheme ? 1 : 0, .06f)); - - } - - void contentMinimap() - { - if (!isFolder) return; - if (!useContentMinimap) return; - if (guid.IsNullOrEmpty()) return; - - void icon(Rect rect, string name) - { - var icon = EditorIcons.GetIcon(name); - - if (!icon) return; - - - SetGUIColor(Greyscale(1, isDarkTheme ? .5f : .7f)); - - GUI.DrawTexture(rect, icon); - - ResetGUIColor(); - - } - - - var iconDistance = 13; - var minButtonX = rowRect.x + guid.ToPath().GetFilename().GetLabelWidth() + iconDistance + 2; - var iconRect = fullRowRect.SetWidthFromRight(iconDistance).SetSizeFromMid(12, 12).MoveX(-1.5f); - - foreach (var iconName in folderInfo.folderState.contentMinimapIconNames) - { - if (iconRect.x < minButtonX) continue; - - icon(iconRect, iconName); - - iconRect = iconRect.MoveX(-iconDistance); - - } - - } - - - - fullRowRect.MarkInteractive(); - - hideName_(); - hideDefaultIcon_(); - - color(); - triangle(); - defaultIcon(); - customIcon(); - name(); - - hierarchyLines(); - zebraStriping_(); - highlight_(); - hoverHighlight(); - - contentMinimap(); - - } - - void altDrag() - { - if (!curEvent.holdingAlt) return; - - void mouseDown() - { - if (!curEvent.isMouseDown) return; - if (!isRowHovered) return; - - mouseDownPos = curEvent.mousePosition; - - } - void mouseDrag() - { - if (!curEvent.isMouseDrag) return; - if ((curEvent.mousePosition - mouseDownPos).magnitude < 5) return; - if (!rowRect.Contains(mouseDownPos)) return; - if (!rowRect.Contains(curEvent.mousePosition - curEvent.mouseDelta)) return; - if (DragAndDrop.objectReferences.Any()) return; - - DragAndDrop.PrepareStartDrag(); - DragAndDrop.objectReferences = new[] { AssetDatabase.LoadAssetAtPath(guid.ToPath()) }; - DragAndDrop.StartDrag(guid.ToPath().GetFilename()); - - } - - mouseDown(); - mouseDrag(); - - // altdrag has to be set up manually before altClick - // because altClick will use() mouseDown event to prevent selection change - - } - void altClick() - { - if (!isRowHovered) return; - if (!curEvent.holdingAlt) return; - if (!isFolder) return; - - void mouseDown() - { - if (!curEvent.isMouseDown) return; - - curEvent.Use(); - - } - void mouseUp() - { - if (!curEvent.isMouseUp) return; - - var selectedGuids = isListArea - ? - Selection.objects.Where(r => r is DefaultAsset).Select(r => r.GetPath().ToGuid()) - : -#if UNITY_2021_1_OR_NEWER - treeViewController.GetFieldValue("m_CachedSelection").GetFieldValue>("m_List") -#else - treeViewController?.GetMemberValue("state").GetMemberValue>("selectedIDs") -#endif - .Select(id => treeViewController.InvokeMethod("FindItem", id)) - .Where(r => r?.GetType().Name == "FolderTreeItem") - .Select(r => r.GetPropertyValue("Guid")) - .Where(r => r != null); - - - var editMultiSelection = selectedGuids.Count() > 1 && selectedGuids.Contains(guid); - - var guidsToEdit = (editMultiSelection ? selectedGuids.Where(r => AssetDatabase.IsValidFolder(r.ToPath())) : new[] { guid }).ToList(); - - - if (VFoldersPaletteWindow.instance && VFoldersPaletteWindow.instance.guids.SequenceEqual(guidsToEdit)) { VFoldersPaletteWindow.instance.Close(); return; } - - var openNearRect = rowRect; - var position = EditorGUIUtility.GUIToScreenPoint(new Vector2(curEvent.mousePosition.x + 20, openNearRect.y - 13)); - - if (!VFoldersPaletteWindow.instance) - VFoldersPaletteWindow.CreateInstance(position); - - VFoldersPaletteWindow.instance.Init(guidsToEdit); - VFoldersPaletteWindow.instance.Focus(); - - VFoldersPaletteWindow.instance.targetPosition = position; - - paletteOpenedOnRow = true; - paletteOpenedOnCell = false; - - if (editMultiSelection) - Selection.objects = null; - } - - mouseDown(); - mouseUp(); - - } - - - - setObjects(); - setState(); - - drawing(); - - altDrag(); - altClick(); - - } - - List hierarchyLines_verticalGaps = new(); - bool hierarchyLines_isFirstRowDrawn; - int hierarchyLines_prevRowDepth; - - Vector2 mouseDownPos; - - bool paletteOpenedOnRow; - - - - - public void CellGUI(Rect cellRect, string guid, int instanceId) - { - var isFolder = AssetDatabase.IsValidFolder(guid.ToPath()); - - void setLastVisibleSelectedForAltClick() - { - if (!isFolder) return; - if (!curEvent.isRepaint) return; - if (!Selection.objects.Contains(AssetDatabase.LoadAssetAtPath(guid.ToPath()))) return; - - lastVisibleSelectedCellRect = cellRect; - - } - - void drawing() - { - if (!curEvent.isRepaint) { namesDrawnForGuids.Clear(); return; } - - var folderInfo = isFolder ? GetFolderInfo(guid) : null; - var showingSecondNameLine = false; - - void hideIcon() - { - if (!isFolder) return; - if (!folderInfo.hasColor) return; - - cellRect.SetHeight(cellRect.width).Resize(4).Draw(EditorGUIUtility.isProSkin ? Greyscale(.2f) : Greyscale(.75f)); - - } - void icon() - { - if (!isFolder) return; - if (!folderInfo.hasColor && !folderInfo.hasIcon) return; - - DrawBigFolderIcon(cellRect, folderInfo); - - } - void twoLineName() - { - if (namesDrawnForGuids.Contains(guid)) return; // disables two-line names on subassets - if (!VFoldersMenu.twoLineNamesEnabled) return; - - - var isSelected = listArea_dragSelectionList.Any() ? listArea_dragSelectionList.Contains(instanceId) : Selection.instanceIDs.Contains(instanceId); - - var isCellBeingRenamed = isSelected && renamingCell; - - if (isCellBeingRenamed) return; - - - - var maxLineWidth = cellRect.width + 14; - - var name = guid.ToPath().GetFilename(withExtension: false); // Resources.InstanceIDToObject(instanceId).name; - - - string firstLine = null; - string secondLine = null; - - Rect firstLineRect = default; - Rect secondLineRect = default; - - - void getCachedLines() - { - if (twoLineNamesCachedForCellWidth != cellRect.width) - twoLineNamesCache.Clear(); - - if (!twoLineNamesCache.ContainsKey(name)) return; - - - firstLine = twoLineNamesCache[name].Item1; - secondLine = twoLineNamesCache[name].Item2; - - } - void calcLines() - { - if (twoLineNamesCache.ContainsKey(name)) return; - if (name.GetLabelWidth() < maxLineWidth) - { - firstLine = name; - - twoLineNamesCache[name] = (firstLine, secondLine); - twoLineNamesCachedForCellWidth = cellRect.width; - - return; - - } - - - var separators = new[] { ' ', '_', '-', '.' }; - - var splitIndexes_separators = Enumerable.Range(1, name.Length - 2).Where(i => separators.Contains(name[i])).Select(i => i + 1); - var splitIndexes_camelcase = Enumerable.Range(2, name.Length - 2).Where(i => name[i].IsUpper() && name[i - 1].IsLower() && !separators.Contains(name[i - 1])); - var splitIndexes_all = Enumerable.Range(1, name.Length - 1); - - bool splitSucceeded = false; - - - string fit(string s, IEnumerable splitIndexes, bool splitToRight, bool addEllipsis = false) - { - foreach (var i in splitToRight ? splitIndexes : splitIndexes.Reverse()) - { - var substring = splitToRight ? s[i..] : s[..i]; - - substring = substring.Trim(); - - if (addEllipsis) - substring += "…"; - - - - if (substring.GetLabelWidth() < maxLineWidth) - return substring; - - } - - return null; - - } - - void truncate() - { - if (splitIndexes_separators.Any()) return; - if (splitIndexes_camelcase.Any()) return; - - firstLine = fit(name, splitIndexes_all, splitToRight: false, addEllipsis: true); - - splitSucceeded = true; - - } - void split_clean() - { - if (splitSucceeded) return; - - - firstLine = null; - firstLine ??= fit(name, splitIndexes_separators, splitToRight: false); - firstLine ??= fit(name, splitIndexes_camelcase, splitToRight: false); - - if (firstLine == null) return; - - - - secondLine = name.Remove(firstLine); - - splitSucceeded = secondLine.GetLabelWidth() < maxLineWidth; - - } - void split_withEllipsis() - { - if (splitSucceeded) return; - - - secondLine = null; - secondLine ??= fit(name, splitIndexes_separators, splitToRight: true); - secondLine ??= fit(name, splitIndexes_camelcase, splitToRight: true); - secondLine ??= fit(name, splitIndexes_all, splitToRight: true); - - - - firstLine = name.Remove(secondLine).Trim(); - - if (firstLine.GetLabelWidth() > maxLineWidth) - firstLine = fit(firstLine, Enumerable.Range(0, firstLine.Length), splitToRight: false, addEllipsis: true); - - } - - - truncate(); - split_clean(); - split_withEllipsis(); - - firstLine = firstLine.Trim(); - secondLine = secondLine?.Trim(); - - twoLineNamesCache[name] = (firstLine, secondLine); - twoLineNamesCachedForCellWidth = cellRect.width; - - } - void calcLineRects() - { - firstLineRect = cellRect.SetHeightFromBottom(12).AddHeight(2).SetWidthFromMid(maxLineWidth).MoveY(-1); - - if (secondLine.IsNullOrEmpty()) return; - - if (isFolder) - firstLineRect = firstLineRect.MoveY(-4); - else - firstLineRect = firstLineRect.MoveY(-1); - - - - secondLineRect = firstLineRect.MoveY(12); - - } - - void hideDefaultName() - { - if (!curEvent.isRepaint) return; - - var defaultNameRect = cellRect.SetHeightFromBottom(16).AddHeight(2).AddWidthFromMid(12); - var maskColor = isDarkTheme ? Greyscale(.2f) : Greyscale(.75f); - - defaultNameRect.Draw(maskColor); - - } - void selectedbackground() - { - if (!isSelected) return; - - - var backgroundColor = isListAreaFocused ? GUIColors.selectedBackground : Greyscale(isDarkTheme ? .3f : .68f); - - - - var longestLine = secondLine?.Length > firstLine.Length ? secondLine : firstLine; - - var backgroundRect = firstLineRect.SetWidthFromMid(longestLine.GetLabelWidth(fontSize: 10) + 2).SetHeightFromMid(14); - - if (!secondLine.IsNullOrEmpty()) - backgroundRect = backgroundRect.SetYMax(secondLineRect.SetHeightFromMid(14).yMax); - - - - backgroundRect.DrawRounded(backgroundColor, 4); - - } - void drawName() - { - SetLabelAlignmentCenter(); - SetLabelFontSize(10); - SetGUIColor(isSelected && isListAreaFocused ? Greyscale(123, 123) : Greyscale(1)); - - GUI.Label(firstLineRect, firstLine); - - if (secondLine != null) - GUI.Label(secondLineRect, secondLine); - - ResetGUIColor(); - ResetLabelStyle(); - - } - - - getCachedLines(); - calcLines(); - calcLineRects(); - - hideDefaultName(); - selectedbackground(); - drawName(); - - showingSecondNameLine = secondLine != null; - - namesDrawnForGuids.Add(guid); - - } - void hoverHighlight() - { - - var highlightColor = isDarkTheme ? Greyscale(1, .058f) : Greyscale(0, .07f); - - - var highlightRect = cellRect.Resize(-2).AddHeight(4).AddWidthFromMid(4); - - if (showingSecondNameLine) - highlightRect = highlightRect.AddHeight(8); - - - - var hoverRect = cellRect.AddWidthFromMid(gridHorizontalSpacing).AddHeight(gridVerticalSpacing); - - hoverRect.MarkInteractive(); - - - - - if (!VFoldersPaletteWindow.instance) - if (!hoverRect.IsHovered()) return; - - if (VFoldersPaletteWindow.instance) - if (!VFoldersPaletteWindow.instance.guids.Contains(guid) || !paletteOpenedOnCell) return; - - - highlightRect.DrawRounded(highlightColor, 5); - - } - - hideIcon(); - icon(); - twoLineName(); - hoverHighlight(); - - } - - void altDrag() - { - if (!isFolder) return; - if (!curEvent.holdingAlt) return; - - void mouseDown() - { - if (!curEvent.isMouseDown) return; - if (!cellRect.IsHovered()) return; - - mouseDownPos = curEvent.mousePosition; - - } - void mouseDrag() - { - if (!curEvent.isMouseDrag) return; - if ((curEvent.mousePosition - mouseDownPos).magnitude < 5) return; - if (!cellRect.Contains(mouseDownPos)) return; - if (!cellRect.Contains(curEvent.mousePosition - curEvent.mouseDelta)) return; - if (DragAndDrop.objectReferences.Any()) return; - - DragAndDrop.PrepareStartDrag(); - DragAndDrop.objectReferences = new[] { AssetDatabase.LoadAssetAtPath(guid.ToPath()) }; - DragAndDrop.StartDrag(guid.ToPath().GetFilename()); - - } - - mouseDown(); - mouseDrag(); - - } - void altClick() - { - if (!isFolder) return; - if (!cellRect.IsHovered()) return; - if (!curEvent.holdingAlt) return; - - void mouseDown() - { - if (!curEvent.isMouseDown) return; - - curEvent.Use(); - - } - void mouseUp() - { - if (!curEvent.isMouseUp) return; - - var selectedFoldersGuids = Selection.objects.Where(r => r is DefaultAsset).Select(r => r.GetPath().ToGuid()); - - var editMultiSelection = selectedFoldersGuids.Count() > 1 && selectedFoldersGuids.Contains(guid); - - var guidsToEdit = (editMultiSelection ? selectedFoldersGuids : new[] { guid }).ToList(); - - - if (VFoldersPaletteWindow.instance && VFoldersPaletteWindow.instance.guids.SequenceEqual(guidsToEdit)) { VFoldersPaletteWindow.instance.Close(); return; } - - var openNearRect = editMultiSelection ? lastVisibleSelectedCellRect : cellRect; - var position = EditorGUIUtility.GUIToScreenPoint(new Vector2(openNearRect.xMax + 10, openNearRect.y - 5)); - - if (!VFoldersPaletteWindow.instance) - VFoldersPaletteWindow.CreateInstance(position); - - VFoldersPaletteWindow.instance.Init(guidsToEdit); - VFoldersPaletteWindow.instance.Focus(); - - VFoldersPaletteWindow.instance.targetPosition = position; - - paletteOpenedOnCell = true; - paletteOpenedOnRow = false; - - if (editMultiSelection) - Selection.objects = null; - } - - mouseDown(); - mouseUp(); - - } - - - setLastVisibleSelectedForAltClick(); - - drawing(); - - altDrag(); - altClick(); - - } - - Rect lastVisibleSelectedCellRect; - - HashSet namesDrawnForGuids = new(); - - Dictionary twoLineNamesCache = new(); - - float twoLineNamesCachedForCellWidth; - - bool paletteOpenedOnCell; - - - - - - - - - - - - public void UpdateState_Layout() - { - isOneColumn = window.GetFieldValue("m_ViewMode") == 0; - - - listArea = isTwoColumns ? window.GetFieldValue("m_ListArea") : null; - - treeViewController = window.GetFieldValue(isTwoColumns ? "m_FolderTree" : "m_AssetTree"); - treeViewControllerData = treeViewController?.GetPropertyValue("data"); - - rows = treeViewControllerData?.InvokeMethod>("GetRows"); - - - var treeViewState = treeViewController?.GetPropertyValue("state"); - - expandedIds = treeViewState?.expandedIDs ?? new List(); - - - - var treeViewAnimator = treeViewController?.GetMemberValue("m_ExpansionAnimator"); - - treeViewAnimatesExpansion = treeViewAnimator?.GetMemberValue("isAnimating") ?? false; - - } - public void UpdateState_Repaint() - { - var treeViewControlID = window.GetFieldValue("m_TreeViewKeyboardControlID"); - var listAreaControlID = window.GetFieldValue("m_ListKeyboardControlID"); - - isTreeFocused = EditorWindow.focusedWindow == window && (GUIUtility.keyboardControl == treeViewControlID || treeViewControlID == 0 || treeViewControlID == -1); - isListAreaFocused = EditorWindow.focusedWindow == window && (GUIUtility.keyboardControl == listAreaControlID || listAreaControlID == 0 || listAreaControlID == -1); - - renamingRow = EditorGUIUtility.editingTextField && treeViewController?.GetMemberValue("state")?.GetMemberValue("renameOverlay")?.InvokeMethod("IsRenaming") == true; - renamingCell = EditorGUIUtility.editingTextField && listArea?.InvokeMethod("GetRenameOverlay")?.InvokeMethod("IsRenaming") == true; - - - - var grid = listArea?.GetMemberValue("m_LocalAssets")?.GetMemberValue("m_Grid"); - - gridHorizontalSpacing = grid?.GetMemberValue("horizontalSpacing") ?? 0; - gridVerticalSpacing = grid?.GetMemberValue("verticalSpacing") ?? 0; - - - - listArea_dragSelectionList = listArea?.GetMemberValue("m_LocalAssets")?.GetMemberValue>("m_DragSelection") ?? new(); - treeView_dragSelectionList = treeViewController?.GetFieldValue("m_DragSelection")?.GetFieldValue>("m_List") ?? new(); - treeView_normalSelectionList = isTwoColumns ? treeViewController?.GetFieldValue("m_CachedSelection")?.GetFieldValue>("m_List") ?? new() : null; - - - // only treeView_normalSelectionList must be updated in repaint, the rest can be moved to UpdateState_Layout - // but they are all grouped here since they are only used for drawing - - } - - bool isOneColumn; - bool isTwoColumns => !isOneColumn; - - bool treeViewAnimatesExpansion; - - public object listArea; - - public object treeViewController; - public object treeViewControllerData; - - public IList rows; - - public List expandedIds = new(); - - bool isTreeFocused; - bool isListAreaFocused; - - bool renamingRow; - bool renamingCell; - - float gridVerticalSpacing; - float gridHorizontalSpacing; - - List listArea_dragSelectionList = new(); - List treeView_dragSelectionList = new(); - List treeView_normalSelectionList = new(); - - - - - - - - - - - - - - public void UpdateFoldersFirst() - { - if (!VFoldersMenu.foldersFirstEnabled) return; - if (Application.platform != RuntimePlatform.OSXEditor) return; - - void oneColumn() - { - if (isTwoColumns) return; - if (foldersFirst_initedForOneColumn) return; - - - var m_AssetTree = window.GetFieldValue("m_AssetTree"); - - if (m_AssetTree == null) return; - - m_AssetTree.GetPropertyValue("data").SetPropertyValue("foldersFirst", true); - m_AssetTree.InvokeMethod("ReloadData"); - - - foldersFirst_initedForOneColumn = true; - foldersFirst_initedForTwoColumns = false; - - } - void twoColumns() - { - if (!isTwoColumns) return; - if (foldersFirst_initedForTwoColumns) return; - - - var m_ListArea = window.GetFieldValue("m_ListArea"); - - if (m_ListArea == null) return; - - m_ListArea.SetPropertyValue("foldersFirst", true); - window.InvokeMethod("InitListArea"); - - - foldersFirst_initedForOneColumn = false; - foldersFirst_initedForTwoColumns = true; - - } - - oneColumn(); - twoColumns(); - - } - - bool foldersFirst_initedForOneColumn; - bool foldersFirst_initedForTwoColumns; - - - - - - - - - - - - - public VFoldersGUI(EditorWindow window) => this.window = window; - - public EditorWindow window; - - public VFoldersController controller => VFolders.controllers_byWindow[window]; - - } -} -#endif diff --git a/Assets/External/V_Utility/vFolders/VFoldersGUI.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersGUI.cs.meta deleted file mode 100644 index f66fff0d3..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersGUI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0743ead56bea942af9c21d27c5c45b62 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersHistory.cs b/Assets/External/V_Utility/vFolders/VFoldersHistory.cs deleted file mode 100644 index 11e425fd2..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersHistory.cs +++ /dev/null @@ -1,402 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFolders; -using static VFolders.VFoldersData; -using static VFolders.VFoldersCache; - - - -namespace VFolders -{ - [System.Serializable] - public class VFoldersHistory - { - - public void CheckTreeStateChange() - { - if (!VFoldersMenu.navigationBarEnabled) return; - if (!isOneColumn) return; - - if (lastTreeState == null) { lastTreeState = new() { scrollPos = currentScrollPos, expandedIds = expandedIds.ToList() }; return; } - - - var curTreeState = new TreeState(); - - var targetScrollPosChanged = false; - var targetExpandedIdsChanged = false; - - - - void set_curState_scrollPos() - { - if (controller.animatingScroll) - curTreeState.scrollPos = controller.targetScrollPos; - else - curTreeState.scrollPos = currentScrollPos; - - } - void set_curState_expandedIds() - { - var expandedIdsHashset = expandedIds.ToHashSet(); - - - - if (treeViewAnimatesExpansion) - if (animatingItemTragetExpanded_fromTreeViewExpandAnimator == true) - expandedIdsHashset.UnionWith(new HashSet() { animatingItemId_fromTreeViewExpandAnimator }); - else - expandedIdsHashset.ExceptWith(new HashSet() { animatingItemId_fromTreeViewExpandAnimator }); - - - - if (controller.animatingExpansion) - { - foreach (var r in controller.expandQueue_toAnimate) - if (r.expand) - expandedIdsHashset.UnionWith(new HashSet() { r.id }); - else - expandedIdsHashset.ExceptWith(new HashSet() { r.id }); - - expandedIdsHashset.ExceptWith(controller.expandQueue_toCollapseAfterAnimation.ToHashSet()); - } - - - curTreeState.expandedIds = expandedIdsHashset.ToList(); - - } - - void checkScrollPosChange() - { - if (framesSinceLastExpansionAnimation < 2) return; - if (framesSinceLastScrollAnimation < 2) return; - - if (curTreeState.scrollPos == lastTreeState.scrollPos) return; - - - - if (EditorApplication.timeSinceStartup - lastScrollTime > 2 || lastTargetStateChangeWasExpandedIds) - targetScrollPosChanged = true; - - lastScrollTime = EditorApplication.timeSinceStartup; - - } - void checkExpandedIdsChange() - { - if (lastTreeState.expandedIds.ToHashSet().SetEquals(curTreeState.expandedIds.ToHashSet())) return; - - targetExpandedIdsChanged = true; - - // lastTargetState.expandedIds.LogAll("lastTargetState"); - // curTargetState.expandedIds.LogAll("curTargetState"); - - } - - void registerStateChange() - { - if (!targetScrollPosChanged && !targetExpandedIdsChanged) return; - - - prevTreeStates.Add(lastTreeState); - nextTreeStates.Clear(); - - lastTargetStateChangeWasExpandedIds = targetExpandedIdsChanged; - - - if (prevTreeStates.Count > 50) - prevTreeStates.RemoveAt(0); - - - // if (targetScrollPosChanged && targetExpandedIdsChanged) - // "expand and scroll".Log(); - // else if (targetScrollPosChanged) - // "scroll".Log(); - // else if (targetExpandedIdsChanged) - // "expand".Log(); - - } - - void updateCountersSinceAnimation() - { - if (controller.animatingExpansion || treeViewAnimatesExpansion) - framesSinceLastExpansionAnimation = 0; - else - framesSinceLastExpansionAnimation++; - - if (controller.animatingScroll || treeViewAnimatesScroll) - framesSinceLastScrollAnimation = 0; - else - framesSinceLastScrollAnimation++; - - } - - - - set_curState_scrollPos(); - set_curState_expandedIds(); - - checkScrollPosChange(); - checkExpandedIdsChange(); - - registerStateChange(); - - updateCountersSinceAnimation(); - - - lastTreeState = curTreeState; - - } - - int framesSinceLastExpansionAnimation; - int framesSinceLastScrollAnimation; - - public double lastScrollTime = 0; - - bool lastTargetStateChangeWasExpandedIds; - - [System.NonSerialized] TreeState lastTreeState = null; - - - - public void CheckFolderPathChange() - { - if (!VFoldersMenu.navigationBarEnabled) return; - if (isOneColumn) return; - - var curFolderPath = window.GetMemberValue("m_SearchFilter").GetMemberValue("folders").FirstOrDefault(); - - if (curFolderPath.IsNullOrEmpty()) return; - - if (lastFolderPath.IsNullOrEmpty()) lastFolderPath = curFolderPath; - if (curFolderPath == lastFolderPath) return; - - - prevFolderPaths.Add(lastFolderPath); - nextFolderPaths.Clear(); - - if (prevFolderPaths.Count > 50) - prevFolderPaths.RemoveAt(0); - - - lastFolderPath = curFolderPath; - - } - - string lastFolderPath = ""; - - - - - - - - public void UpdateState() - { - if (!VFoldersMenu.navigationBarEnabled) return; - - - isOneColumn = window.GetFieldValue("m_ViewMode") == 0; - - var treeViewController = window.GetFieldValue(isOneColumn ? "m_AssetTree" : "m_FolderTree"); - var treeViewControllerData = treeViewController?.GetPropertyValue("data"); - - - - var treeViewControllerState = treeViewController?.GetPropertyValue("state"); - - currentScrollPos = treeViewControllerState?.scrollPos.y ?? 0; - - expandedIds = treeViewControllerState?.expandedIDs ?? new List(); - - - - var treeViewAnimator = treeViewController.GetMemberValue("m_ExpansionAnimator"); - var treeViewAnimatorSetup = treeViewAnimator.GetMemberValue("m_Setup"); - - treeViewAnimatesScroll = treeViewController.GetMemberValue("m_FramingAnimFloat").isAnimating; - - treeViewAnimatesExpansion = treeViewAnimator.GetMemberValue("isAnimating"); - animatingItemTragetExpanded_fromTreeViewExpandAnimator = treeViewAnimatorSetup?.GetMemberValue("expanding") ?? false; - animatingItemId_fromTreeViewExpandAnimator = treeViewAnimatorSetup?.GetMemberValue("item").GetMemberValue("id") ?? 0; - - } - - public bool isOneColumn; - public bool isTwoColumns => !isOneColumn; - - public bool isSearchActive; - - public float currentScrollPos; - - public List expandedIds = new(); - - public bool treeViewAnimatesScroll; - - public bool treeViewAnimatesExpansion; - public bool animatingItemTragetExpanded_fromTreeViewExpandAnimator; - public int animatingItemId_fromTreeViewExpandAnimator; - - - - - - - - - - - - - - - public void MoveBack_OneColumn(bool withAnimation = true) - { - var prevState = prevTreeStates.Last(); - - prevTreeStates.Remove(prevState); - nextTreeStates.Add(lastTreeState); - lastTreeState = prevState; - - - if (withAnimation) - { - controller.SetScrollPos_withAnimation(prevState.scrollPos); - controller.SetExpandedIds_withAnimation(prevState.expandedIds); - } - else - { - controller.SetScrollPos_withoutAnimation(prevState.scrollPos); - controller.SetExpandedIds_withoutAnimation(prevState.expandedIds); - } - - } - public void MoveForward_OneColumn(bool withAnimation = true) - { - var nextState = nextTreeStates.Last(); - - nextTreeStates.Remove(nextState); - prevTreeStates.Add(lastTreeState); - lastTreeState = nextState; - - - if (withAnimation) - { - controller.SetScrollPos_withAnimation(nextState.scrollPos); - controller.SetExpandedIds_withAnimation(nextState.expandedIds); - } - else - { - controller.SetScrollPos_withoutAnimation(nextState.scrollPos); - controller.SetExpandedIds_withoutAnimation(nextState.expandedIds); - } - - } - - public List prevTreeStates = new(); - public List nextTreeStates = new(); - - - - public void MoveBack_TwoColumns(bool withAnimation = true) - { - var prevPath = prevFolderPaths.Last(); - - prevFolderPaths.RemoveLast(); - nextFolderPaths.Add(lastFolderPath); - lastFolderPath = prevPath; - - - if (withAnimation) - { - controller.RevealFolder(prevPath, expand: false, highlight: false, snapToTopMargin: false); - controller.OpenFolder(prevPath); - } - else - { - window.InvokeMethod("ShowFolderContents", AssetDatabase.LoadAssetAtPath(prevPath).GetInstanceID(), true); - } - - } - public void MoveForward_TwoColumns(bool withAnimation = true) - { - var nextPath = nextFolderPaths.Last(); - - nextFolderPaths.RemoveLast(); - prevFolderPaths.Add(lastFolderPath); - lastFolderPath = nextPath; - - - if (withAnimation) - { - controller.RevealFolder(nextPath, expand: false, highlight: false, snapToTopMargin: false); - controller.OpenFolder(nextPath); - } - else - { - window.InvokeMethod("ShowFolderContents", AssetDatabase.LoadAssetAtPath(nextPath).GetInstanceID(), true); - } - - } - - public List prevFolderPaths = new(); - public List nextFolderPaths = new(); - - - - - - - - - - - - - - [System.Serializable] - public class TreeState - { - public List expandedIds = new(); - - public float scrollPos; - - } - - - - - - - - - public VFoldersHistory(EditorWindow window) => this.window = window; - - EditorWindow window; - - VFoldersGUI gui => VFolders.guis_byWindow[window]; - VFoldersController controller => VFolders.controllers_byWindow[window]; - - } - - - public class VFoldersHistorySingleton : ScriptableSingleton - { - public SerializableDictionary histories_byWindow = new(); - } - - -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersHistory.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersHistory.cs.meta deleted file mode 100644 index a0fc8da05..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersHistory.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2d3e0e15bb2714894bdfb696f7509428 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs b/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs deleted file mode 100644 index 028ed4216..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs +++ /dev/null @@ -1,5 +0,0 @@ - -// this file was present in a previus version and is supposed to be deleted now -// but asset store update delivery system doesn't allow deleting files -// so instead this file is now emptied -// feel free to delete it if you want diff --git a/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs.meta deleted file mode 100644 index 759e21270..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersIconEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fc2d205dd3ec1446d843e566b05c2eda -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersLibs.cs b/Assets/External/V_Utility/vFolders/VFoldersLibs.cs deleted file mode 100644 index 602d1503f..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersLibs.cs +++ /dev/null @@ -1,2252 +0,0 @@ - -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Text.RegularExpressions; -using System.Reflection; -using System.Linq; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Experimental.Rendering; -using UnityEditor; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - - - -namespace VFolders.Libs -{ - public static class VUtils - { - - #region Reflection - - - public static object GetFieldValue(this object o, string fieldName) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetFieldInfo(fieldName) is FieldInfo fieldInfo) - return fieldInfo.GetValue(target); - - - throw new System.Exception($"Field '{fieldName}' not found in type '{type.Name}' and its parent types"); - - } - public static object GetPropertyValue(this object o, string propertyName) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetPropertyInfo(propertyName) is PropertyInfo propertyInfo) - return propertyInfo.GetValue(target); - - - throw new System.Exception($"Property '{propertyName}' not found in type '{type.Name}' and its parent types"); - - } - public static object GetMemberValue(this object o, string memberName) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetFieldInfo(memberName) is FieldInfo fieldInfo) - return fieldInfo.GetValue(target); - - if (type.GetPropertyInfo(memberName) is PropertyInfo propertyInfo) - return propertyInfo.GetValue(target); - - - throw new System.Exception($"Member '{memberName}' not found in type '{type.Name}' and its parent types"); - - } - - public static void SetFieldValue(this object o, string fieldName, object value) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetFieldInfo(fieldName) is FieldInfo fieldInfo) - fieldInfo.SetValue(target, value); - - - else throw new System.Exception($"Field '{fieldName}' not found in type '{type.Name}' and its parent types"); - - } - public static void SetPropertyValue(this object o, string propertyName, object value) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetPropertyInfo(propertyName) is PropertyInfo propertyInfo) - propertyInfo.SetValue(target, value); - - - else throw new System.Exception($"Property '{propertyName}' not found in type '{type.Name}' and its parent types"); - - } - public static void SetMemberValue(this object o, string memberName, object value) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetFieldInfo(memberName) is FieldInfo fieldInfo) - fieldInfo.SetValue(target, value); - - else if (type.GetPropertyInfo(memberName) is PropertyInfo propertyInfo) - propertyInfo.SetValue(target, value); - - - else throw new System.Exception($"Member '{memberName}' not found in type '{type.Name}' and its parent types"); - - } - - public static object InvokeMethod(this object o, string methodName, params object[] parameters) // todo handle null params (can't get their type) - { - var type = o as Type ?? o.GetType(); - var target = o is Type ? null : o; - - - if (type.GetMethodInfo(methodName, parameters.Select(r => r.GetType()).ToArray()) is MethodInfo methodInfo) - return methodInfo.Invoke(target, parameters); - - - throw new System.Exception($"Method '{methodName}' not found in type '{type.Name}', its parent types and interfaces"); - - } - - - public static T GetFieldValue(this object o, string fieldName) => (T)o.GetFieldValue(fieldName); - public static T GetPropertyValue(this object o, string propertyName) => (T)o.GetPropertyValue(propertyName); - public static T GetMemberValue(this object o, string memberName) => (T)o.GetMemberValue(memberName); - public static T InvokeMethod(this object o, string methodName, params object[] parameters) => (T)o.InvokeMethod(methodName, parameters); - - - - - public static FieldInfo GetFieldInfo(this Type type, string fieldName) - { - if (fieldInfoCache.TryGetValue(type, out var fieldInfosByNames)) - if (fieldInfosByNames.TryGetValue(fieldName, out var fieldInfo)) - return fieldInfo; - - - if (!fieldInfoCache.ContainsKey(type)) - fieldInfoCache[type] = new Dictionary(); - - for (var curType = type; curType != null; curType = curType.BaseType) - if (curType.GetField(fieldName, maxBindingFlags) is FieldInfo fieldInfo) - return fieldInfoCache[type][fieldName] = fieldInfo; - - - return fieldInfoCache[type][fieldName] = null; - - } - public static PropertyInfo GetPropertyInfo(this Type type, string propertyName) - { - if (propertyInfoCache.TryGetValue(type, out var propertyInfosByNames)) - if (propertyInfosByNames.TryGetValue(propertyName, out var propertyInfo)) - return propertyInfo; - - - if (!propertyInfoCache.ContainsKey(type)) - propertyInfoCache[type] = new Dictionary(); - - for (var curType = type; curType != null; curType = curType.BaseType) - if (curType.GetProperty(propertyName, maxBindingFlags) is PropertyInfo propertyInfo) - return propertyInfoCache[type][propertyName] = propertyInfo; - - - return propertyInfoCache[type][propertyName] = null; - - } - public static MethodInfo GetMethodInfo(this Type type, string methodName, params Type[] argumentTypes) - { - var methodHash = methodName.GetHashCode() ^ argumentTypes.Aggregate(0, (hash, r) => hash ^= r.GetHashCode()); - - - if (methodInfoCache.TryGetValue(type, out var methodInfosByHashes)) - if (methodInfosByHashes.TryGetValue(methodHash, out var methodInfo)) - return methodInfo; - - - - if (!methodInfoCache.ContainsKey(type)) - methodInfoCache[type] = new Dictionary(); - - for (var curType = type; curType != null; curType = curType.BaseType) - if (curType.GetMethod(methodName, maxBindingFlags, null, argumentTypes, null) is MethodInfo methodInfo) - return methodInfoCache[type][methodHash] = methodInfo; - - foreach (var interfaceType in type.GetInterfaces()) - if (interfaceType.GetMethod(methodName, maxBindingFlags, null, argumentTypes, null) is MethodInfo methodInfo) - return methodInfoCache[type][methodHash] = methodInfo; - - - - return methodInfoCache[type][methodHash] = null; - - } - - static Dictionary> fieldInfoCache = new(); - static Dictionary> propertyInfoCache = new(); - static Dictionary> methodInfoCache = new(); - - - - - public const BindingFlags maxBindingFlags = (BindingFlags)62; - - - - - - - - - #endregion - - #region Linq - - - public static T NextTo(this IEnumerable e, T to) => e.SkipWhile(r => !r.Equals(to)).Skip(1).FirstOrDefault(); - public static T PreviousTo(this IEnumerable e, T to) => e.Reverse().SkipWhile(r => !r.Equals(to)).Skip(1).FirstOrDefault(); - public static T NextToOtFirst(this IEnumerable e, T to) => e.NextTo(to) ?? e.First(); - public static T PreviousToOrLast(this IEnumerable e, T to) => e.PreviousTo(to) ?? e.Last(); - - public static Dictionary MergeDictionaries(IEnumerable> dicts) - { - if (dicts.Count() == 0) return null; - if (dicts.Count() == 1) return dicts.First(); - - var mergedDict = new Dictionary(dicts.First()); - - foreach (var dict in dicts.Skip(1)) - foreach (var r in dict) - if (!mergedDict.ContainsKey(r.Key)) - mergedDict.Add(r.Key, r.Value); - - return mergedDict; - } - - public static IEnumerable InsertFirst(this IEnumerable ie, T t) => new[] { t }.Concat(ie); - - public static int IndexOfFirst(this List list, System.Func f) => list.FirstOrDefault(f) is T t ? list.IndexOf(t) : -1; - public static int IndexOfLast(this List list, System.Func f) => list.LastOrDefault(f) is T t ? list.IndexOf(t) : -1; - - public static void SortBy(this List list, System.Func keySelector) where T2 : System.IComparable => list.Sort((q, w) => keySelector(q).CompareTo(keySelector(w))); - - public static void RemoveValue(this IDictionary dictionary, TValue value) - { - if (dictionary.FirstOrDefault(r => r.Value.Equals(value)) is var kvp) - dictionary.Remove(kvp); - } - - public static void ForEach(this IEnumerable sequence, System.Action action) { foreach (T item in sequence) action(item); } - - - - public static T AddAt(this List l, T r, int i) - { - if (i < 0) i = 0; - if (i >= l.Count) - l.Add(r); - else - l.Insert(i, r); - return r; - } - public static T RemoveLast(this List l) - { - if (!l.Any()) return default; - - var r = l.Last(); - - l.RemoveAt(l.Count - 1); - - return r; - } - - public static void Add(this List list, params T[] items) - { - foreach (var r in items) - list.Add(r); - } - - - - - - - #endregion - - #region Math - - - public static bool Approx(this float f1, float f2) => Mathf.Approximately(f1, f2); - public static float DistanceTo(this float f1, float f2) => Mathf.Abs(f1 - f2); - public static float DistanceTo(this Vector2 f1, Vector2 f2) => (f1 - f2).magnitude; - public static float DistanceTo(this Vector3 f1, Vector3 f2) => (f1 - f2).magnitude; - public static float Dist(float f1, float f2) => Mathf.Abs(f1 - f2); - public static float Avg(float f1, float f2) => (f1 + f2) / 2; - public static float Abs(this float f) => Mathf.Abs(f); - public static int Abs(this int f) => Mathf.Abs(f); - public static float Sign(this float f) => f == 0 ? 0 : Mathf.Sign(f); - public static float Clamp(this float f, float f0, float f1) => Mathf.Clamp(f, f0, f1); - public static int Clamp(this int f, int f0, int f1) => Mathf.Clamp(f, f0, f1); - public static float Clamp01(this float f) => Mathf.Clamp(f, 0, 1); - public static Vector2 Clamp01(this Vector2 f) => new(f.x.Clamp01(), f.y.Clamp01()); - public static Vector3 Clamp01(this Vector3 f) => new(f.x.Clamp01(), f.y.Clamp01(), f.z.Clamp01()); - - - public static float Pow(this float f, float pow) => Mathf.Pow(f, pow); - public static int Pow(this int f, int pow) => (int)Mathf.Pow(f, pow); - - public static float Round(this float f) => Mathf.Round(f); - public static float Ceil(this float f) => Mathf.Ceil(f); - public static float Floor(this float f) => Mathf.Floor(f); - public static int RoundToInt(this float f) => Mathf.RoundToInt(f); - public static int CeilToInt(this float f) => Mathf.CeilToInt(f); - public static int FloorToInt(this float f) => Mathf.FloorToInt(f); - public static int ToInt(this float f) => (int)f; - public static float ToFloat(this int f) => (float)f; - public static float ToFloat(this double f) => (float)f; - - - public static float Sqrt(this float f) => Mathf.Sqrt(f); - - public static float Max(this float f, float ff) => Mathf.Max(f, ff); - public static float Min(this float f, float ff) => Mathf.Min(f, ff); - public static int Max(this int f, int ff) => Mathf.Max(f, ff); - public static int Min(this int f, int ff) => Mathf.Min(f, ff); - - public static float Loop(this float f, float boundMin, float boundMax) - { - while (f < boundMin) f += boundMax - boundMin; - while (f > boundMax) f -= boundMax - boundMin; - return f; - } - public static float Loop(this float f, float boundMax) => f.Loop(0, boundMax); - - public static float PingPong(this float f, float boundMin, float boundMax) => boundMin + Mathf.PingPong(f - boundMin, boundMax - boundMin); - public static float PingPong(this float f, float boundMax) => f.PingPong(0, boundMax); - - - public static float TriangleArea(Vector2 A, Vector2 B, Vector2 C) => Vector3.Cross(A - B, A - C).z.Abs() / 2; - public static Vector2 LineIntersection(Vector2 A, Vector2 B, Vector2 C, Vector2 D) - { - var a1 = B.y - A.y; - var b1 = A.x - B.x; - var c1 = a1 * A.x + b1 * A.y; - - var a2 = D.y - C.y; - var b2 = C.x - D.x; - var c2 = a2 * C.x + b2 * C.y; - - var d = a1 * b2 - a2 * b1; - - var x = (b2 * c1 - b1 * c2) / d; - var y = (a1 * c2 - a2 * c1) / d; - - return new Vector2(x, y); - - } - - public static float ProjectOn(this Vector2 v, Vector2 on) => Vector3.Project(v, on).magnitude; - public static float AngleTo(this Vector2 v, Vector2 to) => Vector2.Angle(v, to); - - public static Vector2 Rotate(this Vector2 v, float deg) => Quaternion.AngleAxis(deg, Vector3.forward) * v; - - public static float Smoothstep(this float f) { f = f.Clamp01(); return f * f * (3 - 2 * f); } - - public static float InverseLerp(this Vector2 v, Vector2 a, Vector2 b) - { - var ab = b - a; - var av = v - a; - return Vector2.Dot(av, ab) / Vector2.Dot(ab, ab); - } - - public static bool IsOdd(this int i) => i % 2 == 1; - public static bool IsEven(this int i) => i % 2 == 0; - - public static bool IsInRange(this int i, int a, int b) => i >= a && i <= b; - public static bool IsInRange(this float i, float a, float b) => i >= a && i <= b; - - public static bool IsInRangeOf(this int i, IList list) => i.IsInRange(0, list.Count - 1); - public static bool IsInRangeOf(this int i, T[] array) => i.IsInRange(0, array.Length - 1); - - - - [System.Serializable] - public class GaussianKernel - { - public static float[,] GenerateArray(int size, float sharpness = .5f) - { - float[,] kr = new float[size, size]; - - if (size == 1) { kr[0, 0] = 1; return kr; } - - - var sigma = 1f - Mathf.Pow(sharpness, .1f) * .99999f; - var radius = (size / 2f).FloorToInt(); - - - var a = -2f * radius * radius / Mathf.Log(sigma); - var sum = 0f; - - for (int y = 0; y < size; y++) - for (int x = 0; x < size; x++) - { - var rX = size % 2 == 1 ? (x - radius) : (x - radius) + .5f; - var rY = size % 2 == 1 ? (y - radius) : (y - radius) + .5f; - var dist = Mathf.Sqrt(rX * rX + rY * rY); - kr[x, y] = Mathf.Exp(-dist * dist / a); - sum += kr[x, y]; - } - - for (int y = 0; y < size; y++) - for (int x = 0; x < size; x++) - kr[x, y] /= sum; - - return kr; - } - - - - public GaussianKernel(bool isEvenSize = false, int radius = 7, float sharpness = .5f) - { - this.isEvenSize = isEvenSize; - this.radius = radius; - this.sharpness = sharpness; - } - - public bool isEvenSize = false; - public int radius = 7; - public float sharpness = .5f; - - public int size => radius * 2 + (isEvenSize ? 0 : 1); - public float sigma => 1 - Mathf.Pow(sharpness, .1f) * .99999f; - - public float[,] Array2d() // todo test and use GenerateArray - { - float[,] kr = new float[size, size]; - - if (size == 1) { kr[0, 0] = 1; return kr; } - - var a = -2f * radius * radius / Mathf.Log(sigma); - var sum = 0f; - - for (int y = 0; y < size; y++) - for (int x = 0; x < size; x++) - { - var rX = size % 2 == 1 ? (x - radius) : (x - radius) + .5f; - var rY = size % 2 == 1 ? (y - radius) : (y - radius) + .5f; - var dist = Mathf.Sqrt(rX * rX + rY * rY); - kr[x, y] = Mathf.Exp(-dist * dist / a); - sum += kr[x, y]; - } - - for (int y = 0; y < size; y++) - for (int x = 0; x < size; x++) - kr[x, y] /= sum; - - return kr; - } - public float[] ArrayFlat() - { - var gk = Array2d(); - float[] flat = new float[size * size]; - - for (int i = 0; i < size; i++) - for (int j = 0; j < size; j++) - flat[(i * size + j)] = gk[i, j]; - - return flat; - } - - } - - - - - - - - #endregion - - #region Lerping - - - public static float LerpT(float lerpSpeed, float deltaTime) => 1 - Mathf.Exp(-lerpSpeed * 2f * deltaTime); - public static float LerpT(float lerpSpeed) => LerpT(lerpSpeed, Time.deltaTime); - - public static float Lerp(float f1, float f2, float t) => Mathf.LerpUnclamped(f1, f2, t); - public static float Lerp(ref float f1, float f2, float t) => f1 = Lerp(f1, f2, t); - - public static Vector2 Lerp(Vector2 f1, Vector2 f2, float t) => Vector2.LerpUnclamped(f1, f2, t); - public static Vector2 Lerp(ref Vector2 f1, Vector2 f2, float t) => f1 = Lerp(f1, f2, t); - - public static Vector3 Lerp(Vector3 f1, Vector3 f2, float t) => Vector3.LerpUnclamped(f1, f2, t); - public static Vector3 Lerp(ref Vector3 f1, Vector3 f2, float t) => f1 = Lerp(f1, f2, t); - - public static Color Lerp(Color f1, Color f2, float t) => Color.LerpUnclamped(f1, f2, t); - public static Color Lerp(ref Color f1, Color f2, float t) => f1 = Lerp(f1, f2, t); - - - public static float Lerp(float current, float target, float speed, float deltaTime) => Mathf.Lerp(current, target, LerpT(speed, deltaTime)); - public static float Lerp(ref float current, float target, float speed, float deltaTime) => current = Lerp(current, target, speed, deltaTime); - - public static Vector2 Lerp(Vector2 current, Vector2 target, float speed, float deltaTime) => Vector2.Lerp(current, target, LerpT(speed, deltaTime)); - public static Vector2 Lerp(ref Vector2 current, Vector2 target, float speed, float deltaTime) => current = Lerp(current, target, speed, deltaTime); - - public static Vector3 Lerp(Vector3 current, Vector3 target, float speed, float deltaTime) => Vector3.Lerp(current, target, LerpT(speed, deltaTime)); - public static Vector3 Lerp(ref Vector3 current, Vector3 target, float speed, float deltaTime) => current = Lerp(current, target, speed, deltaTime); - - public static float SmoothDamp(float current, float target, float speed, ref float derivative, float deltaTime, float maxSpeed) => Mathf.SmoothDamp(current, target, ref derivative, .5f / speed, maxSpeed, deltaTime); - public static float SmoothDamp(ref float current, float target, float speed, ref float derivative, float deltaTime, float maxSpeed) => current = SmoothDamp(current, target, speed, ref derivative, deltaTime, maxSpeed); - public static float SmoothDamp(float current, float target, float speed, ref float derivative, float deltaTime) => Mathf.SmoothDamp(current, target, ref derivative, .5f / speed, Mathf.Infinity, deltaTime); - public static float SmoothDamp(ref float current, float target, float speed, ref float derivative, float deltaTime) => current = SmoothDamp(current, target, speed, ref derivative, deltaTime); - public static float SmoothDamp(float current, float target, float speed, ref float derivative) => SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - public static float SmoothDamp(ref float current, float target, float speed, ref float derivative) => current = SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - - public static Vector2 SmoothDamp(Vector2 current, Vector2 target, float speed, ref Vector2 derivative, float deltaTime) => Vector2.SmoothDamp(current, target, ref derivative, .5f / speed, Mathf.Infinity, deltaTime); - public static Vector2 SmoothDamp(ref Vector2 current, Vector2 target, float speed, ref Vector2 derivative, float deltaTime) => current = SmoothDamp(current, target, speed, ref derivative, deltaTime); - public static Vector2 SmoothDamp(Vector2 current, Vector2 target, float speed, ref Vector2 derivative) => SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - public static Vector2 SmoothDamp(ref Vector2 current, Vector2 target, float speed, ref Vector2 derivative) => current = SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - - public static Vector3 SmoothDamp(Vector3 current, Vector3 target, float speed, ref Vector3 derivative, float deltaTime) => Vector3.SmoothDamp(current, target, ref derivative, .5f / speed, Mathf.Infinity, deltaTime); - public static Vector3 SmoothDamp(ref Vector3 current, Vector3 target, float speed, ref Vector3 derivative, float deltaTime) => current = SmoothDamp(current, target, speed, ref derivative, deltaTime); - public static Vector3 SmoothDamp(Vector3 current, Vector3 target, float speed, ref Vector3 derivative) => SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - public static Vector3 SmoothDamp(ref Vector3 current, Vector3 target, float speed, ref Vector3 derivative) => current = SmoothDamp(current, target, speed, ref derivative, Time.deltaTime); - - - - - - - #endregion - - #region Colors - - - public static Color Greyscale(float brightness, float alpha = 1) => new(brightness, brightness, brightness, alpha); - - public static Color SetAlpha(this Color color, float alpha) { color.a = alpha; return color; } - public static Color MultiplyAlpha(this Color color, float k) { color.a *= k; return color; } - - - - public static Color HSLToRGB(float h, float s, float l) - { - float hue2Rgb(float v1, float v2, float vH) - { - if (vH < 0f) - vH += 1f; - - if (vH > 1f) - vH -= 1f; - - if (6f * vH < 1f) - return v1 + (v2 - v1) * 6f * vH; - - if (2f * vH < 1f) - return v2; - - if (3f * vH < 2f) - return v1 + (v2 - v1) * (2f / 3f - vH) * 6f; - - return v1; - } - - if (s.Approx(0)) return new Color(l, l, l); - - float k1; - - if (l < .5f) - k1 = l * (1f + s); - else - k1 = l + s - s * l; - - - var k2 = 2f * l - k1; - - float r, g, b; - r = hue2Rgb(k2, k1, h + 1f / 3); - g = hue2Rgb(k2, k1, h); - b = hue2Rgb(k2, k1, h - 1f / 3); - - return new Color(r, g, b); - } - public static Color LCHtoRGB(float l, float c, float h) - { - l *= 100; - c *= 100; - h *= 360; - - double xw = 0.948110; - double yw = 1.00000; - double zw = 1.07304; - - float a = c * Mathf.Cos(Mathf.Deg2Rad * h); - float b = c * Mathf.Sin(Mathf.Deg2Rad * h); - - float fy = (l + 16) / 116; - float fx = fy + (a / 500); - float fz = fy - (b / 200); - - float x = (float)System.Math.Round(xw * ((System.Math.Pow(fx, 3) > 0.008856) ? System.Math.Pow(fx, 3) : ((fx - 16 / 116) / 7.787)), 5); - float y = (float)System.Math.Round(yw * ((System.Math.Pow(fy, 3) > 0.008856) ? System.Math.Pow(fy, 3) : ((fy - 16 / 116) / 7.787)), 5); - float z = (float)System.Math.Round(zw * ((System.Math.Pow(fz, 3) > 0.008856) ? System.Math.Pow(fz, 3) : ((fz - 16 / 116) / 7.787)), 5); - - float r = x * 3.2406f - y * 1.5372f - z * 0.4986f; - float g = -x * 0.9689f + y * 1.8758f + z * 0.0415f; - float bValue = x * 0.0557f - y * 0.2040f + z * 1.0570f; - - r = r > 0.0031308f ? 1.055f * (float)System.Math.Pow(r, 1 / 2.4) - 0.055f : r * 12.92f; - g = g > 0.0031308f ? 1.055f * (float)System.Math.Pow(g, 1 / 2.4) - 0.055f : g * 12.92f; - bValue = bValue > 0.0031308f ? 1.055f * (float)System.Math.Pow(bValue, 1 / 2.4) - 0.055f : bValue * 12.92f; - - // r = (float)System.Math.Round(System.Math.Max(0, System.Math.Min(1, r))); - // g = (float)System.Math.Round(System.Math.Max(0, System.Math.Min(1, g))); - // bValue = (float)System.Math.Round(System.Math.Max(0, System.Math.Min(1, bValue))); - - return new Color(r, g, bValue); - - } - - - - - - #endregion - - #region Rects - - - public static Rect Resize(this Rect rect, float px) { rect.x += px; rect.y += px; rect.width -= px * 2; rect.height -= px * 2; return rect; } - - public static Rect SetPos(this Rect rect, Vector2 v) => rect.SetPos(v.x, v.y); - public static Rect SetPos(this Rect rect, float x, float y) { rect.x = x; rect.y = y; return rect; } - - public static Rect SetX(this Rect rect, float x) => rect.SetPos(x, rect.y); - public static Rect SetY(this Rect rect, float y) => rect.SetPos(rect.x, y); - public static Rect SetXMax(this Rect rect, float xMax) { rect.xMax = xMax; return rect; } - public static Rect SetYMax(this Rect rect, float yMax) { rect.yMax = yMax; return rect; } - - public static Rect SetMidPos(this Rect r, Vector2 v) => r.SetPos(v).MoveX(-r.width / 2).MoveY(-r.height / 2); - public static Rect SetMidPos(this Rect r, float x, float y) => r.SetMidPos(new Vector2(x, y)); - - public static Rect Move(this Rect rect, Vector2 v) { rect.position += v; return rect; } - public static Rect Move(this Rect rect, float x, float y) { rect.x += x; rect.y += y; return rect; } - public static Rect MoveX(this Rect rect, float px) { rect.x += px; return rect; } - public static Rect MoveY(this Rect rect, float px) { rect.y += px; return rect; } - - public static Rect SetWidth(this Rect rect, float f) { rect.width = f; return rect; } - public static Rect SetWidthFromMid(this Rect rect, float px) { rect.x += rect.width / 2; rect.width = px; rect.x -= rect.width / 2; return rect; } - public static Rect SetWidthFromRight(this Rect rect, float px) { rect.x += rect.width; rect.width = px; rect.x -= rect.width; return rect; } - - public static Rect SetHeight(this Rect rect, float f) { rect.height = f; return rect; } - public static Rect SetHeightFromMid(this Rect rect, float px) { rect.y += rect.height / 2; rect.height = px; rect.y -= rect.height / 2; return rect; } - public static Rect SetHeightFromBottom(this Rect rect, float px) { rect.y += rect.height; rect.height = px; rect.y -= rect.height; return rect; } - - public static Rect AddWidth(this Rect rect, float f) => rect.SetWidth(rect.width + f); - public static Rect AddWidthFromMid(this Rect rect, float f) => rect.SetWidthFromMid(rect.width + f); - public static Rect AddWidthFromRight(this Rect rect, float f) => rect.SetWidthFromRight(rect.width + f); - - public static Rect AddHeight(this Rect rect, float f) => rect.SetHeight(rect.height + f); - public static Rect AddHeightFromMid(this Rect rect, float f) => rect.SetHeightFromMid(rect.height + f); - public static Rect AddHeightFromBottom(this Rect rect, float f) => rect.SetHeightFromBottom(rect.height + f); - - public static Rect SetSize(this Rect rect, Vector2 v) => rect.SetWidth(v.x).SetHeight(v.y); - public static Rect SetSize(this Rect rect, float w, float h) => rect.SetWidth(w).SetHeight(h); - public static Rect SetSize(this Rect rect, float f) { rect.height = rect.width = f; return rect; } - - public static Rect SetSizeFromMid(this Rect r, Vector2 v) => r.Move(r.size / 2).SetSize(v).Move(-v / 2); - public static Rect SetSizeFromMid(this Rect r, float x, float y) => r.SetSizeFromMid(new Vector2(x, y)); - public static Rect SetSizeFromMid(this Rect r, float f) => r.SetSizeFromMid(new Vector2(f, f)); - - public static Rect AlignToPixelGrid(this Rect r) => GUIUtility.AlignRectToDevice(r); - - - - - - #endregion - - #region Textures - - - public static Texture2D CreateTexture2D(int width, int height, GraphicsFormat graphicsFormat = GraphicsFormat.R8G8B8A8_SRGB, bool useMips = false) - { - return new Texture2D(width, height, graphicsFormat, useMips ? TextureCreationFlags.MipChain : TextureCreationFlags.None); - } - - public static RenderTexture CreateRT(int width, int height, GraphicsFormat graphicsFormat = GraphicsFormat.R8G8B8A8_SRGB, bool useMips = false, bool autoGenerateMips = true, bool useDepth = false) - { - var rt = new RenderTexture(width, height, useDepth ? 24 : 0, graphicsFormat); - - rt.useMipMap = useMips; - rt.autoGenerateMips = autoGenerateMips; - - rt.enableRandomWrite = true; - - return rt; - - } - public static RenderTexture GetTemporaryRT(int width, int height, GraphicsFormat graphicsFormat = GraphicsFormat.R8G8B8A8_SRGB, bool useMips = false, bool autoGenerateMips = true, bool useDepth = false) - { - var rt = RenderTexture.GetTemporary(width, height, useDepth ? 24 : 0, graphicsFormat); - - rt.useMipMap = useMips; - rt.autoGenerateMips = autoGenerateMips; - - rt.enableRandomWrite = true; - - return rt; - - } - - public static RenderTexture CreateRT(this RenderTextureDescriptor descriptor) => new(descriptor); - public static RenderTexture CreateRT(this RenderTextureDescriptor descriptor, int resolution) - { - descriptor.width = descriptor.height = resolution; - - return descriptor.CreateRT(); - - } - public static RenderTexture CreateRT(this RenderTextureDescriptor descriptor, int width, int height) - { - descriptor.width = width; - descriptor.height = height; - - return descriptor.CreateRT(); - - } - public static RenderTexture CreateRT(this RenderTextureDescriptor descriptor, float resolution) => descriptor.GetTemporaryRT(Mathf.RoundToInt(resolution)); - public static RenderTexture CreateRT(this RenderTextureDescriptor descriptor, float width, float height) => descriptor.CreateRT(Mathf.RoundToInt(width), Mathf.RoundToInt(height)); - public static RenderTexture GetTemporaryRT(this RenderTextureDescriptor descriptor) => RenderTexture.GetTemporary(descriptor); - public static RenderTexture GetTemporaryRT(this RenderTextureDescriptor descriptor, int resolution) - { - descriptor.width = descriptor.height = resolution; - - return descriptor.GetTemporaryRT(); - - } - public static RenderTexture GetTemporaryRT(this RenderTextureDescriptor descriptor, int width, int height) - { - descriptor.width = width; - descriptor.height = height; - - return descriptor.GetTemporaryRT(); - - } - public static RenderTexture GetTemporaryRT(this RenderTextureDescriptor descriptor, float resolution) => descriptor.GetTemporaryRT(Mathf.RoundToInt(resolution)); - public static RenderTexture GetTemporaryRT(this RenderTextureDescriptor descriptor, float width, float height) => descriptor.GetTemporaryRT(Mathf.RoundToInt(width), Mathf.RoundToInt(height)); - - public static void ReleaseTemporary(this RenderTexture rt) { if (rt) RenderTexture.ReleaseTemporary(rt); } - - - - public static Texture2D ToTexture2D(this RenderTexture rt) - { - var texture2D = CreateTexture2D(rt.width, rt.height, rt.graphicsFormat, rt.useMipMap); - - texture2D.ReadPixelsFrom(rt); - texture2D.Apply(); - - return texture2D; - - } - public static RenderTexture ToRenderTexture(this Texture2D texture2d) - { - var rt = CreateRT(texture2d.width, texture2d.height, texture2d.graphicsFormat, texture2d.mipmapCount > 1); - - Graphics.CopyTexture(texture2d, rt); - - return rt; - - } - - - public static void ReadPixelsFrom(this Texture2D texture2D, RenderTexture renderTexture) - { - var prevActive = RenderTexture.active; - - RenderTexture.active = renderTexture; - - texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0); - - RenderTexture.active = prevActive; - - } - // public static void CopyTo(this RenderTexture source, Texture2D target) // todo to readpixels overload - // { - // var prevActive = RenderTexture.active; - - // RenderTexture.active = source; - - // target.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0); - // target.Apply(); - - // RenderTexture.active = prevActive; - - - // // somewhere in unity source code reading is done like this, but it throws out of bounds read exception on win: - - // // if (!SystemInfo.graphicsUVStartsAtTop || SystemInfo.graphicsDeviceType == GraphicsDeviceType.Metal) - // // texture2d.ReadPixels(new Rect(0, 0, texture2d.width, texture2d.height), 0, 0); - // // else - // // texture2d.ReadPixels(new Rect(0, texture2d.height, texture2d.width, texture2d.height), 0, 0); - - // // this was used in the legacy rt.CopyToTexture2D extension method - - // } - - public static Texture2D CreateCopy(this Texture2D texture2d) - { - var copy = CreateTexture2D(texture2d.width, texture2d.height, texture2d.graphicsFormat, texture2d.mipmapCount > 1); - - Graphics.CopyTexture(texture2d, copy); - - return copy; - - } - public static Texture2D CreateResizedCopy(this Texture2D texture2d, int w, int h) - { - var rt = GetTemporaryRT(w, h, texture2d.graphicsFormat.GetCompatibleForRendering(), false); - - Graphics.Blit(texture2d, rt); - - - var resizedCopy = CreateTexture2D(w, h, texture2d.graphicsFormat.GetCompatibleForRendering(), texture2d.mipmapCount > 1); - - resizedCopy.ReadPixelsFrom(rt); - resizedCopy.Apply(); - - if (RenderTexture.active == rt) - RenderTexture.active = null; - - rt.ReleaseTemporary(); - - - return resizedCopy; - - } - - - public static void FillWithColor(this Texture2D texture2d, Color color) - { - var pixels = new Color32[texture2d.width * texture2d.height]; - - var color32 = (Color32)color; - - for (int i = 0; i < pixels.Length; i++) - pixels[i] = color32; - - texture2d.SetPixels32(pixels); - texture2d.Apply(); - - } - public static RenderTexture FillWithColor(this RenderTexture rt, Color color) // todo builtin shader or GL.clear - { - var mat = new Material(Shader.Find("Hidden/VBlitColor")); - - mat.SetColor("_color", color); - - Graphics.Blit(null, rt, mat); - - mat.Destroy(); - - return rt; - - } - - - - public static GraphicsFormat GetCompatibleForRendering(this GraphicsFormat graphicsFormat) - { -#if UNITY_2023_2_OR_NEWER - return SystemInfo.GetCompatibleFormat(graphicsFormat, GraphicsFormatUsage.Render); -#else - return SystemInfo.GetCompatibleFormat(graphicsFormat, FormatUsage.Render); -#endif - - } - - - -#if UNITY_EDITOR - - public static void SavePNG(this Texture2D texture2d, string path) => File.WriteAllBytes(path, texture2d.EncodeToPNG()); - - public static void SetImportSettings(this Texture2D texture2d, int? maxSize = null, bool? useMips = null, bool? sRGB = null, bool? isReadable = null, bool? useCompression = null) - { - var importer = texture2d.GetImporter(); - - if (useCompression != null) - importer.textureCompression = useCompression.GetValueOrDefault() ? TextureImporterCompression.Compressed : TextureImporterCompression.Uncompressed; - - if (sRGB != null) - importer.sRGBTexture = sRGB.GetValueOrDefault(); - - if (maxSize != null) - importer.maxTextureSize = maxSize.GetValueOrDefault(); - - if (useMips != null) - importer.mipmapEnabled = useMips.GetValueOrDefault(); - - - // if (texture2d.format == TextureFormat.R16 || texture2d.format == TextureFormat.RG32) - if (texture2d.format == TextureFormat.R16) - { - var platformSettings = importer.GetDefaultPlatformTextureSettings(); - - platformSettings.format = TextureImporterFormat.R16; - - if (maxSize != null) - platformSettings.maxTextureSize = maxSize.GetValueOrDefault(); - - importer.SetPlatformTextureSettings(platformSettings); - - } - - } - - public static TextureImporter GetImporter(this Texture2D t) => (TextureImporter)AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(t)); - -#endif - - - - - - - - #endregion - - #region Objects - - - public static Object[] FindObjects(Type type) - { -#if UNITY_2023_1_OR_NEWER - return Object.FindObjectsByType(type, FindObjectsSortMode.None); -#else - return Object.FindObjectsOfType(type); -#endif - } - public static T[] FindObjects() where T : Object - { -#if UNITY_2023_1_OR_NEWER - return Object.FindObjectsByType(FindObjectsSortMode.None); -#else - return Object.FindObjectsOfType(); -#endif - } - - public static void Destroy(this Object r) - { - if (Application.isPlaying) - Object.Destroy(r); - else - Object.DestroyImmediate(r); - - } - - public static void DestroyImmediate(this Object o) => Object.DestroyImmediate(o); - - - - - - #endregion - - #region Text - - - public static string FormatDistance(float meters) - { - int m = (int)meters; - - if (m < 1000) return m + " m"; - else return (m / 1000) + "." + (m / 100) % 10 + " km"; - } - public static string FormatLong(long l) => System.String.Format("{0:n0}", l); - public static string FormatInt(int l) => FormatLong((long)l); - public static string FormatSize(long bytes, bool sizeUnknownIfNotMoreThanZero = false) - { - if (sizeUnknownIfNotMoreThanZero && bytes == 0) return "Size unknown"; - - var ss = new[] { "B", "KB", "MB", "GB", "TB" }; - var bprev = bytes; - int i = 0; - while (bytes >= 1024 && i++ < ss.Length - 1) bytes = (bprev = bytes) / 1024; - - if (bytes < 0) return "? B"; - if (i < 3) return string.Format("{0:0.#} ", bytes) + ss[i]; - return string.Format("{0:0.##} ", bytes) + ss[i]; - } - public static string FormatTime(long ms, bool includeMs = false) - { - System.TimeSpan t = System.TimeSpan.FromMilliseconds(ms); - var s = ""; - if (t.Hours != 0) s += " " + t.Hours + " hour" + CountSuffix(t.Hours); - if (t.Minutes != 0) s += " " + t.Minutes + " minute" + CountSuffix(t.Minutes); - if (t.Seconds != 0) s += " " + t.Seconds + " second" + CountSuffix(t.Seconds); - if (t.Milliseconds != 0 && includeMs) s += " " + t.Milliseconds + " millisecond" + CountSuffix(t.Milliseconds); - - if (s == "") - if (includeMs) s = "0 milliseconds"; - else s = "0 seconds"; - - return s.Trim(); - } - static string CountSuffix(long c) => c % 10 != 1 ? "s" : ""; - public static string Remove(this string s, string toRemove) - { - if (toRemove == "") return s; - return s.Replace(toRemove, ""); - } - - public static string LoremIpsum(int words = 2) - { - var s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non proident sunt in culpa qui officia deserunt mollit anim id est laborum"; - var ws = s.Split(' ').Select(r => r.ToLower().Trim(new[] { ',', '.' })); - ws = ws.OrderBy(r => UnityEngine.Random.Range(0, 1232)).Take(words); - var ss = string.Join(" ", ws); - return char.ToUpper(ss[0]) + ss.Substring(1); - } - - public static string Decamelcase(this string str) => Regex.Replace(Regex.Replace(str, @"(\P{Ll})(\P{Ll}\p{Ll})", "$1 $2"), @"(\p{Ll})(\P{Ll})", "$1 $2"); - public static string PrettifyVarName(this string str, bool lowercaseFollowingWords = true) => string.Join(" ", str.Decamelcase().Split(' ').Select(r => new[] { "", "and", "or", "with", "without", "by", "from" }.Contains(r.ToLower()) || (lowercaseFollowingWords && !str.Trim().StartsWith(r)) ? r.ToLower() : r.Substring(0, 1).ToUpper() + r.Substring(1))).Trim(' '); - - public static bool IsEmpty(this string s) => s == ""; - public static bool IsNullOrEmpty(this string s) => string.IsNullOrEmpty(s); - - public static bool IsLower(this char c) => System.Char.IsLower(c); - public static bool IsUpper(this char c) => System.Char.IsUpper(c); - - - - - - - #endregion - - #region Paths - - - public static bool HasParentPath(this string path) => path.LastIndexOf('/') > 0; - public static string GetParentPath(this string path) => path.HasParentPath() ? path.Substring(0, path.LastIndexOf('/')) : ""; - - public static string ToGlobalPath(this string localPath) => Application.dataPath + "/" + localPath.Substring(0, localPath.Length - 1); - public static string ToLocalPath(this string globalPath) => "Assets" + globalPath.Remove(Application.dataPath); - - - - public static string CombinePath(this string p, string p2) => Path.Combine(p, p2); - - public static bool IsSubpathOf(this string path, string of) => path.StartsWith(of + "/") || of == ""; - - public static string GetDirectory(this string pathOrDirectory) - { - var directory = pathOrDirectory.Contains('.') ? pathOrDirectory.Substring(0, pathOrDirectory.LastIndexOf('/')) : pathOrDirectory; - - if (directory.Contains('.')) - directory = directory.Substring(0, directory.LastIndexOf('/')); - - return directory; - - } - - public static bool DirectoryExists(this string pathOrDirectory) => Directory.Exists(pathOrDirectory.GetDirectory()); - - public static string EnsureDirExists(this string pathOrDirectory) // todo to EnsureDirectoryExists - { - var directory = pathOrDirectory.GetDirectory(); - - if (directory.HasParentPath() && !Directory.Exists(directory.GetParentPath())) - EnsureDirExists(directory.GetParentPath()); - - if (!Directory.Exists(directory)) - Directory.CreateDirectory(directory); - - return pathOrDirectory; - - } - - - - public static string ClearDir(this string dir) - { - if (!Directory.Exists(dir)) return dir; - - var diri = new DirectoryInfo(dir); - foreach (var r in diri.EnumerateFiles()) r.Delete(); - foreach (var r in diri.EnumerateDirectories()) r.Delete(true); - - return dir; - } - - - - - - -#if UNITY_EDITOR - - public static string EnsurePathIsUnique(this string path) - { - if (!path.DirectoryExists()) return path; - - var s = AssetDatabase.GenerateUniqueAssetPath(path); // returns empty if parent dir doesnt exist - - return s == "" ? path : s; - - } - - public static void EnsureDirExistsAndRevealInFinder(string dir) - { - EnsureDirExists(dir); - UnityEditor.EditorUtility.OpenWithDefaultApp(dir); - } - -#endif - - - - #endregion - - #region AssetDatabase - -#if UNITY_EDITOR - - public static AssetImporter GetImporter(this Object t) => AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(t)); - - public static string ToPath(this string guid) => AssetDatabase.GUIDToAssetPath(guid); // returns empty string if not found - public static List ToPaths(this IEnumerable guids) => guids.Select(r => r.ToPath()).ToList(); - - public static string GetFilename(this string path, bool withExtension = false) => withExtension ? Path.GetFileName(path) : Path.GetFileNameWithoutExtension(path); // prev GetName - public static string GetExtension(this string path) => Path.GetExtension(path); - - - public static string ToGuid(this string pathInProject) => AssetDatabase.AssetPathToGUID(pathInProject); - public static List ToGuids(this IEnumerable pathsInProject) => pathsInProject.Select(r => r.ToGuid()).ToList(); - - public static string GetPath(this Object o) => AssetDatabase.GetAssetPath(o); - public static string GetGuid(this Object o) => AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(o)); - - public static string GetScriptPath(string scriptName) => AssetDatabase.FindAssets("t: script " + scriptName, null).FirstOrDefault()?.ToPath() ?? "scirpt not found"; - - - public static bool IsValidGuid(this string guid) => AssetDatabase.AssetPathToGUID(AssetDatabase.GUIDToAssetPath(guid), AssetPathToGUIDOptions.OnlyExistingAssets) != ""; - - - - // toremove - public static Object LoadGuid(this string guid) => AssetDatabase.LoadAssetAtPath(guid.ToPath(), typeof(Object)); - public static T LoadGuid(this string guid) where T : Object => AssetDatabase.LoadAssetAtPath(guid.ToPath()); - - - - - public static List FindAllAssetsOfType_guids(Type type) => AssetDatabase.FindAssets("t:" + type.Name).ToList(); - public static List FindAllAssetsOfType_guids(Type type, string path) => AssetDatabase.FindAssets("t:" + type.Name, new[] { path }).ToList(); - public static List FindAllAssetsOfType() where T : Object => FindAllAssetsOfType_guids(typeof(T)).Select(r => (T)r.LoadGuid()).ToList(); - public static List FindAllAssetsOfType(string path) where T : Object => FindAllAssetsOfType_guids(typeof(T), path).Select(r => (T)r.LoadGuid()).ToList(); - - public static T Reimport(this T t) where T : Object { AssetDatabase.ImportAsset(t.GetPath(), ImportAssetOptions.ForceUpdate); return t; } - -#endif - - - - - - #endregion - - #region Serialization - - - [System.Serializable] - public class SerializableDictionary : Dictionary, ISerializationCallbackReceiver - { - [SerializeField] List keys = new(); - [SerializeField] List values = new(); - - public void OnBeforeSerialize() - { - keys.Clear(); - values.Clear(); - - foreach (KeyValuePair kvp in this) - { - keys.Add(kvp.Key); - values.Add(kvp.Value); - } - - } - public void OnAfterDeserialize() - { - this.Clear(); - - for (int i = 0; i < keys.Count; i++) - this[keys[i]] = values[i]; - - } - - } - - - - - - #endregion - - #region GlobalID - -#if UNITY_EDITOR - - [System.Serializable] - public struct GlobalID : System.IEquatable - { - public Object GetObject() => GlobalObjectId.GlobalObjectIdentifierToObjectSlow(globalObjectId); - public int GetObjectInstanceId() => GlobalObjectId.GlobalObjectIdentifierToInstanceIDSlow(globalObjectId); - - - public string guid => globalObjectId.assetGUID.ToString(); - public ulong fileId => globalObjectId.targetObjectId; - - public bool isNull => globalObjectId.identifierType == 0; - public bool isAsset => globalObjectId.identifierType == 1; - public bool isSceneObject => globalObjectId.identifierType == 2; - - public GlobalObjectId globalObjectId => _globalObjectId.Equals(default) && globalObjectIdString != null && GlobalObjectId.TryParse(globalObjectIdString, out var r) ? _globalObjectId = r : _globalObjectId; - public GlobalObjectId _globalObjectId; - - public GlobalID(Object o) => globalObjectIdString = (_globalObjectId = GlobalObjectId.GetGlobalObjectIdSlow(o)).ToString(); - public GlobalID(string s) => globalObjectIdString = GlobalObjectId.TryParse(s, out _globalObjectId) ? s : s; - - public string globalObjectIdString; - - - - public bool Equals(GlobalID other) => this.globalObjectIdString.Equals(other.globalObjectIdString); - - public static bool operator ==(GlobalID a, GlobalID b) => a.Equals(b); - public static bool operator !=(GlobalID a, GlobalID b) => !a.Equals(b); - - public override bool Equals(object other) => other is GlobalID otherglobalID && this.Equals(otherglobalID); - public override int GetHashCode() => globalObjectIdString == null ? 0 : globalObjectIdString.GetHashCode(); - - - public override string ToString() => globalObjectIdString; - - } - - public static GlobalID GetGlobalID(this Object o) => new(o); - public static GlobalID[] GetGlobalIDs(this IEnumerable instanceIds) - { - var unityGlobalIds = new GlobalObjectId[instanceIds.Count()]; - - GlobalObjectId.GetGlobalObjectIdsSlow(instanceIds.ToArray(), unityGlobalIds); - - var globalIds = unityGlobalIds.Select(r => new GlobalID(r.ToString())); - - return globalIds.ToArray(); - - } - - public static Object[] GetObjects(this IEnumerable globalIDs) - { - var goids = globalIDs.Select(r => r.globalObjectId).ToArray(); - - var objects = new Object[goids.Length]; - - GlobalObjectId.GlobalObjectIdentifiersToObjectsSlow(goids, objects); - - return objects; - - } - public static int[] GetObjectInstanceIds(this IEnumerable globalIDs) - { - var goids = globalIDs.Select(r => r.globalObjectId).ToArray(); - - var iids = new int[goids.Length]; - - GlobalObjectId.GlobalObjectIdentifiersToInstanceIDsSlow(goids, iids); - - return iids; - - } - - -#endif - - - - - #endregion - - #region Editor - -#if UNITY_EDITOR - - public static void RecordUndo(this Object o, string operationName = "") => Undo.RecordObject(o, operationName); - public static void Dirty(this Object o) => UnityEditor.EditorUtility.SetDirty(o); - public static void Save(this Object o) => AssetDatabase.SaveAssetIfDirty(o); - - - - public static void SetSymbolDefinedInAsmdef(string asmdefName, string symbol, bool defined) - { - var isDefined = IsSymbolDefinedInAsmdef(asmdefName, symbol); - var shouldBeDefined = defined; - - if (shouldBeDefined && !isDefined) - DefineSymbolInAsmdef(asmdefName, symbol); - - if (!shouldBeDefined && isDefined) - UndefineSymbolInAsmdef(asmdefName, symbol); - - } - public static bool IsSymbolDefinedInAsmdef(string asmdefName, string symbol) - { - var path = AssetDatabase.FindAssets("t: asmdef " + asmdefName, null).First().ToPath(); - var importer = AssetImporter.GetAtPath(path); - - var editorType = typeof(Editor).Assembly.GetType("UnityEditor.AssemblyDefinitionImporterInspector"); - var editor = Editor.CreateEditor(importer, editorType); - - var state = editor.GetFieldValue("m_ExtraDataTargets").First(); - - - var definesList = state.GetFieldValue("versionDefines"); - var isSymbolDefined = Enumerable.Range(0, definesList.Count).Any(i => definesList[i].GetFieldValue("define") == symbol); - - - editor.DestroyImmediate(); - - return isSymbolDefined; - - } - - static void DefineSymbolInAsmdef(string asmdefName, string symbol) - { - var path = AssetDatabase.FindAssets("t: asmdef " + asmdefName, null).First().ToPath(); - var importer = AssetImporter.GetAtPath(path); - - var editorType = typeof(Editor).Assembly.GetType("UnityEditor.AssemblyDefinitionImporterInspector"); - var editor = Editor.CreateEditor(importer, editorType); - - var state = editor.GetFieldValue("m_ExtraDataTargets").First(); - - - var definesList = state.GetFieldValue("versionDefines"); - - var defineType = definesList.GetType().GenericTypeArguments[0]; - var newDefine = System.Activator.CreateInstance(defineType); - - newDefine.SetFieldValue("name", "Unity"); - newDefine.SetFieldValue("define", symbol); - - definesList.Add(newDefine); - - - editor.InvokeMethod("Apply"); - - editor.DestroyImmediate(); - - } - static void UndefineSymbolInAsmdef(string asmdefName, string symbol) - { - var path = AssetDatabase.FindAssets("t: asmdef " + asmdefName, null).First().ToPath(); - var importer = AssetImporter.GetAtPath(path); - - var editorType = typeof(Editor).Assembly.GetType("UnityEditor.AssemblyDefinitionImporterInspector"); - var editor = Editor.CreateEditor(importer, editorType); - - var state = editor.GetFieldValue("m_ExtraDataTargets").First(); - - - var definesList = state.GetFieldValue("versionDefines"); - - var defineIndex = Enumerable.Range(0, definesList.Count).First(i => definesList[i].GetFieldValue("define") == symbol); - - definesList.RemoveAt(defineIndex); - - - editor.InvokeMethod("Apply"); - - editor.DestroyImmediate(); - - } - - - - public static void PingObject(Object o, bool select = false, bool focusProjectWindow = true) - { - if (select) - { - Selection.activeObject = null; - Selection.activeObject = o; - } - if (focusProjectWindow) EditorUtility.FocusProjectWindow(); - EditorGUIUtility.PingObject(o); - - } - public static void PingObject(string guid, bool select = false, bool focusProjectWindow = true) => PingObject(AssetDatabase.LoadAssetAtPath(guid.ToPath())); - - public static void OpenFolder(string path) - { - var folder = AssetDatabase.LoadAssetAtPath(path, typeof(Object)); - - var t = typeof(Editor).Assembly.GetType("UnityEditor.ProjectBrowser"); - var w = (EditorWindow)t.GetField("s_LastInteractedProjectBrowser").GetValue(null); - - var m_ListAreaState = t.GetField("m_ListAreaState", maxBindingFlags).GetValue(w); - - m_ListAreaState.GetType().GetField("m_SelectedInstanceIDs").SetValue(m_ListAreaState, new List { folder.GetInstanceID() }); - - t.GetMethod("OpenSelectedFolders", maxBindingFlags).Invoke(null, null); - - } - - public static void SelectInInspector(this Object[] objects, bool frameInHierarchy = false, bool frameInProject = false) - { - void setHierarchyLocked(bool isLocked) => allHierarchies.ForEach(r => r?.GetMemberValue("m_SceneHierarchy")?.SetMemberValue("m_RectSelectInProgress", true)); - void setProjectLocked(bool isLocked) => allProjectBrowsers.ForEach(r => r?.SetMemberValue("m_InternalSelectionChange", isLocked)); - - - if (!frameInHierarchy) setHierarchyLocked(true); - if (!frameInProject) setProjectLocked(true); - - Selection.objects = objects?.ToArray(); - - if (!frameInHierarchy) EditorApplication.delayCall += () => setHierarchyLocked(false); - if (!frameInProject) EditorApplication.delayCall += () => setProjectLocked(false); - - } - public static void SelectInInspector(this Object obj, bool frameInHierarchy = false, bool frameInProject = false) => new[] { obj }.SelectInInspector(frameInHierarchy, frameInProject); - - static IEnumerable allHierarchies => _allHierarchies ??= typeof(Editor).Assembly.GetType("UnityEditor.SceneHierarchyWindow").GetFieldValue("s_SceneHierarchyWindows").Cast(); - static IEnumerable _allHierarchies; - - static IEnumerable allProjectBrowsers => _allProjectBrowsers ??= typeof(Editor).Assembly.GetType("UnityEditor.ProjectBrowser").GetFieldValue("s_ProjectBrowsers").Cast(); - static IEnumerable _allProjectBrowsers; - - - - - public static EditorWindow OpenObjectPicker(Object obj = null, bool allowSceneObjects = false, string searchFilter = "", int controlID = 0) where T : Object - { - EditorGUIUtility.ShowObjectPicker(obj, allowSceneObjects, searchFilter, controlID); - - return Resources.FindObjectsOfTypeAll(typeof(Editor).Assembly.GetType("UnityEditor.ObjectSelector")).FirstOrDefault() as EditorWindow; - - } - public static EditorWindow OpenColorPicker(System.Action colorChangedCallback, Color color, bool showAlpha = true, bool hdr = false) - { - typeof(Editor).Assembly.GetType("UnityEditor.ColorPicker").InvokeMethod("Show", colorChangedCallback, color, showAlpha, hdr); - - return typeof(Editor).Assembly.GetType("UnityEditor.ColorPicker").GetPropertyValue("instance"); - - } - - - public static void MoveTo(this EditorWindow window, Vector2 position, bool ensureFitsOnScreen = true) - { - if (!ensureFitsOnScreen) { window.position = window.position.SetPos(position); return; } - - var windowRect = window.position; - var unityWindowRect = EditorGUIUtility.GetMainWindowPosition(); - - position.x = position.x.Max(unityWindowRect.position.x); - position.y = position.y.Max(unityWindowRect.position.y); - - position.x = position.x.Min(unityWindowRect.xMax - windowRect.width); - position.y = position.y.Min(unityWindowRect.yMax - windowRect.height); - - window.position = windowRect.SetPos(position); - - } - - - - - - public static class EditorPrefsCached - { - public static bool GetBool(string key, bool defaultValue = false) - { - if (bools_byKey.ContainsKey(key)) - return bools_byKey[key]; - else - return bools_byKey[key] = EditorPrefs.GetBool(key, defaultValue); - - } - - public static void SetBool(string key, bool value) - { - bools_byKey[key] = value; - - EditorPrefs.SetBool(key, value); - - } - - - static Dictionary bools_byKey = new(); - - } - - public static class ProjectPrefs - { - public static int GetInt(string key, int defaultValue = 0) => EditorPrefs.GetInt(key + projectId, defaultValue); - public static bool GetBool(string key, bool defaultValue = false) => EditorPrefs.GetBool(key + projectId, defaultValue); - public static float GetFloat(string key, float defaultValue = 0) => EditorPrefs.GetFloat(key + projectId, defaultValue); - public static string GetString(string key, string defaultValue = "") => EditorPrefs.GetString(key + projectId, defaultValue); - - public static void SetInt(string key, int value) => EditorPrefs.SetInt(key + projectId, value); - public static void SetBool(string key, bool value) => EditorPrefs.SetBool(key + projectId, value); - public static void SetFloat(string key, float value) => EditorPrefs.SetFloat(key + projectId, value); - public static void SetString(string key, string value) => EditorPrefs.SetString(key + projectId, value); - - - - public static bool HasKey(string key) => EditorPrefs.HasKey(key + projectId); - public static void DeleteKey(string key) => EditorPrefs.DeleteKey(key + projectId); - - - - public static int projectId => PlayerSettings.productGUID.GetHashCode(); - - } - - - - - -#endif - - #endregion - - } - - public static class VGUI - { - - #region Drawing - - - public static Rect Draw(this Rect rect, Color color) - { - EditorGUI.DrawRect(rect, color); - - return rect; - - } - public static Rect Draw(this Rect rect) => rect.Draw(Color.black); - - public static Rect DrawOutline(this Rect rect, Color color, float thickness = 1) - { - - rect.SetWidth(thickness).Draw(color); - rect.SetWidthFromRight(thickness).Draw(color); - - rect.SetHeight(thickness).Draw(color); - rect.SetHeightFromBottom(thickness).Draw(color); - - - return rect; - - } - public static Rect DrawOutline(this Rect rect, float thickness = 1) => rect.DrawOutline(Color.black, thickness); - - - - - public static Rect DrawRounded(this Rect rect, Color color, int cornerRadius) - { - if (!curEvent.isRepaint) return rect; - - cornerRadius = cornerRadius.Min((rect.height / 2).FloorToInt()).Min((rect.width / 2).FloorToInt()); - - if (cornerRadius < 0) return rect; - - GUIStyle style; - - void getStyle() - { - if (_roundedStylesByCornerRadius.TryGetValue(cornerRadius, out style)) return; - - var pixelsPerPoint = 2; - - var res = cornerRadius * 2 * pixelsPerPoint; - var pixels = new Color[res * res]; - - var white = Greyscale(1, 1); - var clear = Greyscale(1, 0); - var halfRes = res / 2; - - for (int x = 0; x < res; x++) - for (int y = 0; y < res; y++) - { - var sqrMagnitude = (new Vector2(x - halfRes + .5f, y - halfRes + .5f)).sqrMagnitude; - pixels[x + y * res] = sqrMagnitude <= halfRes * halfRes ? white : clear; - } - - var texture = new Texture2D(res, res); - texture.SetPropertyValue("pixelsPerPoint", pixelsPerPoint); - texture.hideFlags = HideFlags.DontSave; - texture.SetPixels(pixels); - texture.Apply(); - - - - style = new GUIStyle(); - style.normal.background = texture; - style.alignment = TextAnchor.MiddleCenter; - style.border = new RectOffset(cornerRadius, cornerRadius, cornerRadius, cornerRadius); - - - _roundedStylesByCornerRadius[cornerRadius] = style; - - } - void draw() - { - SetGUIColor(color); - - style.Draw(rect, false, false, false, false); - - ResetGUIColor(); - - } - - getStyle(); - draw(); - - return rect; - - } - public static Rect DrawRounded(this Rect rect, Color color, float cornerRadius) => rect.DrawRounded(color, cornerRadius.RoundToInt()); - - static Dictionary _roundedStylesByCornerRadius = new(); - - - - - public static Rect DrawBlurred(this Rect rect, Color color, int blurRadius) - { - if (!curEvent.isRepaint) return rect; - - var pixelsPerPoint = .5f; - // var pixelsPerPoint = 1f; - - var blurRadiusScaled = (blurRadius * pixelsPerPoint).RoundToInt().Max(1).Min(123); - - var croppedRectWidth = (rect.width * pixelsPerPoint).RoundToInt().Min(blurRadiusScaled * 2); - var croppedRectHeight = (rect.height * pixelsPerPoint).RoundToInt().Min(blurRadiusScaled * 2); - - var textureWidth = croppedRectWidth + blurRadiusScaled * 2; - var textureHeight = croppedRectHeight + blurRadiusScaled * 2; - - if (textureWidth <= 0 || textureWidth > 1232) return rect; - if (textureHeight <= 0 || textureHeight > 1232) return rect; - - - GUIStyle style; - - void getStyle() - { - if (_blurredStylesByTextureSize.TryGetValue((textureWidth, textureHeight), out style)) return; - - // VDebug.LogStart(blurRadius + ""); - - var pixels = new Color[textureWidth * textureHeight]; - var kernel = GaussianKernel.GenerateArray(blurRadiusScaled * 2 + 1); - - for (int x = 0; x < textureWidth; x++) - for (int y = 0; y < textureHeight; y++) - { - var sum = 0f; - - for (int xSample = (x - blurRadiusScaled).Max(blurRadiusScaled); xSample <= (x + blurRadiusScaled).Min(textureWidth - 1 - blurRadiusScaled); xSample++) - for (int ySample = (y - blurRadiusScaled).Max(blurRadiusScaled); ySample <= (y + blurRadiusScaled).Min(textureHeight - 1 - blurRadiusScaled); ySample++) - sum += kernel[blurRadiusScaled + xSample - x, blurRadiusScaled + ySample - y]; - - pixels[x + y * textureWidth] = Greyscale(1, sum); - - } - - var texture = new Texture2D(textureWidth, textureHeight); - texture.SetPropertyValue("pixelsPerPoint", pixelsPerPoint); - texture.hideFlags = HideFlags.DontSave; - texture.SetPixels(pixels); - texture.Apply(); - - - style = new GUIStyle(); - style.normal.background = texture; - style.alignment = TextAnchor.MiddleCenter; - - var borderX = ((textureWidth / 2f - 1) / pixelsPerPoint).FloorToInt(); - var borderY = ((textureHeight / 2f - 1) / pixelsPerPoint).FloorToInt(); - style.border = new RectOffset(borderX, borderX, borderY, borderY); - - _blurredStylesByTextureSize[(textureWidth, textureHeight)] = style; - - // VDebug.LogFinish(); - - } - void draw() - { - SetGUIColor(color); - - style.Draw(rect.SetSizeFromMid(rect.width + blurRadius * 2, rect.height + blurRadius * 2), false, false, false, false); - - ResetGUIColor(); - - } - - getStyle(); - draw(); - - return rect; - - } - public static Rect DrawBlurred(this Rect rect, Color color, float blurRadius) => rect.DrawBlurred(color, blurRadius.RoundToInt()); - - static Dictionary<(int, int), GUIStyle> _blurredStylesByTextureSize = new(); - - - - - static void DrawCurtain(this Rect rect, Color color, int dir) - { - void genTextures() - { - if (_gradientTextures != null) return; - - _gradientTextures = new Texture2D[4]; - - // var pixels = Enumerable.Range(0, 256).Select(r => Greyscale(1, r / 255f)); - var pixels = Enumerable.Range(0, 256).Select(r => Greyscale(1, (r / 255f).Smoothstep())); - - var up = new Texture2D(1, 256); - up.SetPixels(pixels.Reverse().ToArray()); - up.Apply(); - up.hideFlags = HideFlags.DontSave; - up.wrapMode = TextureWrapMode.Clamp; - _gradientTextures[0] = up; - - var down = new Texture2D(1, 256); - down.SetPixels(pixels.ToArray()); - down.Apply(); - down.hideFlags = HideFlags.DontSave; - down.wrapMode = TextureWrapMode.Clamp; - _gradientTextures[1] = down; - - var left = new Texture2D(256, 1); - left.SetPixels(pixels.ToArray()); - left.Apply(); - left.hideFlags = HideFlags.DontSave; - left.wrapMode = TextureWrapMode.Clamp; - _gradientTextures[2] = left; - - var right = new Texture2D(256, 1); - right.SetPixels(pixels.Reverse().ToArray()); - right.Apply(); - right.hideFlags = HideFlags.DontSave; - right.wrapMode = TextureWrapMode.Clamp; - _gradientTextures[3] = right; - - } - void draw() - { - SetGUIColor(color); - - GUI.DrawTexture(rect, _gradientTextures[dir]); - - ResetGUIColor(); - - } - - genTextures(); - draw(); - - } - - static Texture2D[] _gradientTextures; - - public static void DrawCurtainUp(this Rect rect, Color color) => rect.DrawCurtain(color, 0); - public static void DrawCurtainDown(this Rect rect, Color color) => rect.DrawCurtain(color, 1); - public static void DrawCurtainLeft(this Rect rect, Color color) => rect.DrawCurtain(color, 2); - public static void DrawCurtainRight(this Rect rect, Color color) => rect.DrawCurtain(color, 3); - - - - - - - #endregion - - #region Events - - - public class WrappedEvent - { - public Event e; - - public bool isRepaint => e.type == EventType.Repaint; - public bool isLayout => e.type == EventType.Layout; - public bool isUsed => e.type == EventType.Used; - public bool isMouseLeaveWindow => e.type == EventType.MouseLeaveWindow; - public bool isMouseEnterWindow => e.type == EventType.MouseEnterWindow; - public bool isContextClick => e.type == EventType.ContextClick; - - public bool isKeyDown => e.type == EventType.KeyDown; - public bool isKeyUp => e.type == EventType.KeyUp; - public KeyCode keyCode => e.keyCode; - public char characted => e.character; - - public bool isExecuteCommand => e.type == EventType.ExecuteCommand; - public string commandName => e.commandName; - - public bool isMouse => e.isMouse; - public bool isMouseDown => e.type == EventType.MouseDown; - public bool isMouseUp => e.type == EventType.MouseUp; - public bool isMouseDrag => e.type == EventType.MouseDrag; - public bool isMouseMove => e.type == EventType.MouseMove; - public bool isScroll => e.type == EventType.ScrollWheel; - public int mouseButton => e.button; - public int clickCount => e.clickCount; - public Vector2 mousePosition => e.mousePosition; - public Vector2 mousePosition_screenSpace => GUIUtility.GUIToScreenPoint(e.mousePosition); - public Vector2 mouseDelta => e.delta; - - public bool isDragUpdate => e.type == EventType.DragUpdated; - public bool isDragPerform => e.type == EventType.DragPerform; - public bool isDragExit => e.type == EventType.DragExited; - - public EventModifiers modifiers => e.modifiers; - public bool holdingAnyModifierKey => modifiers != EventModifiers.None; - - public bool holdingAlt => e.alt; - public bool holdingShift => e.shift; - public bool holdingCtrl => e.control; - public bool holdingCmd => e.command; - public bool holdingCmdOrCtrl => e.command || e.control; - - public bool holdingAltOnly => e.modifiers == EventModifiers.Alt; // in some sessions FunctionKey is always pressed? - public bool holdingShiftOnly => e.modifiers == EventModifiers.Shift; // in some sessions FunctionKey is always pressed? - public bool holdingCtrlOnly => e.modifiers == EventModifiers.Control; - public bool holdingCmdOnly => e.modifiers == EventModifiers.Command; - public bool holdingCmdOrCtrlOnly => (e.modifiers == EventModifiers.Command || e.modifiers == EventModifiers.Control); - - public EventType type => e.type; - - public void Use() => e?.Use(); - - - public WrappedEvent(Event e) => this.e = e; - - public override string ToString() => e.ToString(); - - } - - public static WrappedEvent Wrap(this Event e) => new(e); - - public static WrappedEvent curEvent => _curEvent ??= typeof(Event).GetFieldValue("s_Current").Wrap(); - static WrappedEvent _curEvent; - - - - - - #endregion - - #region Shortcuts - - - public static Rect lastRect => GUILayoutUtility.GetLastRect(); - - public static bool isDarkTheme => EditorGUIUtility.isProSkin; - - public static bool IsHovered(this Rect r) => r.Contains(curEvent.mousePosition); - - public static float GetLabelWidth(this string s) => GUI.skin.label.CalcSize(new GUIContent(s)).x; - public static float GetLabelWidth(this string s, int fontSize) - { - SetLabelFontSize(fontSize); - - var r = s.GetLabelWidth(); - - ResetLabelStyle(); - - return r; - - } - public static float GetLabelWidth(this string s, bool isBold) - { - if (isBold) - SetLabelBold(); - - var r = s.GetLabelWidth(); - - if (isBold) - ResetLabelStyle(); - - return r; - - } - public static float GetLabelWidth(this string s, int fontSize, bool isBold) - { - if (isBold) - SetLabelBold(); - - SetLabelFontSize(fontSize); - - var r = s.GetLabelWidth(); - - ResetLabelStyle(); - - return r; - - } - - public static void SetGUIEnabled(bool enabled) { _prevGuiEnabled = GUI.enabled; GUI.enabled = enabled; } - public static void ResetGUIEnabled() => GUI.enabled = _prevGuiEnabled; - static bool _prevGuiEnabled = true; - - public static void SetLabelFontSize(int size) => GUI.skin.label.fontSize = size; - public static void SetLabelBold() => GUI.skin.label.fontStyle = FontStyle.Bold; - public static void SetLabelAlignmentCenter() => GUI.skin.label.alignment = TextAnchor.MiddleCenter; - public static void ResetLabelStyle() - { - GUI.skin.label.fontSize = 0; - GUI.skin.label.fontStyle = FontStyle.Normal; - GUI.skin.label.alignment = TextAnchor.MiddleLeft; - GUI.skin.label.wordWrap = false; - } - - - public static void SetGUIColor(Color c) - { - _guiColorStack.Push(GUI.color); - - GUI.color *= c; - - } - public static void ResetGUIColor() - { - GUI.color = _guiColorStack.Pop(); - } - - static Stack _guiColorStack = new(); - - - - public static float editorDeltaTime = .0166f; - - static void EditorDeltaTime_Update() - { - editorDeltaTime = (float)(EditorApplication.timeSinceStartup - _lastUpdateTime); - - _lastUpdateTime = EditorApplication.timeSinceStartup; - - } - static double _lastUpdateTime; - - [InitializeOnLoadMethod] - static void EditorDeltaTime_Subscribe() - { - EditorApplication.update -= EditorDeltaTime_Update; - EditorApplication.update += EditorDeltaTime_Update; - } - - - - - #endregion - - #region Controls - - - public static bool IconButton(Rect rect, string iconName, float iconSize = default, Color color = default, Color colorHovered = default, Color colorPressed = default) - { - var id = EditorGUIUtility.GUIToScreenRect(rect).GetHashCode();// GUIUtility.GetControlID(FocusType.Passive, rect); - var isPressed = id == _pressedIconButtonId; - - var wasActivated = false; - - void icon() - { - if (!curEvent.isRepaint) return; - - - if (color == default) - color = Color.white; - - if (colorHovered == default) - colorHovered = Color.white; - - if (colorPressed == default) - colorPressed = Color.white.SetAlpha(.6f); - - - if (rect.IsHovered()) - color = colorHovered; - - if (isPressed) - color = colorPressed; - - - if (iconSize == default) - iconSize = rect.width.Min(rect.height); - - var iconRect = rect.SetSizeFromMid(iconSize); - - - - SetGUIColor(color); - - GUI.DrawTexture(iconRect, EditorIcons.GetIcon(iconName)); - - ResetGUIColor(); - - - } - void mouseDown() - { - if (!curEvent.isMouseDown) return; - if (!rect.IsHovered()) return; - - _pressedIconButtonId = id; - - curEvent.Use(); - - } - void mouseUp() - { - if (!curEvent.isMouseUp) return; - if (!isPressed) return; - - _pressedIconButtonId = 0; - - if (rect.IsHovered()) - wasActivated = true; - - curEvent.Use(); - - } - void mouseDrag() - { - if (!curEvent.isMouseDrag) return; - if (!isPressed) return; - - curEvent.Use(); - - } - - rect.MarkInteractive(); - - icon(); - mouseDown(); - mouseUp(); - mouseDrag(); - - return wasActivated; - - } - - static int _pressedIconButtonId; - - - - - - #endregion - - #region Layout - - - public static void Space(float px = 6) => GUILayout.Space(px); - - public static Rect ExpandWidthLabelRect() { GUILayout.Label(""/* , GUILayout.Height(0) */, GUILayout.ExpandWidth(true)); return lastRect; } - public static Rect ExpandWidthLabelRect(float height) { GUILayout.Label("", GUILayout.Height(height), GUILayout.ExpandWidth(true)); return lastRect; } - - - - - public static void BeginIndent(float f) - { - GUILayout.BeginHorizontal(); - GUILayout.Space(f); - GUILayout.BeginVertical(); - - _indentLabelWidthStack.Push(EditorGUIUtility.labelWidth); - - EditorGUIUtility.labelWidth -= f; - } - - public static void EndIndent(float f = 0) - { - GUILayout.EndVertical(); - GUILayout.Space(f); - GUILayout.EndHorizontal(); - - EditorGUIUtility.labelWidth = _indentLabelWidthStack.Pop(); - } - static Stack _indentLabelWidthStack = new(); - - - - - - public static void Horizontal() { if (__hor) GUILayout.EndHorizontal(); else GUILayout.BeginHorizontal(); __hor = !__hor; } - public static void Vertical() { if (__v) GUILayout.EndVertical(); else GUILayout.BeginVertical(); __v = !__v; } - public static void Area(Rect r) { if (__a) GUILayout.EndArea(); else GUILayout.BeginArea(r); __a = !__a; } - public static void Area() { if (__a) GUILayout.EndArea(); __a = !__a; } - public static void ResetUIBools() { __a = __hor = __v = false; _prevGuiEnabled = true; } - static bool __hor, __a, __v; - - - - - - #endregion - - #region GUIColors - - - public static class GUIColors - { - public static Color windowBackground => isDarkTheme ? Greyscale(.22f) : Greyscale(.78f); // prev backgroundCol - public static Color pressedButtonBackground => isDarkTheme ? new Color(.48f, .76f, 1f, 1f) * 1.4f : new Color(.48f, .7f, 1f, 1f) * 1.2f; // prev pressedButtonCol - public static Color greyedOutTint => Greyscale(.7f); - public static Color selectedBackground => isDarkTheme ? new Color(.17f, .365f, .535f) : new Color(.2f, .375f, .555f) * 1.2f; - } - - - - - #endregion - - #region EditorIcons - - - public static partial class EditorIcons - { - public static Texture2D GetIcon(string iconNameOrPath) - { - if (icons_byName.TryGetValue(iconNameOrPath, out var cachedResult) && cachedResult != null) return cachedResult; - - Texture2D icon = null; - - void getCustom() - { - if (icon) return; - if (!customIcons.ContainsKey(iconNameOrPath)) return; - - var pngBytesString = customIcons[iconNameOrPath]; - var pngBytes = pngBytesString.Split("-").Select(r => System.Convert.ToByte(r, 16)).ToArray(); - - icon = new Texture2D(1, 1); - - icon.LoadImage(pngBytes); - - } - void getBuiltin() - { - if (icon) return; - - icon = typeof(EditorGUIUtility).InvokeMethod("LoadIcon", iconNameOrPath) as Texture2D; - - } - void getEmpty() - { - if (icon) return; - - icon = new Texture2D(1, 1); - - } - - getCustom(); - getBuiltin(); - getEmpty(); - - return icons_byName[iconNameOrPath] = icon; - - } - - static Dictionary icons_byName = new(); - - - static Dictionary customIcons = new() - { - ["Chevron Left"] = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49-48-44-52-00-00-00-40-00-00-00-40-08-06-00-00-00-AA-69-71-DE-00-00-00-09-70-48-59-73-00-00-0B-13-00-00-0B-13-01-00-9A-9C-18-00-00-00-01-73-52-47-42-00-AE-CE-1C-E9-00-00-00-04-67-41-4D-41-00-00-B1-8F-0B-FC-61-05-00-00-01-29-49-44-41-54-78-01-ED-9B-CD-71-83-30-14-06-3F-A5-02-4A-71-09-A4-A3-B4-94-0A-28-01-77-10-77-90-16-D2-81-A2-A7-21-A7-FC-8C-A4-60-23-9E-76-67-34-1C-2C-1F-76-2D-30-C3-08-09-00-00-60-58-82-3A-25-C6-38-A7-C3-25-8D-29-8D-6B-08-E1-AA-11-48-E2-53-1A-6B-FC-CE-62-9F-C9-33-9B-FC-5B-FC-9D-55-5E-29-90-FF-62-D6-8E-3C-A9-03-B6-A5-6D-BF-EE-A5-60-7A-C9-9C-62-0E-0F-50-29-6F-F8-B9-0E-54-2C-FB-BB-9D-02-87-D1-28-BF-C8-03-8D-F2-36-FF-FC-CB-1F-79-E4-91-47-1E-79-E4-91-47-1E-79-E4-91-F7-21-6F-C4-C1-E5-5F-62-1D-7E-E4-8D-24-F3-3E-B2-FC-74-76-F9-2E-1E-8A-9E-9A-B3-9F-02-7B-AC-80-D7-8A-B9-F6-E4-77-ED-2D-C2-BF-88-A3-DF-03-18-44-10-11-32-44-10-11-32-44-10-11-32-44-10-11-32-44-10-11-32-44-10-11-32-44-50-73-04-5F-FB-04-1B-23-CC-DA-91-43-1F-89-85-10-3E-D2-E1-39-8D-5B-C5-D7-7C-ED-13-6C-88-E0-73-BF-70-C5-E9-30-CB-2B-05-11-7C-EC-13-FC-8B-2D-C2-F2-83-FC-1A-EF-F0-37-D8-FB-0B-13-36-EC-1A-71-1B-E6-85-09-00-00-80-C7-F1-09-79-C0-DD-81-D6-B5-69-91-00-00-00-00-49-45-4E-44-AE-42-60-82", - ["Chevron Right"] = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49-48-44-52-00-00-00-40-00-00-00-40-08-06-00-00-00-AA-69-71-DE-00-00-00-09-70-48-59-73-00-00-0B-13-00-00-0B-13-01-00-9A-9C-18-00-00-00-01-73-52-47-42-00-AE-CE-1C-E9-00-00-00-04-67-41-4D-41-00-00-B1-8F-0B-FC-61-05-00-00-01-1A-49-44-41-54-78-01-ED-9B-D1-0D-82-30-10-86-AF-4E-C0-28-8E-80-1B-39-82-1B-39-02-6C-00-1B-B8-82-1B-9C-6D-D0-27-05-69-4B-48-B9-7E-5F-D2-F0-40-5F-FE-2F-B4-47-9A-AB-08-00-00-40-B5-38-D9-08-55-6D-FD-E3-EC-47-E3-47-EF-9C-EB-A5-06-7C-F0-C6-8F-4E-BF-B9-87-77-62-9D-77-D0-39-06-D3-12-C2-67-AF-FF-29-5A-C2-49-F2-68-57-CC-09-FB-42-57-AA-84-5C-01-CF-95-F3-8A-95-90-2B-60-8C-98-5B-F4-97-90-CC-4C-05-38-EC-9E-10-8D-4E-65-70-88-73-80-04-24-20-01-09-48-40-02-12-90-80-04-24-20-01-09-48-40-42-04-37-B1-44-82-84-87-58-23-41-C2-A6-CB-20-F7-48-0C-72-A8-7A-09-68-DA-26-78-15-0B-24-86-1F-C4-02-5A-F3-3F-00-E1-09-4F-78-C2-13-9E-F0-84-27-3C-E1-09-4F-78-3B-E7-7B-BA-DC-27-68-3E-FC-9A-3E-C1-A2-C3-EF-D1-27-F8-21-74-94-5D-9C-73-6B-5B-EB-76-61-AF-3E-C1-22-C3-67-A3-06-5A-65-B3-D1-E5-3E-41-DB-E1-03-3A-95-C1-5F-95-A0-3B-42-F8-AD-2F-4C-84-11-D6-F9-58-CD-85-09-00-00-80-E3-F2-02-5D-3B-DF-D0-96-78-5C-6E-00-00-00-00-49-45-4E-44-AE-42-60-82", - ["Search_"] = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49-48-44-52-00-00-00-20-00-00-00-20-08-06-00-00-00-73-7A-7A-F4-00-00-00-09-70-48-59-73-00-00-0B-13-00-00-0B-13-01-00-9A-9C-18-00-00-00-01-73-52-47-42-00-AE-CE-1C-E9-00-00-00-04-67-41-4D-41-00-00-B1-8F-0B-FC-61-05-00-00-02-00-49-44-41-54-78-01-ED-56-3D-4F-02-41-10-1D-3E-22-C6-C4-CA-D0-9A-58-6B-87-8D-12-6B-0B-1B-7F-07-85-89-95-F4-34-D6-F2-07-2C-FD-23-D0-41-A2-8D-FF-00-8A-0B-0D-7A-70-7C-1C-EB-7B-B8-47-16-C4-70-7B-77-1C-0D-2F-B9-DC-DE-DD-CE-CE-DB-99-D9-37-27-B2-C7-8E-91-B1-99-EC-38-CE-71-A1-50-38-E0-78-34-1A-8D-8B-C5-E2-97-6C-1B-4A-A9-43-38-AB-8E-C7-E3-CF-D9-6C-E6-29-0D-DF-F7-5D-BE-C3-B7-1A-E7-C8-36-E0-BA-EE-1D-1C-39-6A-03-40-CC-E5-5C-49-12-9E-E7-55-B0-B0-AF-1D-F8-93-C9-A4-81-77-0F-B8-97-79-E9-71-DB-20-E1-83-44-45-92-00-77-13-38-47-04-BA-83-C1-E0-FA-BF-B9-20-71-85-39-3D-83-44-BC-48-30-9F-0C-A9-5E-B0-D7-E9-74-8E-36-D9-70-0E-89-6A-C2-4E-AC-9A-D0-45-35-07-43-1D-D6-0E-51-2A-07-51-63-D1-4A-54-B0-B2-B5-F3-B6-58-02-36-4D-DA-72-8D-B0-36-59-F3-81-E7-3C-9B-CD-9E-72-8C-75-5E-C5-12-B0-79-E3-3D-9F-CF-9F-71-AD-30-36-4B-04-28-32-B9-5C-6E-9E-F3-4C-26-D3-12-4B-4C-A7-D3-96-B6-2D-04-82-65-45-60-17-58-22-40-79-65-0D-71-8C-7B-49-2C-81-D0-97-B4-AD-CB-B5-24-0A-8C-22-6C-8A-25-70-04-DB-B6-45-F8-07-3C-42-86-FA-59-1D-43-E3-F8-D6-24-2A-28-22-81-FE-53-5C-C2-0A-11-45-2B-E8-0B-2A-6E-73-32-A5-98-0B-87-90-E2-6E-62-52-6C-90-58-34-A3-40-98-90-DB-D5-66-D4-80-F3-45-C3-62-03-A3-ED-70-38-BC-C1-AB-0B-89-0B-1D-09-57-6D-00-53-16-EC-1C-24-6E-F1-3C-82-DD-37-08-5F-4A-5C-A8-DF-1F-92-1A-2B-1B-42-E3-1A-ED-D7-D3-3F-24-D5-20-E7-DC-39-9D-1B-73-26-F8-7E-2F-49-81-F2-DA-EF-F7-4F-78-AD-93-5A-38-3B-E7-CE-D5-F2-CF-CA-14-A9-8A-DE-9C-6C-C1-B0-73-E7-AB-69-42-6A-5E-24-2D-30-EC-DC-F9-1A-12-8F-92-16-50-0B-4F-6B-8A-F5-5D-D2-04-76-5C-37-09-20-3D-75-49-1B-28-C0-67-5C-1F-74-0E-0E-79-D9-63-8F-15-FC-00-17-02-EB-AB-1A-4B-B3-E7-00-00-00-00-49-45-4E-44-AE-42-60-82", - ["Cross"] = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49-48-44-52-00-00-00-20-00-00-00-20-08-06-00-00-00-73-7A-7A-F4-00-00-00-09-70-48-59-73-00-00-0B-13-00-00-0B-13-01-00-9A-9C-18-00-00-00-01-73-52-47-42-00-AE-CE-1C-E9-00-00-00-04-67-41-4D-41-00-00-B1-8F-0B-FC-61-05-00-00-00-C5-49-44-41-54-78-01-ED-96-D1-0D-83-30-0C-44-9D-4E-D0-51-BA-02-13-B5-23-A4-1B-A4-13-31-42-3B-4A-37-70-8D-6A-04-42-E0-D8-88-E0-1F-3F-29-8A-50-1C-DF-05-48-62-80-20-08-9C-49-D2-20-22-5E-A9-BB-53-1B-FA-67-4A-E9-0B-0A-66-F3-06-5E-DA-79-6B-89-32-4E-BC-39-71-55-9C-63-47-B2-14-7F-01-3D-37-6A-BD-64-82-C7-7A-8E-1D-A9-9A-06-29-E1-62-35-9B-6F-C2-12-7B-B8-89-66-E2-1A-81-E6-E2-0A-13-ED-C5-2B-26-CE-11-57-98-D8-25-6E-D9-86-FE-B8-7E-02-D7-9F-10-3D-B7-21-7A-1E-44-96-C4-4D-4C-D0-E4-62-49-B8-61-22-4B-1A-B5-6D-38-BF-C7-3F-D4-3A-E9-6E-E7-B1-8E-63-55-68-0A-92-07-3F-16-63-41-92-E1-BF-80-B2-BB-20-09-82-E0-0C-7E-54-36-6A-69-F6-3F-13-EF-00-00-00-00-49-45-4E-44-AE-42-60-82", - ["Plus"] = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49-48-44-52-00-00-00-20-00-00-00-20-08-06-00-00-00-73-7A-7A-F4-00-00-00-09-70-48-59-73-00-00-0B-13-00-00-0B-13-01-00-9A-9C-18-00-00-00-01-73-52-47-42-00-AE-CE-1C-E9-00-00-00-04-67-41-4D-41-00-00-B1-8F-0B-FC-61-05-00-00-00-A7-49-44-41-54-78-01-ED-D5-01-09-84-30-14-06-E0-7F-C7-05-B8-06-77-0D-CE-08-46-31-C2-1A-68-04-4D-A0-51-8C-A0-0D-B4-81-0D-E6-13-14-C6-10-C5-4D-11-E1-FF-60-F8-78-0C-F7-B3-E1-04-88-02-18-63-B4-8C-04-77-98-17-5F-64-F0-F4-82-BF-C8-AA-BF-F0-14-12-E0-14-0C-C0-00-0C-A0-D6-9A-72-B1-A4-F2-F8-61-5B-6C-CD-E9-64-D4-3B-F3-1B-A5-54-81-3D-D3-D5-6A-AE-A3-DD-F5-D6-8E-E0-83-EB-0C-6E-E3-ED-36-64-9B-72-49-3A-95-7F-6C-8B-71-EC-08-7A-79-77-85-B3-48-C8-CA-DA-DA-12-9E-F8-19-32-00-03-3C-3A-40-67-D5-2D-EE-30-FF-37-34-88-02-8C-19-03-9B-84-46-97-A8-ED-00-00-00-00-49-45-4E-44-AE-42-60-82", - }; - - } - - - - #endregion - - #region Other - - - public static void MarkInteractive(this Rect rect) - { - if (!curEvent.isRepaint) return; - - var unclippedRect = (Rect)_mi_GUIClip_UnclipToWindow.Invoke(null, new object[] { rect }); - - var curGuiView = _pi_GUIView_current.GetValue(null); - - _mi_GUIView_MarkHotRegion.Invoke(curGuiView, new object[] { unclippedRect }); - - } - - static PropertyInfo _pi_GUIView_current = typeof(Editor).Assembly.GetType("UnityEditor.GUIView").GetProperty("current", maxBindingFlags); - static MethodInfo _mi_GUIView_MarkHotRegion = typeof(Editor).Assembly.GetType("UnityEditor.GUIView").GetMethod("MarkHotRegion", maxBindingFlags); - static MethodInfo _mi_GUIClip_UnclipToWindow = typeof(GUI).Assembly.GetType("UnityEngine.GUIClip").GetMethod("UnclipToWindow", maxBindingFlags, null, new[] { typeof(Rect) }, null); - - - - - public static float GetCurrentInspectorWidth() => typeof(EditorGUIUtility).GetPropertyValue("contextWidth"); - - public static void CheckScrollbarVisibility(ref bool isScrollbarVisible) - { - GUILayout.Label("", GUILayout.Height(0), GUILayout.ExpandWidth(true)); - - if (Event.current.type == EventType.Repaint) - isScrollbarVisible = GetCurrentInspectorWidth() - 33 > lastRect.width; - - } - - - - - - - #endregion - - } - -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersLibs.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersLibs.cs.meta deleted file mode 100644 index 0c41ce9a8..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersLibs.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d2528d4639fe84d44bfdfde62c65dc86 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersMenu.cs b/Assets/External/V_Utility/vFolders/VFoldersMenu.cs deleted file mode 100644 index d3662eca6..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersMenu.cs +++ /dev/null @@ -1,127 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - - -namespace VFolders -{ - class VFoldersMenu - { - - public static bool navigationBarEnabled { get => EditorPrefsCached.GetBool("vFolders-navigationBarEnabled", false); set => EditorPrefsCached.SetBool("vFolders-navigationBarEnabled", value); } - public static bool twoLineNamesEnabled { get => EditorPrefsCached.GetBool("vFolders-twoLineNamesEnabled", false); set => EditorPrefsCached.SetBool("vFolders-twoLineNamesEnabled", value); } - - public static bool autoIconsEnabled { get => EditorPrefsCached.GetBool("vFolders-autoIconsEnabled", false); set => EditorPrefsCached.SetBool("vFolders-autoIconsEnabled", value); } - public static bool hierarchyLinesEnabled { get => EditorPrefsCached.GetBool("vFolders-hierarchyLinesEnabled", false); set => EditorPrefsCached.SetBool("vFolders-hierarchyLinesEnabled", value); } - public static bool zebraStripingEnabled { get => EditorPrefsCached.GetBool("vFolders-zebraStripingEnabled", false); set => EditorPrefsCached.SetBool("vFolders-zebraStripingEnabled", value); } - public static bool contentMinimapEnabled { get => EditorPrefsCached.GetBool("vFolders-contentMinimapEnabled", false); set => EditorPrefsCached.SetBool("vFolders-contentMinimapEnabled", value); } - public static bool backgroundColorsEnabled { get => EditorPrefsCached.GetBool("vFolders-backgroundColorsEnabled", false); set => EditorPrefsCached.SetBool("vFolders-backgroundColorsEnabled", value); } - public static bool minimalModeEnabled { get => EditorPrefsCached.GetBool("vFolders-minimalModeEnabled", false); set => EditorPrefsCached.SetBool("vFolders-minimalModeEnabled", value); } - public static bool foldersFirstEnabled { get => EditorPrefsCached.GetBool("vFolders-foldersFirstEnabled", false); set => EditorPrefsCached.SetBool("vFolders-foldersFirstEnabled", value); } - public static bool toggleExpandedEnabled { get => EditorPrefsCached.GetBool("vFolders-toggleExpandedEnabled", true); set => EditorPrefsCached.SetBool("vFolders-toggleExpandedEnabled", value); } - public static bool collapseEverythingElseEnabled { get => EditorPrefsCached.GetBool("vFolders-collapseEverythingElseEnabled", true); set => EditorPrefsCached.SetBool("vFolders-collapseEverythingElseEnabled", value); } - public static bool collapseEverythingEnabled { get => EditorPrefsCached.GetBool("vFolders-collapseEverythingEnabled", true); set => EditorPrefsCached.SetBool("vFolders-collapseEverythingEnabled", value); } - - public static bool pluginDisabled { get => EditorPrefsCached.GetBool("vFolders-pluginDisabled", false); set => EditorPrefsCached.SetBool("vFolders-pluginDisabled", value); } - - - - - const string dir = "Tools/vFolders/"; - - const string navigationBar = dir + "Navigation bar"; - const string autoIcons = dir + "Automatic icons"; - const string twoLineNames = dir + "Two-line names"; - const string hierarchyLines = dir + "Hierarchy lines"; - const string backgroundColors = dir + "Background colors"; - const string minimalMode = dir + "Minimal mode"; - const string zebraStriping = dir + "Zebra striping"; - const string contentMinimap = dir + "Content minimap"; - const string foldersFirst = dir + "Sort folders first"; - - const string toggleExpanded = dir + "E to expand \u2215 collapse folder"; - const string collapseEverythingElse = dir + "Shift-E to isolate folder"; - const string collapseEverything = dir + "Ctrl-Shift-E to collapse all folders"; - - const string disablePlugin = dir + "Disable vFolders"; - - - - - - - [MenuItem(dir + "Features", false, 1)] static void daasddsas() { } - [MenuItem(dir + "Features", true, 1)] static bool dadsdasas123() => false; - - [MenuItem(navigationBar, false, 2)] static void dadsaadsdsadasdsadadsas() { navigationBarEnabled = !navigationBarEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(navigationBar, true, 2)] static bool dadsaddasdsasadadsdasadsas() { Menu.SetChecked(navigationBar, navigationBarEnabled); return !pluginDisabled; } - - [MenuItem(twoLineNames, false, 3)] static void dadsadaddssadass() { twoLineNamesEnabled = !twoLineNamesEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(twoLineNames, true, 3)] static bool dadsaddasdsaasddsas() { Menu.SetChecked(twoLineNames, twoLineNamesEnabled); return !pluginDisabled; } - - [MenuItem(autoIcons, false, 4)] static void dadsadadsas() { autoIconsEnabled = !autoIconsEnabled; VFolders.folderInfoCache.Clear(); EditorApplication.RepaintProjectWindow(); } - [MenuItem(autoIcons, true, 4)] static bool dadsaddasadsas() { Menu.SetChecked(autoIcons, autoIconsEnabled); return !pluginDisabled; } - - [MenuItem(hierarchyLines, false, 5)] static void dadsadadsadass() { hierarchyLinesEnabled = !hierarchyLinesEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(hierarchyLines, true, 5)] static bool dadsaddasaasddsas() { Menu.SetChecked(hierarchyLines, hierarchyLinesEnabled); return !pluginDisabled; } - - [MenuItem(zebraStriping, false, 6)] static void dadsadaddsasadsadass() { zebraStripingEnabled = !zebraStripingEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(zebraStriping, true, 6)] static bool dadsaddadassadsaasddsas() { Menu.SetChecked(zebraStriping, zebraStripingEnabled); return !pluginDisabled; } - - [MenuItem(contentMinimap, false, 7)] static void dadsadadasdsadass() { contentMinimapEnabled = !contentMinimapEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(contentMinimap, true, 7)] static bool dadsadddasasaasddsas() { Menu.SetChecked(contentMinimap, contentMinimapEnabled); return !pluginDisabled; } - - [MenuItem(backgroundColors, false, 8)] static void dadsadadsadsadass() { backgroundColorsEnabled = !backgroundColorsEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(backgroundColors, true, 8)] static bool dadsaddasadsaasddsas() { Menu.SetChecked(backgroundColors, backgroundColorsEnabled); return !pluginDisabled; } - - [MenuItem(minimalMode, false, 9)] static void dadsadadsaddsasadass() { minimalModeEnabled = !minimalModeEnabled; EditorApplication.RepaintProjectWindow(); } - [MenuItem(minimalMode, true, 9)] static bool dadsaddasadsadsaasddsas() { Menu.SetChecked(minimalMode, minimalModeEnabled); return !pluginDisabled; } -#if UNITY_EDITOR_OSX - [MenuItem(foldersFirst, false, 10)] static void dadsdsfaadsdadsas() { foldersFirstEnabled = !foldersFirstEnabled; EditorApplication.RepaintProjectWindow(); if (!foldersFirstEnabled) UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation(); } - [MenuItem(foldersFirst, true, 10)] static bool dadsasdfdadsdasadsas() { Menu.SetChecked(foldersFirst, foldersFirstEnabled); return !pluginDisabled; } -#endif - - - - [MenuItem(dir + "Shortcuts", false, 101)] static void dadsas() { } - [MenuItem(dir + "Shortcuts", true, 101)] static bool dadsas123() => false; - - [MenuItem(toggleExpanded, false, 102)] static void dadsadsadasdsadadsas() => toggleExpandedEnabled = !toggleExpandedEnabled; - [MenuItem(toggleExpanded, true, 102)] static bool dadsaddsasadadsdasadsas() { Menu.SetChecked(toggleExpanded, toggleExpandedEnabled); return !pluginDisabled; } - - [MenuItem(collapseEverythingElse, false, 103)] static void dadsadsasdadasdsadadsas() => collapseEverythingElseEnabled = !collapseEverythingElseEnabled; - [MenuItem(collapseEverythingElse, true, 103)] static bool dadsaddsdasasadadsdasadsas() { Menu.SetChecked(collapseEverythingElse, collapseEverythingElseEnabled); return !pluginDisabled; } - - [MenuItem(collapseEverything, false, 104)] static void dadsadsdasadasdsadadsas() => collapseEverythingEnabled = !collapseEverythingEnabled; - [MenuItem(collapseEverything, true, 104)] static bool dadsaddssdaasadadsdasadsas() { Menu.SetChecked(collapseEverything, collapseEverythingEnabled); return !pluginDisabled; } - - - - - [MenuItem(dir + "More", false, 1001)] static void daasadsddsas() { } - [MenuItem(dir + "More", true, 1001)] static bool dadsadsdasas123() => false; - - [MenuItem(dir + "Open manual", false, 1002)] - static void dadadssadsas() => Application.OpenURL("https://kubacho-lab.gitbook.io/vfolders-2"); - - [MenuItem(dir + "Join our Discord", false, 1003)] - static void dadasdsas() => Application.OpenURL("https://discord.gg/pUektnZeJT"); - - - - - - - [MenuItem(disablePlugin, false, 10001)] static void dadsadsdasadasdasdsadadsas() { pluginDisabled = !pluginDisabled; UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation(); } - [MenuItem(disablePlugin, true, 10001)] static bool dadsaddssdaasadsadadsdasadsas() { Menu.SetChecked(disablePlugin, pluginDisabled); return true; } - - - - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersMenu.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersMenu.cs.meta deleted file mode 100644 index 19b54b393..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersMenu.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f118e09f35fa241fda19f1f3b1e7c5a2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs b/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs deleted file mode 100644 index 028ed4216..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs +++ /dev/null @@ -1,5 +0,0 @@ - -// this file was present in a previus version and is supposed to be deleted now -// but asset store update delivery system doesn't allow deleting files -// so instead this file is now emptied -// feel free to delete it if you want diff --git a/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs.meta deleted file mode 100644 index 4bdc039c4..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersMenuItems.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ec6d8bc24e3ec4cb6b055630a6425686 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs b/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs deleted file mode 100644 index b3e17dc4c..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs +++ /dev/null @@ -1,1321 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using Type = System.Type; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFoldersData; -using static VFolders.VFolders; - - - -namespace VFolders -{ - public class VFoldersNavbar - { - - public void OnGUI(Rect navbarRect) - { - void updateState() - { - if (!curEvent.isLayout) return; - - - openedFolderPath = window.GetMemberValue("m_SearchFilter")?.GetMemberValue("folders")?.FirstOrDefault() ?? "Assets"; - - isOneColumn = window.GetMemberValue("m_ViewMode") == 0; - - isSearchActive = window.GetMemberValue("m_FocusSearchField") - || !window.GetMemberValue("m_SearchFieldText").IsNullOrEmpty() - || GUI.GetNameOfFocusedControl() == "navbar search field"; - - } - - void background() - { - var backgroundColor = Greyscale(isDarkTheme ? .235f : .8f); - var lineColor = Greyscale(isDarkTheme ? .13f : .58f); - - navbarRect.Draw(backgroundColor); - - navbarRect.SetHeightFromBottom(1).MoveY(1).Draw(lineColor); - - } - void hiddenMenu() - { - if (!curEvent.holdingAlt) return; - if (!curEvent.isMouseUp) return; - if (curEvent.mouseButton != 1) return; - if (!navbarRect.IsHovered()) return; - - - void selectData() - { - Selection.activeObject = data; - } - void selectPalette() - { - Selection.activeObject = palette; - } - void clearCache() - { - VFoldersCache.instance.iconTextures_byKey.Clear(); - VFoldersCache.instance.iconTextureDatas_byKey.Clear(); - VFoldersCache.instance.folderStates_byGuid.Clear(); - - VFolders.folderInfoCache.Clear(); - - bookmarkWidthsCache.Clear(); - - } - - - - GenericMenu menu = new(); - - menu.AddDisabledItem(new GUIContent("vFolders hidden menu")); - - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Select data"), false, selectData); - menu.AddItem(new GUIContent("Select palette"), false, selectPalette); - - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Clear cache"), false, clearCache); - - menu.ShowAsContext(); - - } - - void moveBackButton() - { - var buttonRect = navbarRect.SetWidth(30).MoveX(4); - - if (Application.unityVersion.StartsWith("6000")) - buttonRect = buttonRect.MoveY(-.49f); - - - var iconName = "Chevron Left"; - var iconSize = 14; - var colorNormal = Greyscale(isDarkTheme ? .75f : .2f); - var colorHovered = Greyscale(isDarkTheme ? 1f : .2f); - var colorPressed = Greyscale(isDarkTheme ? .75f : .5f); - var colorDisabled = Greyscale(isDarkTheme ? .53f : .55f); - - - var disabled = isOneColumn ? !history.prevTreeStates.Any() : !history.prevFolderPaths.Any(); - - if (disabled) { IconButton(buttonRect, iconName, iconSize, colorDisabled, colorDisabled, colorDisabled); return; } - - - if (!IconButton(buttonRect, iconName, iconSize, colorNormal, colorHovered, colorPressed)) return; - - if (isOneColumn) - history.MoveBack_OneColumn(); - else - history.MoveBack_TwoColumns(); - - } - void moveForwardButton() - { - var buttonRect = navbarRect.SetWidth(30).MoveX(30).MoveX(1).AddWidthFromMid(-6); - - if (Application.unityVersion.StartsWith("6000")) - buttonRect = buttonRect.MoveY(-.49f); - - - var iconName = "Chevron Right"; - var iconSize = 14; - var colorNormal = Greyscale(isDarkTheme ? .75f : .2f); - var colorHovered = Greyscale(isDarkTheme ? 1f : .2f); - var colorPressed = Greyscale(isDarkTheme ? .75f : .5f); - var colorDisabled = Greyscale(isDarkTheme ? .53f : .55f); - - - var disabled = isOneColumn ? !history.nextTreeStates.Any() : !history.nextFolderPaths.Any(); - - if (disabled) { IconButton(buttonRect, iconName, iconSize, colorDisabled, colorDisabled, colorDisabled); return; } - - - if (!IconButton(buttonRect, iconName, iconSize, colorNormal, colorHovered, colorPressed)) return; - - if (isOneColumn) - history.MoveForward_OneColumn(); - else - history.MoveForward_TwoColumns(); - - } - - void searchButton() - { - if (searchAnimationT == 1) return; - - - var buttonRect = navbarRect.SetWidthFromRight(28).MoveX(-5); - - var iconName = "Search_"; - var iconSize = 16; - var colorNormal = Greyscale(isDarkTheme ? .75f : .2f); - var colorHovered = Greyscale(isDarkTheme ? 1f : .2f); - var colorPressed = Greyscale(isDarkTheme ? .75f : .5f); - - - if (!IconButton(buttonRect, iconName, iconSize, colorNormal, colorHovered, colorPressed)) return; - - window.SetMemberValue("m_FocusSearchField", true); - - } - void plusButton() - { - if (searchAnimationT == 1) return; - - - var buttonRect = navbarRect.SetWidthFromRight(28).MoveX(-33); - - var iconName = "Plus"; - var iconSize = 16; - var colorNormal = Greyscale(isDarkTheme ? .735f : .44f); - var colorHovered = Greyscale(isDarkTheme ? 1f : .42f); - var colorPressed = Greyscale(isDarkTheme ? .75f : .6f); - - - if (!IconButton(buttonRect, iconName, iconSize, colorNormal, colorHovered, colorPressed)) return; - - if (curEvent.holdingAlt) - { - history.prevTreeStates.Clear(); - history.nextTreeStates.Clear(); - - history.prevFolderPaths.Clear(); - history.nextFolderPaths.Clear(); - - history.lastScrollTime = 0; - - - window.Repaint(); - - return; - - - // for debug - - } - - EditorUtility.DisplayPopupMenu(buttonRect.MoveX(24), "Assets/Create", null); - - } - void bookmarks() - { - if (searchAnimationT == 1) return; - if (isSearchActive && !curEvent.isRepaint) return; - - void createData() - { - if (data) return; - if (!navbarRect.IsHovered()) return; - if (!DragAndDrop.objectReferences.Any()) return; - - data = ScriptableObject.CreateInstance(); - - AssetDatabase.CreateAsset(data, GetScriptPath("VFolders").GetParentPath().CombinePath("vFolders Data.asset")); - - } - void handleUndoRedo() - { - if (!data) return; - if (curEvent.commandName != "UndoRedoPerformed") return; - - - if (repaintNeededAfterUndoRedo) - window.Repaint(); - - repaintNeededAfterUndoRedo = false; - - - bookmarkWidthsCache.Clear(); - bookmarkCenterXCache.Clear(); - - } - void divider() - { - if (!data) return; - if (!data.bookmarks.Any()) return; - - - var dividerRect = navbarRect.SetWidthFromRight(1).SetHeightFromMid(16).MoveX(-65).MoveX(isCompactMode ? 1.5f : .5f); - - var dividerColor = Greyscale(isDarkTheme ? .33f : .64f); - - - dividerRect.Draw(dividerColor); - - } - void gui() - { - if (!data) return; - - this.navbarRect = navbarRect; - this.bookmarksRect = navbarRect.AddWidth(-69).AddWidthFromRight(-60).MoveX(2).MoveX(isCompactMode ? -3 : 0); - - BookmarksGUI(); - - } - - createData(); - handleUndoRedo(); - divider(); - gui(); - - } - - void searchField() - { - if (searchAnimationT == 0) return; - - var searchFieldRect = navbarRect.SetHeightFromMid(20).AddWidth(-33).SetWidthFromRight(240f.Min(window.position.width - (isOneColumn ? 195 : 223))).Move(-1, 2); - - - GUILayout.BeginArea(searchFieldRect); - GUILayout.BeginHorizontal(); - - - GUI.SetNextControlName("navbar search field"); - - Space(2); - window.InvokeMethod("SearchField"); - - - GUILayout.EndHorizontal(); - GUILayout.EndArea(); - - } - void searchOptions() - { - if (searchAnimationT == 0) return; - - var searchFieldRect = navbarRect.SetHeightFromMid(20).AddWidth(-33).SetWidthFromRight(240f.Min(window.position.width - (isOneColumn ? 195 : 223))).Move(-1, 2); - var searchOptionsRect = navbarRect.SetHeightFromMid(20).SetXMax(searchFieldRect.x).SetWidthFromRight(123); - - - - - GUILayout.BeginArea(searchOptionsRect); - GUILayout.BeginHorizontal(); - - - - - GUILayout.FlexibleSpace(); - - Space(3); - window.InvokeMethod("TypeDropDown"); - - var masksStartX = lastRect.x; - - - window.InvokeMethod("AssetLabelsDropDown"); - - if (!isOneColumn) - window.InvokeMethod("ButtonSaveFilter"); - - - window.InvokeMethod("ToggleHiddenPackagesVisibility"); - - Space(4); - - - - - - var maskRect = searchOptionsRect.SetWidth(1).SetX(masksStartX - 1).MoveY(-3); - var maskColor = Greyscale(isDarkTheme ? .235f : .8f); - - for (int i = 0; i < (isOneColumn ? 3 : 4); i++) - { - maskRect.Draw(maskColor); - maskRect = maskRect.MoveX(26); - } - - - - - GUILayout.EndHorizontal(); - GUILayout.EndArea(); - - - } - void closeSearchButton() - { - if (searchAnimationT == 0) return; - - - var buttonRect = navbarRect.SetWidthFromRight(30).MoveX(-4); - - var iconName = "Cross"; - var iconSize = 16; - var colorNormal = Greyscale(isDarkTheme ? .72f : .2f); - var colorHovered = Greyscale(isDarkTheme ? .9f : .2f); - var colorPressed = Greyscale(isDarkTheme ? .75f : .5f); - - - if (!IconButton(buttonRect, iconName, iconSize, colorNormal, colorHovered, colorPressed)) return; - - window.SetMemberValue("m_SearchFieldText", ""); - window.GetMemberValue("m_SearchFilter").SetMemberValue("m_NameFilter", ""); - - window.InvokeMethod("UpdateSearchDelayed"); - - GUIUtility.keyboardControl = 0; - - } - void closeSearchOnEsc() - { - if (!isSearchActive) return; - if (curEvent.keyCode != KeyCode.Escape) return; - - window.SetMemberValue("m_SearchFieldText", ""); - window.GetMemberValue("m_SearchFilter").SetMemberValue("m_NameFilter", ""); - - window.InvokeMethod("UpdateSearchDelayed"); - - GUIUtility.keyboardControl = 0; - - } - - - void searchAnimation() - { - if (!curEvent.isLayout) return; - - - var lerpSpeed = 8f; - - if (isSearchActive) - SmoothDamp(ref searchAnimationT, 1, lerpSpeed, ref searchAnimationDerivative, editorDeltaTime); - else - SmoothDamp(ref searchAnimationT, 0, lerpSpeed, ref searchAnimationDerivative, editorDeltaTime); - - - if (isSearchActive && searchAnimationT > .99f) - searchAnimationT = 1; - - if (!isSearchActive && searchAnimationT < .01f) - searchAnimationT = 0; - - - animatingSearch = searchAnimationT != 0 && searchAnimationT != 1; - - } - - void buttonsAndBookmarks() - { - SetGUIColor(Greyscale(1, (1 - searchAnimationT).Pow(2))); - GUI.BeginGroup(window.position.SetPos(0, 0).MoveX(-searchAnimationDistance * searchAnimationT)); - - searchButton(); - plusButton(); - bookmarks(); - - GUI.EndGroup(); - ResetGUIColor(); - - } - void search() - { - SetGUIColor(Greyscale(1, searchAnimationT.Pow(2))); - GUI.BeginGroup(window.position.SetPos(0, 0).MoveX(searchAnimationDistance * (1 - searchAnimationT))); - - searchField(); - searchOptions(); - closeSearchButton(); - closeSearchOnEsc(); - - GUI.EndGroup(); - ResetGUIColor(); - - } - - - - updateState(); - - background(); - hiddenMenu(); - - moveBackButton(); - moveForwardButton(); - - searchAnimation(); - buttonsAndBookmarks(); - search(); - - - - if (draggingBookmark || animatingDroppedBookmark || animatingGaps || animatingTooltip || animatingSearch) - window.Repaint(); - - } - - bool animatingSearch; - - float searchAnimationDistance = 90; - float searchAnimationT; - float searchAnimationDerivative; - - string openedFolderPath; - - bool isOneColumn; - bool isTwoColumns => !isOneColumn; - bool isSearchActive; - - bool isCompactMode => isOneColumn; - - Rect navbarRect; - Rect bookmarksRect; - - - - - - - - - - - - - public void BookmarksGUI() - { - void bookmark(Vector2 centerPosition, Bookmark bookmark) - { - if (bookmark == null) return; - if (!curEvent.isRepaint && !curEvent.isMouseUp) return; - - - var bookmarkRect = Rect.zero.SetSize(GetBookmarkWidth(bookmark), bookmarksRect.height).SetMidPos(centerPosition); - - var IsHovered = bookmarkRect.IsHovered(); - var isSelected = openedFolderPath == bookmark.guid.ToPath() && !isCompactMode; - var isPressed = bookmark == pressedBookmark; - var isDragged = draggingBookmark && draggedBookmark == bookmark; - - - void shadow() - { - if (!draggingBookmark) return; - if (draggedBookmark != bookmark) return; - - bookmarkRect.SetSizeFromMid(GetBookmarkWidth(bookmark) - 4, bookmarkRect.height - 4).DrawBlurred(Greyscale(0, .3f), 15); - - } - void background() - { - if (isCompactMode) return; - if (!isSelected && !IsHovered && !isDragged) return; - - if (IsHovered && draggingBookmark && draggedBookmark != bookmark) return; - - - var backgroundRect = bookmarkRect.SetSizeFromMid(bookmarkRect.width - 7, bookmarkRect.height - 8).AddWidthFromRight(1); - - - var backgroundColor = isSelected ? Greyscale(isDarkTheme ? .35f : .7f) - : Greyscale(isDarkTheme ? .31f : .75f); - var outlineColor = isSelected ? Greyscale(isDarkTheme ? .21f : .65f) - : Greyscale(isDarkTheme ? .21f : .65f, .5f); - - - backgroundRect.Resize(-1).DrawRounded(outlineColor, 6); - backgroundRect.DrawRounded(backgroundColor, 5); - - } - void backgroundCompact() - { - if (!isCompactMode) return; - - if (!IsHovered) return; - if (draggingBookmark && draggedBookmark != bookmark) return; - - - var backgroundColor = Greyscale(isDarkTheme ? .35f : .7f); - - var backgroundRect = bookmarkRect.SetSizeFromMid(bookmarkRect.width - 2, bookmarkRect.width - 4); - - backgroundRect.DrawRounded(backgroundColor, 4); - - } - void icon() - { - var folderInfo = VFolders.GetFolderInfo(bookmark.guid); - - Texture iconTexture = folderInfo.hasIcon || folderInfo.hasColor ? VFolders.GetSmallFolderIcon(folderInfo) - : EditorIcons.GetIcon("Folder Icon"); - - var iconRect = isCompactMode ? bookmarkRect.SetSizeFromMid(iconSize) : bookmarkRect.SetWidth(iconSize).SetHeightFromMid(iconSize).MoveX(bookmarkSpacing / 2); - - iconRect = iconRect.SetWidthFromMid(iconRect.height * iconTexture.width / iconTexture.height); - - - var makeExtraBright = isSelected && isDarkTheme && QualitySettings.activeColorSpace != ColorSpace.Linear; - - - if (!makeExtraBright) - { - var opacity = folderInfo.hasColor ? .96f : .92f; - - if (isSelected) - opacity = 1; - - if (isPressed && !isDragged) - opacity = .73f; - - if (bookmark.isDeleted) - opacity = .4f; - - - SetGUIColor(Greyscale(1, opacity)); - - GUI.DrawTexture(iconRect, iconTexture); - - ResetGUIColor(); - - } - - if (makeExtraBright) - { - - var brightness = 1.05f; - - brightenIconMaterial ??= new Material(Shader.Find("Hidden/Internal-GUITexture")); - - - SetGUIColor(Greyscale(.5f * brightness, .5f)); - - EditorGUI.DrawPreviewTexture(iconRect, iconTexture, brightenIconMaterial); - - ResetGUIColor(); - - - // Internal-GUITexture shader multiplies color by 2 - // which allows making icons brighter than 1 - // doesn't work correctly in linear space - - } - - } - void name() - { - if (isCompactMode) return; - if (!curEvent.isRepaint) return; - - - var nameRect = bookmarkRect.MoveX(bookmarkSpacing / 2 + iconSize + iconSpacing); - - var makeExtraBright = isSelected && isDarkTheme; - - - if (!makeExtraBright) - { - var opacity = .95f; - - if (isSelected) - opacity = 1; - - if (isPressed && !isDragged) - opacity = .82f; - - if (bookmark.isDeleted) - opacity = .4f; - - - - SetGUIColor(Greyscale(1, opacity)); - - GUI.Label(nameRect, bookmark.name); - - ResetGUIColor(); - - } - - if (makeExtraBright) - { - var opacity = .85f; - - nameRect = nameRect.SetHeightFromMid(16).AddHeight(4); - - - SetGUIColor(Greyscale(1, opacity)); - - GUI.skin.GetStyle("WhiteLabel").Draw(nameRect, bookmark.name, false, false, false, false); - - ResetGUIColor(); - - } - - } - void tooltip() - { - if (!isCompactMode) return; - - if (bookmark != (draggingBookmark ? (draggedBookmark) : (lastHoveredBookmark))) return; - if (tooltipOpacity == 0) return; - - var fontSize = 11; // ,maybe 12 - var tooltipText = bookmark.isDeleted ? "Deleted" : bookmark.name; - - Rect tooltipRect; - - void set_tooltipRect() - { - var width = tooltipText.GetLabelWidth(fontSize) + 6; - var height = 16 + (fontSize - 12) * 2; - - var yOffset = 28; - var rightMargin = -1; - - - tooltipRect = Rect.zero.SetMidPos(centerPosition.x, centerPosition.y + yOffset).SetSizeFromMid(width, height); - - - var maxXMax = navbarRect.xMax - rightMargin; - - if (tooltipRect.xMax > maxXMax) - tooltipRect = tooltipRect.MoveX(maxXMax - tooltipRect.xMax); - - } - void shadow() - { - var shadowAmount = .33f; - var shadowRadius = 10; - - tooltipRect.DrawBlurred(Greyscale(0, shadowAmount).MultiplyAlpha(tooltipOpacity), shadowRadius); - - } - void background() - { - var cornerRadius = 5; - - var backgroundColor = Greyscale(isDarkTheme ? .13f : .9f); - var outerEdgeColor = Greyscale(isDarkTheme ? .25f : .6f); - var innerEdgeColor = Greyscale(isDarkTheme ? .0f : .95f); - - tooltipRect.Resize(-1).DrawRounded(outerEdgeColor.SetAlpha(tooltipOpacity.Pow(2)), cornerRadius + 1); - tooltipRect.Resize(0).DrawRounded(innerEdgeColor.SetAlpha(tooltipOpacity.Pow(2)), cornerRadius + 0); - tooltipRect.Resize(1).DrawRounded(backgroundColor.SetAlpha(tooltipOpacity), cornerRadius - 1); - - } - void text() - { - var textRect = tooltipRect.MoveY(-.5f); - - var textColor = Greyscale(1f); - - SetLabelAlignmentCenter(); - SetLabelFontSize(fontSize); - SetGUIColor(textColor.SetAlpha(tooltipOpacity)); - - GUI.Label(textRect, tooltipText); - - ResetLabelStyle(); - ResetGUIColor(); - - } - - set_tooltipRect(); - shadow(); - background(); - text(); - - } - void click() - { - if (!IsHovered) return; - if (!curEvent.isMouseUp) return; - - - curEvent.Use(); - - if (draggingBookmark) return; - if ((curEvent.mousePosition - mouseDownPosiion).magnitude > 2) return; - if (bookmark.isDeleted) return; - - - if (isOneColumn) - controller.RevealFolder(bookmark.guid.ToPath(), expand: true, highlight: true, snapToTopMargin: true); - - if (isTwoColumns) - { - controller.RevealFolder(bookmark.guid.ToPath(), expand: false, highlight: false, snapToTopMargin: false); - controller.OpenFolder(bookmark.guid.ToPath()); - } - - - lastClickedBookmark = bookmark; - - hideTooltip = true; - - } - - - bookmarkRect.MarkInteractive(); - - shadow(); - background(); - backgroundCompact(); - icon(); - name(); - tooltip(); - click(); - - } - - void normalBookmark(int i) - { - if (data.bookmarks[i] == droppedBookmark && animatingDroppedBookmark) return; - - var centerX = GetBookmarkCenterX(i); - var centerY = bookmarksRect.height / 2; - - - var minX = centerX - GetBookmarkWidth(data.bookmarks[i]) / 2; - - if (minX < bookmarksRect.x) return; - - lastBookmarkX = minX; - - - bookmark(new Vector2(centerX, centerY), data.bookmarks[i]); - - } - void normalBookmarks() - { - for (int i = 0; i < data.bookmarks.Count; i++) - normalBookmark(i); - - } - void draggedBookmark_() - { - if (!draggingBookmark) return; - - var centerX = curEvent.mousePosition.x + draggedBookmarkHoldOffset.x; - var centerY = bookmarksRect.IsHovered() ? bookmarksRect.height / 2 : curEvent.mousePosition.y; - - bookmark(new Vector2(centerX, centerY), draggedBookmark); - - } - void droppedBookmark_() - { - if (!animatingDroppedBookmark) return; - - var centerX = droppedBookmarkX; - var centerY = bookmarksRect.height / 2; - - bookmark(new Vector2(centerX, centerY), droppedBookmark); - - } - - - ClearCacheIfNeeded(); - - BookmarksMouseState(); - BookmarksDragging(); - BookmarksAnimations(); - - normalBookmarks(); - draggedBookmark_(); - droppedBookmark_(); - - } - - float iconSize = 16; - float iconSpacing = 1; - float bookmarkSpacing = 16; - - float bookmarkWidth_compactMode = 24; - - bool repaintNeededAfterUndoRedo; - - public float lastBookmarkX; - - static Material brightenIconMaterial; - - - - - int GetBookmarkIndex(float mouseX) - { - var curBookmarkWidthSum = 0f; - - for (int i = 0; i < data.bookmarks.Count; i++) - { - curBookmarkWidthSum += GetBookmarkWidth(data.bookmarks[i]); - - if (bookmarksRect.xMax - curBookmarkWidthSum < mouseX + .5f) - return i; - } - - return data.bookmarks.Count; - - } - - float GetBookmarkWidth(Bookmark bookmark) - { - if (!animatingBookmarks) - if (bookmarkWidthsCache.TryGetValue(bookmark, out var cachedWidth)) return cachedWidth; - - - - var width = isCompactMode ? bookmarkWidth_compactMode - : bookmark.name.GetLabelWidth() + iconSize + iconSpacing + bookmarkSpacing; - - - if (!animatingBookmarks) - bookmarkWidthsCache[bookmark] = width; - else - bookmarkWidthsCache.Clear(); - - - return width; - - } - float GetBookmarkCenterX(int i, bool includeGaps = true) - { - if (!animatingBookmarks) - if (bookmarkCenterXCache.TryGetValue(i, out var cachedCenterX)) return cachedCenterX; - - - - var centerX = bookmarksRect.xMax - - GetBookmarkWidth(data.bookmarks[i.Clamp(0, data.bookmarks.Count - 1)]) / 2 - - data.bookmarks.Take(i).Sum(r => GetBookmarkWidth(r)) - - (includeGaps ? gaps.Take(i + 1).Sum() : 0); - - - if (!animatingBookmarks) - bookmarkCenterXCache[i] = centerX; - else - bookmarkCenterXCache.Clear(); - - - return centerX; - - } - - Dictionary bookmarkWidthsCache = new(); - Dictionary bookmarkCenterXCache = new(); - - - - - void ClearCacheIfNeeded() - { - var modeChanged = wasCompactMode != isCompactMode; - var windowResized = prevWindowWidth != window.position.width; - var undoPerformed = curEvent.commandName == "UndoRedoPerformed"; - var renameHappened = curEvent.commandName == "NewKeyboardFocus"; - - wasCompactMode = isCompactMode; - prevWindowWidth = window.position.width; - - - - if (!modeChanged && !windowResized && !undoPerformed && !renameHappened) return; - - bookmarkWidthsCache.Clear(); - bookmarkCenterXCache.Clear(); - - } - - bool wasCompactMode; - float prevWindowWidth; - - - - - - - - - - - - - void BookmarksMouseState() - { - void down() - { - if (!curEvent.isMouseDown) return; - if (!bookmarksRect.IsHovered()) return; - - mousePressed = true; - - mouseDownPosiion = curEvent.mousePosition; - - var pressedBookmarkIndex = GetBookmarkIndex(mouseDownPosiion.x); - - if (pressedBookmarkIndex.IsInRangeOf(data.bookmarks)) - pressedBookmark = data.bookmarks[pressedBookmarkIndex]; - - doubleclickUnhandled = curEvent.clickCount == 2; - - curEvent.Use(); - - } - void up() - { - if (!curEvent.isMouseUp) return; - - mousePressed = false; - pressedBookmark = null; - - } - void hover() - { - var hoveredBookmarkIndex = GetBookmarkIndex(curEvent.mousePosition.x); - - mouseHoversBookmark = bookmarksRect.IsHovered() && hoveredBookmarkIndex.IsInRangeOf(data.bookmarks); - - if (mouseHoversBookmark) - lastHoveredBookmark = data.bookmarks[hoveredBookmarkIndex]; - - - } - - down(); - up(); - hover(); - - } - - bool mouseHoversBookmark; - bool mousePressed; - bool doubleclickUnhandled; - - Vector2 mouseDownPosiion; - - Bookmark pressedBookmark; - Bookmark lastHoveredBookmark; - - - - - - - void BookmarksDragging() - { - void initFromOutside() - { - if (draggingBookmark) return; - if (!bookmarksRect.IsHovered()) return; - if (!curEvent.isDragUpdate) return; - if (DragAndDrop.objectReferences.FirstOrDefault() is not Object draggedObject) return; - if (draggedObject is not DefaultAsset) return; - - animatingDroppedBookmark = false; - - draggingBookmark = true; - draggingBookmarkFromInside = false; - - draggedBookmark = new Bookmark(draggedObject); - draggedBookmarkHoldOffset = Vector2.zero; - - } - void initFromInside() - { - if (draggingBookmark) return; - if (!mousePressed) return; - if ((curEvent.mousePosition - mouseDownPosiion).magnitude <= 2) return; - if (pressedBookmark == null) return; - - var i = GetBookmarkIndex(mouseDownPosiion.x); - - if (i >= data.bookmarks.Count) return; - if (i < 0) return; - - - animatingDroppedBookmark = false; - - draggingBookmark = true; - draggingBookmarkFromInside = true; - - draggedBookmark = data.bookmarks[i]; - draggedBookmarkHoldOffset = new Vector2(GetBookmarkCenterX(i) - mouseDownPosiion.x, bookmarksRect.center.y - mouseDownPosiion.y); - - gaps[i] = GetBookmarkWidth(draggedBookmark); - - - data.RecordUndo(); - - data.bookmarks.Remove(draggedBookmark); - - } - - void acceptFromOutside() - { - if (!draggingBookmark) return; - if (!curEvent.isDragPerform) return; - if (!bookmarksRect.IsHovered()) return; - - DragAndDrop.AcceptDrag(); - curEvent.Use(); - - data.RecordUndo(); - - accept(); - - data.Dirty(); - data.Save(); - - } - void acceptFromInside() - { - if (!draggingBookmark) return; - if (!curEvent.isMouseUp) return; - if (!bookmarksRect.IsHovered()) return; - - curEvent.Use(); - EditorGUIUtility.hotControl = 0; - - DragAndDrop.PrepareStartDrag(); // fixes phantom dragged component indicator after reordering bookmarks - - data.RecordUndo(); - data.Dirty(); - - accept(); - - } - void accept() - { - draggingBookmark = false; - draggingBookmarkFromInside = false; - mousePressed = false; - - data.bookmarks.AddAt(draggedBookmark, insertDraggedBookmarkAtIndex); - - gaps[insertDraggedBookmarkAtIndex] -= GetBookmarkWidth(draggedBookmark); - gaps.AddAt(0, insertDraggedBookmarkAtIndex); - - droppedBookmark = draggedBookmark; - - droppedBookmarkX = curEvent.mousePosition.x + draggedBookmarkHoldOffset.x; - droppedBookmarkXDerivative = 0; - animatingDroppedBookmark = true; - - draggedBookmark = null; - - EditorGUIUtility.hotControl = 0; - - repaintNeededAfterUndoRedo = true; - - } - - void cancelFromOutside() - { - if (!draggingBookmark) return; - if (draggingBookmarkFromInside) return; - if (bookmarksRect.IsHovered()) return; - - draggingBookmark = false; - mousePressed = false; - - } - void cancelFromInsideAndDelete() - { - if (!draggingBookmark) return; - if (!curEvent.isMouseUp) return; - if (bookmarksRect.IsHovered()) return; - - draggingBookmark = false; - - DragAndDrop.PrepareStartDrag(); // fixes phantom dragged component indicator after reordering bookmarks - - data.Dirty(); - - repaintNeededAfterUndoRedo = true; - - } - - void update() - { - if (!draggingBookmark) return; - - DragAndDrop.visualMode = DragAndDropVisualMode.Generic; - - EditorGUIUtility.hotControl = EditorGUIUtility.GetControlID(FocusType.Passive); - - - - insertDraggedBookmarkAtIndex = GetBookmarkIndex(curEvent.mousePosition.x + draggedBookmarkHoldOffset.x); - - } - - - initFromOutside(); - initFromInside(); - - acceptFromOutside(); - acceptFromInside(); - - cancelFromOutside(); - cancelFromInsideAndDelete(); - - update(); - - - } - - bool draggingBookmark; - bool draggingBookmarkFromInside; - - int insertDraggedBookmarkAtIndex; - - Vector2 draggedBookmarkHoldOffset; - - Bookmark draggedBookmark; - Bookmark droppedBookmark; - - - - - - - void BookmarksAnimations() - { - if (!curEvent.isLayout) return; - - void gaps_() - { - var makeSpaceForDraggedBookmark = draggingBookmark && bookmarksRect.IsHovered(); - - var lerpSpeed = 12; - - for (int i = 0; i < gaps.Count; i++) - if (makeSpaceForDraggedBookmark && i == insertDraggedBookmarkAtIndex) - gaps[i] = Lerp(gaps[i], GetBookmarkWidth(draggedBookmark), lerpSpeed, editorDeltaTime); - else - gaps[i] = Lerp(gaps[i], 0, lerpSpeed, editorDeltaTime); - - - - for (int i = 0; i < gaps.Count; i++) - if (gaps[i].Approx(0)) - gaps[i] = 0; - - - - animatingGaps = gaps.Any(r => r > .1f); - - - } - void droppedBookmark_() - { - if (!animatingDroppedBookmark) return; - - var lerpSpeed = 8; - - var targX = GetBookmarkCenterX(data.bookmarks.IndexOf(droppedBookmark), includeGaps: false); - - SmoothDamp(ref droppedBookmarkX, targX, lerpSpeed, ref droppedBookmarkXDerivative, editorDeltaTime); - - if ((droppedBookmarkX - targX).Abs() < .5f) - animatingDroppedBookmark = false; - - } - void tooltip() - { - if (!mouseHoversBookmark || lastHoveredBookmark != lastClickedBookmark) - hideTooltip = false; - - - var lerpSpeed = UnityEditorInternal.InternalEditorUtility.isApplicationActive ? 15 : 12321; - - if (mouseHoversBookmark && !draggingBookmark && !hideTooltip) - SmoothDamp(ref tooltipOpacity, 1, lerpSpeed, ref tooltipOpacityDerivative, editorDeltaTime); - else - SmoothDamp(ref tooltipOpacity, 0, lerpSpeed, ref tooltipOpacityDerivative, editorDeltaTime); - - - if (tooltipOpacity > .99f) - tooltipOpacity = 1; - - if (tooltipOpacity < .01f) - tooltipOpacity = 0; - - - animatingTooltip = tooltipOpacity != 0 && tooltipOpacity != 1; - - } - - gaps_(); - droppedBookmark_(); - tooltip(); - - } - - float droppedBookmarkX; - float droppedBookmarkXDerivative; - - float tooltipOpacity; - float tooltipOpacityDerivative; - - bool animatingDroppedBookmark; - bool animatingGaps; - bool animatingTooltip; - bool animatingBookmarks => animatingDroppedBookmark || animatingGaps; - - bool hideTooltip; - - List gaps - { - get - { - while (_gaps.Count < data.bookmarks.Count + 1) _gaps.Add(0); - while (_gaps.Count > data.bookmarks.Count + 1) _gaps.RemoveLast(); - - return _gaps; - - } - } - List _gaps = new(); - - Bookmark lastClickedBookmark; - - - - - - - - - - - - - - public VFoldersNavbar(EditorWindow window) - { - this.window = window; - - if (!VFoldersHistorySingleton.instance.histories_byWindow.TryGetValue(window, out history)) - VFoldersHistorySingleton.instance.histories_byWindow[window] = history = new VFoldersHistory(window); - - } - - public EditorWindow window; - public VFoldersHistory history; - - public VFoldersController controller => VFolders.controllers_byWindow[window]; - - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs.meta deleted file mode 100644 index 25cfaa7d1..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersNavbar.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 30acd0784e948403f8f15047ab22692c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersPalette.cs b/Assets/External/V_Utility/vFolders/VFoldersPalette.cs deleted file mode 100644 index 869ef4668..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPalette.cs +++ /dev/null @@ -1,267 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using System.Reflection; -using System.Linq; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditorInternal; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - - -namespace VFolders -{ - public class VFoldersPalette : ScriptableObject - { - public List colors = new(); - - public bool colorsEnabled; - - public float colorSaturation = 1; - public float colorBrightness = 1; - public bool colorGradientsEnabled = true; - - public void ResetColors() - { - colors.Clear(); - - for (int i = 0; i < colorsCount; i++) - colors.Add(GetDefaultColor(i)); - - colorsEnabled = true; - - this.Dirty(); - - } - - - public static Color GetDefaultColor(int colorIndex) - { - Color color = default; - - void grey() - { - if (colorIndex >= greyColorsCount) return; - -#if UNITY_2022_1_OR_NEWER - color = Greyscale(EditorGUIUtility.isProSkin ? .16f : .9f); -#else - color = Greyscale(EditorGUIUtility.isProSkin ? .315f : .9f); -#endif - - } - void rainbowDarkTheme() - { - if (colorIndex < greyColorsCount) return; - if (!isDarkTheme) return; - - - var t = (colorIndex - greyColorsCount.ToFloat()) / rainbowColorsCount; - - if (colorIndex == 0) - t += .01f; - - if (colorIndex == 1) - t -= .02f; - - if (colorIndex == 2) - t -= .015f; - - if (colorIndex == 3) - t -= .01f; - - if (colorIndex == 4) - t += .02f; - - if (colorIndex == 5) - t += .01f; - - - if (colorIndex == 8) - t -= .01f; - - - // color = HSLToRGB(t, .61f, .57f); - color = HSLToRGB(t, .61f, .57f); - - - if (colorIndex == 0) - color *= 1.16f; - - if (colorIndex == 1) - color *= 1.17f; - - if (colorIndex == 2) - color *= 1.03f; - - if (colorIndex == 6) - color *= 1.2f; - - if (colorIndex == 7) - color *= 1.55f; - - if (colorIndex == 8) - color *= 1.2f; - - if (colorIndex == 9) - color *= 1.08f; - - - color.a = .1f; - - } - void rainbowLightTheme() - { - if (colorIndex < greyColorsCount) return; - if (isDarkTheme) return; - - color = HSLToRGB((colorIndex - greyColorsCount.ToFloat()) / rainbowColorsCount, .99f, .75f); - - if (colorIndex == 0) - color *= 1.1f; - - if (colorIndex == 1) - color *= 1.05f; - - color.a = .1f; - - } - - grey(); - rainbowDarkTheme(); - rainbowLightTheme(); - - return color; - - } - - public static int greyColorsCount = 0; - public static int rainbowColorsCount = 10; - public static int colorsCount => greyColorsCount + rainbowColorsCount; - - - - - public List iconRows = new(); - - [System.Serializable] - public class IconRow - { - public List builtinIcons = new(); // names - public List customIcons = new(); // guids - - public bool enabled = true; - - public bool isCustom => !builtinIcons.Any() || customIcons.Any(); - public bool isEmpty => !builtinIcons.Any() && !customIcons.Any(); - public int iconCount => builtinIcons.Count + customIcons.Count; - - public IconRow(string[] builtinIcons) => this.builtinIcons = builtinIcons.ToList(); - public IconRow() { } - - } - - public void ResetIcons() - { - iconRows.Clear(); - - iconRows.Add(new IconRow(new[] - { - "SceneAsset Icon", - "Prefab Icon", - "PrefabModel Icon", - "Material Icon", - "Texture Icon", - "Mesh Icon", - "cs Script Icon", - "Shader Icon", - "ComputeShader Icon", - "ScriptableObject Icon", - - })); - iconRows.Add(new IconRow(new[] - { - "Light Icon", - "LightProbes Icon", - "LightmapParameters Icon", - "LightingDataAsset Icon", - "Cubemap Icon" - - })); - iconRows.Add(new IconRow(new[] - { - #if UNITY_6000_0_OR_NEWER - "PhysicsMaterial Icon", - #else - "PhysicMaterial Icon", - #endif - "BoxCollider Icon", - "TerrainCollider Icon", - "MeshCollider Icon", - "WheelCollider Icon", - "Rigidbody Icon", - - })); - iconRows.Add(new IconRow(new[] - { - "AudioClip Icon", - "AudioMixerController Icon", - "AudioMixerGroup Icon", - "AudioEchoFilter Icon", - "AudioSource Icon", - - })); - iconRows.Add(new IconRow(new[] - { - "TextAsset Icon", - "AssemblyDefinitionAsset Icon", - "TerrainData Icon", - "Terrain Icon", - "AnimatorController Icon", - "AnimationClip Icon", - "Font Icon", - "RawImage Icon", - "Settings Icon", - - })); - - this.Dirty(); - - } - - - - - [ContextMenu("Export palette")] - public void Export() - { - var packagePath = EditorUtility.SaveFilePanel("Export vFolders Palette", "", this.GetPath().GetFilename(withExtension: false), "unitypackage"); - - var iconPaths = iconRows.SelectMany(r => r.customIcons).Select(r => r.ToPath()).Where(r => !r.IsNullOrEmpty()); - - AssetDatabase.ExportPackage(iconPaths.Append(this.GetPath()).ToArray(), packagePath); - - EditorUtility.RevealInFinder(packagePath); - - } - - - - - void Reset() - { - ResetColors(); - ResetIcons(); - - VFolders.folderInfoCache.Clear(); - - } - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersPalette.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersPalette.cs.meta deleted file mode 100644 index 318740f03..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPalette.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 618f730fcd14941fab38169a7dde8c64 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs b/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs deleted file mode 100644 index 8fc6ec24f..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs +++ /dev/null @@ -1,1374 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using System.Reflection; -using System.Linq; -using UnityEditorInternal; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEditor.IMGUI.Controls; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; -using static VFolders.VFoldersPalette; - - -namespace VFolders -{ - [CustomEditor(typeof(VFoldersPalette))] - class VFoldersPaletteEditor : Editor - { - - public override void OnInspectorGUI() - { - void colors() - { - var rowRect = ExpandWidthLabelRect(cellSize).SetX(rowsOffsetX).SetWidth(rowWidth + 16); - - void backgroundHovered() - { - if (!rowRect.IsHovered()) return; - if (pickingColor) return; - if (draggingRow) return; - - rowRect.Draw(hoveredRowBackground); - - } - void toggle() - { - var toggleRect = rowRect.SetWidth(16).MoveX(5); - - var prevEnabled = palette.colorsEnabled; - var newEnabled = EditorGUI.Toggle(toggleRect, palette.colorsEnabled); - - if (prevEnabled != newEnabled) - palette.RecordUndo(); - - palette.colorsEnabled = newEnabled; - - if (prevEnabled != newEnabled) - palette.Dirty(); - - } - void crossIcon() - { - var crossIconRect = rowRect.SetX(rowsOffsetX + iconsOffsetX + iconSpacing / 2).SetWidth(iconSize).SetHeightFromMid(iconSize); - - SetGUIColor(palette.colorsEnabled ? Color.white : disabledRowTint); - - GUI.DrawTexture(crossIconRect, EditorIcons.GetIcon("CrossIcon")); - - ResetGUIColor(); - - } - void color(int i) - { - var cellRect = rowRect.MoveX(iconsOffsetX + (i + 1) * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize); - - void backgroundPicking() - { - if (!pickingColor) return; - if (i != pickingColorAtIndex) return; - - cellRect.DrawRounded(pickingBackground, 2); - - } - void backgroundHovered_andStartPickingColor() - { - if (pickingColor) return; - if (!cellRect.IsHovered()) return; - - - SetGUIColor(Color.clear); - - var clicked = GUI.Button(cellRect.Resize(1), ""); - - ResetGUIColor(); - - - - - var isPressed = GUIUtility.hotControl == typeof(EditorGUIUtility).GetFieldValue("s_LastControlID"); - - cellRect.DrawRounded(Greyscale(isPressed ? .39f : .43f), 2); - - - - - if (!clicked) return; - - colorPickerWindow = OpenColorPicker((c) => { palette.RecordUndo(); palette.Dirty(); palette.colors[i] = c; }, palette.colors[i], true, false); - - colorPickerWindow.MoveTo(EditorGUIUtility.GUIToScreenPoint(cellRect.Move(-3, 50).position)); - - pickingColor = true; - pickingColorAtIndex = i; - - } - void colorOutline() - { - var outlineColor = i < VFoldersPalette.greyColorsCount ? Greyscale(.0f, .4f) : Greyscale(.15f, .2f); - - if (!palette.colorsEnabled) - outlineColor *= disabledRowTint; - - - cellRect.Resize(3).DrawRounded(outlineColor, 4); - - } - void color() - { - var brightness = palette.colorBrightness; - var saturation = palette.colorSaturation; - var drawGradients = palette.colorGradientsEnabled; - - if (!palette.colorGradientsEnabled) - brightness *= isDarkTheme ? .75f : .97f; - - if (i < VFoldersPalette.greyColorsCount) - { - saturation = brightness = 1; - drawGradients = false; - } - - - var colorRaw = palette.colors[i]; - - var color = Lerp(Greyscale(.2f), colorRaw, brightness); - - Color.RGBToHSV(color, out float h, out float s, out float v); - color = Color.HSVToRGB(h, s * saturation, v); - - color = Lerp(color, colorRaw, .5f).SetAlpha(1); - - if (!palette.colorsEnabled) - color *= disabledRowTint; - - - - - cellRect.Resize(4).DrawRounded(color, 3); - - if (drawGradients) - cellRect.Resize(4).AddWidthFromRight(-2).DrawCurtainLeft(GUIColors.windowBackground.SetAlpha(.45f)); - - } - void updatePickingColor() - { - if (!pickingColor) return; - - EditorApplication.RepaintProjectWindow(); - - } - void stopPickingColor() - { - if (!pickingColor) return; - if (colorPickerWindow) return; - - pickingColor = false; - - } - - - cellRect.MarkInteractive(); - - - backgroundPicking(); - backgroundHovered_andStartPickingColor(); - - colorOutline(); - color(); - - updatePickingColor(); - stopPickingColor(); - - } - void adjustColorsButton() - { - var cellRect = rowRect.MoveX(iconsOffsetX + (palette.colors.Count + 1) * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize).MoveX(-1f); - - - var iconSize = 16; - var iconName = "Preset.Context"; - var iconColor = Greyscale(.75f, palette.colorsEnabled ? (isDarkTheme ? 1 : .8f) : .5f); - - if (!IconButton(cellRect, iconName, iconSize, iconColor)) return; - - - if (adjustColorsWindow) { adjustColorsWindow.Close(); return; } - - var windowX = 107f.Min(this.GetMemberValue("propertyViewer").position.width - 310); - var windowY = cellRect.y + 25; - var windowWidth = 270; - var windowHeight = VFoldersMenu.backgroundColorsEnabled ? 92 : 73; - - adjustColorsWindow = ScriptableObject.CreateInstance(); - adjustColorsWindow.palette = palette; - adjustColorsWindow.paletteEditor = this; - - adjustColorsWindow.ShowPopup(); - adjustColorsWindow.Focus(); - - adjustColorsWindow.position = EditorGUIUtility.GUIToScreenRect(new Rect(windowX, windowY, windowWidth, windowHeight)); - - } - - - backgroundHovered(); - toggle(); - crossIcon(); - - for (int i = 0; i < palette.colors.Count; i++) - color(i); - - adjustColorsButton(); - - Space(rowSpacing - 2); - - } - void icons() - { - void row(Rect rowRect, IconRow row) - { - var isLastRow = row == palette.iconRows.Last(); - var isDraggedRow = row == draggedRow; - var spaceForCrossIcon = 0f; - - - void updatePickingIcon() - { - if (!pickingIcon) return; - if (pickingIconAtRow != row) return; - if (pickingIconAtIndex >= row.customIcons.Count) return; // somehow happens if RecordUndo is used - - palette.RecordUndo(); - palette.Dirty(); - - row.customIcons[pickingIconAtIndex] = addIconWindow.hoveredIconName; - - } - void stopPickingIcon() - { - if (!pickingIcon) return; - if (pickingIconAtRow != row) return; - if (addIconWindow) return; - - if (pickingIconAtIndex < row.customIcons.Count) - if (row.customIcons[pickingIconAtIndex] == null) - row.customIcons.RemoveAt(pickingIconAtIndex); - - pickingIcon = false; - - } - void dragndrop() - { - if (!rowRect.IsHovered()) return; - if (!row.isCustom) return; - - if (curEvent.isDragUpdate && DragAndDrop.objectReferences.First() is Texture2D) - DragAndDrop.visualMode = DragAndDropVisualMode.Copy; - - if (!curEvent.isDragPerform) return; - if (!(DragAndDrop.objectReferences.Any(r => r is Texture2D))) return; - - DragAndDrop.AcceptDrag(); - - palette.RecordUndo(); - palette.Dirty(); - - foreach (var icon in DragAndDrop.objectReferences.Where(r => r is Texture2D)) - row.customIcons.Add(icon.GetPath().ToGuid()); - - } - - void calcSpaceForCrossIcon() - { - if (row == curFirstEnabledRow) - spaceForCrossIcon = crossIconAnimationT * cellSize; - - if (row == crossIconAnimationSourceRow) - spaceForCrossIcon = (1 - crossIconAnimationT) * cellSize; - - } - - void backgroundHovered() - { - if (!rowRect.IsHovered()) return; - if (pickingColor) return; - if (pickingIcon) return; - if (draggingRow) return; - if (DragAndDrop.objectReferences.Any() && !row.isCustom) return; - - - rowRect.Draw(hoveredRowBackground); - - } - void backgroundDragged() - { - if (!isDraggedRow) return; - - rowRect.DrawBlurred(Greyscale(0, .3f), 12); - rowRect.Draw(draggedRowBackground); - - } - void toggle() - { - var prevEnabled = row.enabled; - var newEnabled = EditorGUI.Toggle(rowRect.SetWidth(16).MoveX(5), row.enabled); - - if (prevEnabled != newEnabled) - palette.RecordUndo(); - - row.enabled = newEnabled; - - if (prevEnabled != newEnabled) - palette.Dirty(); - - } - void addIconButton() - { - if (!row.isCustom) return; - if (pickingIcon && pickingIconAtRow == row) return; - - - var cellRect = rowRect.MoveX(iconsOffsetX + row.customIcons.Count * cellSize + spaceForCrossIcon).SetWidth(cellSize).SetHeightFromMid(cellSize); - - var iconSize = 16; - var iconName = "Toolbar Plus"; - var iconColor = Greyscale(.73f, row.enabled ? (isDarkTheme ? 1 : .65f) : .5f); - - if (!IconButton(cellRect, iconName, iconSize, iconColor)) return; - - - - palette.RecordUndo(); - - row.customIcons.Add(null); - - - - var windowX = 15; - var windowY = cellRect.y + 23; - var windowWidth = (this.GetMemberValue("propertyViewer").position.width - 26).Min(679); - var windowHeight = windowWidth * 1.2f; - - windowWidth = (windowWidth / AddIconWindow.cellSize).FloorToInt() * AddIconWindow.cellSize - 3; - - - addIconWindow = ScriptableObject.CreateInstance(); - addIconWindow.palette = palette; - addIconWindow.paletteEditor = this; - - addIconWindow.ShowPopup(); - addIconWindow.Focus(); - - addIconWindow.position = EditorGUIUtility.GUIToScreenRect(new Rect(windowX, windowY, windowWidth, windowHeight)); - - addIconWindow.Init(); - - - pickingIcon = true; - pickingIconAtIndex = row.customIcons.Count - 1; - pickingIconAtRow = row; - - - } - void icon(int i) - { - var cellRect = rowRect.MoveX(iconsOffsetX + spaceForCrossIcon + i * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize); - - - void backgroundPicking() - { - if (!pickingIcon) return; - if (pickingIconAtRow != row) return; - if (pickingIconAtIndex != i) return; - - cellRect.DrawRounded(pickingBackground, 2); - - } - void backgroundHovered_andEditIconButton() - { - if (!row.isCustom) return; - if (pickingIcon) return; - if (!cellRect.IsHovered()) return; - if (DragAndDrop.objectReferences.Any()) return; - - - SetGUIColor(Color.clear); - - var clicked = GUI.Button(cellRect.Resize(1), ""); - - ResetGUIColor(); - - - - - var isPressed = GUIUtility.hotControl == typeof(EditorGUIUtility).GetFieldValue("s_LastControlID"); - - cellRect.DrawRounded(Greyscale(isPressed ? .39f : .45f), 2); - - - - - if (!clicked) return; - - GenericMenu menu = new(); - - menu.AddItem(new GUIContent("Move left"), false, i == 0 ? null : () => - { - palette.RecordUndo(); - palette.Dirty(); - - var icon = row.customIcons[i]; - - row.customIcons.RemoveAt(i); - row.customIcons.AddAt(icon, i - 1); - - }); - menu.AddItem(new GUIContent("Move right"), false, i == row.customIcons.Count - 1 ? null : () => - { - palette.RecordUndo(); - palette.Dirty(); - - var icon = row.customIcons[i]; - - row.customIcons.RemoveAt(i); - row.customIcons.AddAt(icon, i + 1); - - }); - - menu.AddSeparator(""); - - menu.AddItem(new GUIContent("Remove icon"), false, () => { palette.RecordUndo(); row.customIcons.RemoveAt(i); palette.Dirty(); }); - - - menu.ShowAsContext(); - - } - - void drawIcon() - { - var iconNameOrGuid = row.isCustom ? row.customIcons[i] : row.builtinIcons[i]; - - if (iconNameOrGuid == null) return; - - var iconNameOrPath = iconNameOrGuid.Length == 32 ? iconNameOrGuid.ToPath() : iconNameOrGuid; - var icon = EditorIcons.GetIcon(iconNameOrPath) ?? Texture2D.blackTexture; - - - var cellRect = rowRect.MoveX(iconsOffsetX + spaceForCrossIcon + i * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize); - var iconRect = cellRect.SetSizeFromMid(iconSize); - - if (icon.width < icon.height) iconRect = iconRect.SetWidthFromMid(iconRect.height * icon.width / icon.height); - if (icon.height < icon.width) iconRect = iconRect.SetHeightFromMid(iconRect.width * icon.height / icon.width); - - - - SetGUIColor(row.enabled ? Color.white : disabledRowTint); - - GUI.DrawTexture(iconRect, icon); - - ResetGUIColor(); - - } - - - cellRect.MarkInteractive(); - - backgroundPicking(); - backgroundHovered_andEditIconButton(); - - drawIcon(); - - } - - - rowRect.MarkInteractive(); - - updatePickingIcon(); - stopPickingIcon(); - dragndrop(); - - calcSpaceForCrossIcon(); - backgroundHovered(); - backgroundDragged(); - toggle(); - addIconButton(); - - for (int i = 0; i < row.iconCount; i++) - icon(i); - - } - - void updateRowsCount() - { - palette.iconRows.RemoveAll(r => r.isEmpty && r != palette.iconRows.Last()); - - if (!palette.iconRows.Last().isEmpty) - palette.iconRows.Add(new IconRow()); - - } - void updateRowGapsCount() - { - while (rowGaps.Count < palette.iconRows.Count) - rowGaps.Add(0); - - while (rowGaps.Count > palette.iconRows.Count) - rowGaps.RemoveLast(); - - } - - void normalRow(int i) - { - Space(rowGaps[i] * (cellSize + rowSpacing)); - - if (i == 0 && lastRect.y != 0) - firstRowY = lastRect.y; - - Space(cellSize + rowSpacing); - - var rowRect = Rect.zero.SetPos(rowsOffsetX, lastRect.y).SetSize(rowWidth, cellSize); - - if (curEvent.isRepaint) - if (rowRect.IsHovered()) - hoveredRow = palette.iconRows[i]; - - - row(rowRect, palette.iconRows[i]); - - } - void draggedRow_() - { - if (!draggingRow) return; - - draggedRowY = (curEvent.mousePosition.y + draggedRowHoldOffset).Clamp(firstRowY, firstRowY + (palette.iconRows.Count - 1) * (cellSize + rowSpacing)); - - var rowRect = Rect.zero.SetPos(rowsOffsetX, draggedRowY).SetSize(rowWidth, cellSize); - - row(rowRect, draggedRow); - - } - void crossIcon() - { - if (!palette.iconRows.Any(r => r.enabled)) return; - - var rect = Rect.zero.SetPos(rowsOffsetX + iconsOffsetX, crossIconY).SetSize(cellSize, cellSize).Resize(iconSpacing / 2); - - GUI.DrawTexture(rect, EditorIcons.GetIcon("CrossIcon")); - - } - - - updateRowsCount(); - updateRowGapsCount(); - - - if (curEvent.isRepaint) - hoveredRow = null; - - for (int i = 0; i < palette.iconRows.Count; i++) - normalRow(i); - - crossIcon(); - - draggedRow_(); - - - } - void tutor() - { - SetGUIEnabled(false); - - - Space(4); - GUILayout.Label("Add icons with drag-and-drop or by clicking '+'"); - - Space(4); - GUILayout.Label("Click added icon to move or remove it"); - - Space(4); - GUILayout.Label("Drag rows to reorder them"); - - - ResetGUIEnabled(); - - } - - - Space(15); - colors(); - - Space(15); - icons(); - - Space(22); - tutor(); - - UpdateAnimations(); - - UpdateDragging(); - - palette.Dirty(); - - if (draggingRow || animatingCrossIcon) - Repaint(); - - } - - float iconSize => 14; - float iconSpacing => 6; - float cellSize => iconSize + iconSpacing; - float rowSpacing = 1; - float rowsOffsetX => 14; - float iconsOffsetX => 27; - - Color hoveredRowBackground => Greyscale(isDarkTheme ? 1 : 0, .05f); - Color draggedRowBackground => Greyscale(isDarkTheme ? .3f : .9f); - Color pickingBackground => Greyscale(1, .17f); - Color disabledRowTint => Greyscale(1, .45f); - - float rowWidth => cellSize * Mathf.Max(palette.colors.Count, palette.iconRows.Max(r => r.iconCount + 1)) + 55; - - bool pickingColor; - int pickingColorAtIndex; - EditorWindow colorPickerWindow; - - bool pickingIcon; - int pickingIconAtIndex; - IconRow pickingIconAtRow; - AddIconWindow addIconWindow; - - IconRow hoveredRow; - - float firstRowY = 51; - - static AdjustColorsWindow adjustColorsWindow; - - - - - - void UpdateAnimations() - { - void lerpRowGaps() - { - if (!curEvent.isLayout) return; - - var lerpSpeed = draggingRow ? 12 : 12321; - - for (int i = 0; i < rowGaps.Count; i++) - rowGaps[i] = Lerp(rowGaps[i], draggingRow && i == insertDraggedRowAtIndex ? 1 : 0, lerpSpeed, editorDeltaTime); - - for (int i = 0; i < rowGaps.Count; i++) - if (rowGaps[i].Approx(0)) - rowGaps[i] = 0; - else if (rowGaps[i].Approx(1)) - rowGaps[i] = 1; - - - } - - void lerpCrossIconAnimationT() - { - if (!curEvent.isLayout) return; - - var lerpSpeed = 12; - - Lerp(ref crossIconAnimationT, 1, lerpSpeed, editorDeltaTime); - - } - void startCrossIconAnimation() - { - if (prevFirstEnabledRow == null) { prevFirstEnabledRow = curFirstEnabledRow; return; } - if (prevFirstEnabledRow == curFirstEnabledRow) return; - - crossIconAnimationT = 0; - crossIconAnimationSourceRow = prevFirstEnabledRow; - - prevFirstEnabledRow = curFirstEnabledRow; - - } - void stopCrossIconAnimation() - { - if (!crossIconAnimationT.Approx(1)) return; - - crossIconAnimationT = 1; - crossIconAnimationSourceRow = null; - - } - void calcCrossIconY() - { - var indexOfFirstEnabled = palette.iconRows.IndexOfFirst(r => r.enabled); - var yOfFirstEnabled = firstRowY + indexOfFirstEnabled * (cellSize + rowSpacing); - for (int i = 0; i < indexOfFirstEnabled + 1; i++) - yOfFirstEnabled += rowGaps[i] * (cellSize + rowSpacing); - - - var indexOfSourceRow = palette.iconRows.IndexOf(crossIconAnimationSourceRow); - var yOfSourceRow = firstRowY + indexOfSourceRow * (cellSize + rowSpacing); - for (int i = 0; i < indexOfSourceRow + 1; i++) - yOfSourceRow += rowGaps[i] * (cellSize + rowSpacing); - - if (crossIconAnimationSourceRow == draggedRow) - yOfSourceRow = draggedRowY; - - - crossIconY = Lerp(yOfSourceRow, yOfFirstEnabled, crossIconAnimationT); - - if (indexOfFirstEnabled == indexOfSourceRow) - crossIconAnimationT = 1; - - } - - - lerpRowGaps(); - - lerpCrossIconAnimationT(); - startCrossIconAnimation(); - stopCrossIconAnimation(); - calcCrossIconY(); - - } - - List rowGaps = new(); - - float crossIconY = 51; - float crossIconAnimationT = 1; - IconRow crossIconAnimationSourceRow; - bool animatingCrossIcon => crossIconAnimationT != 1; - - [System.NonSerialized] IconRow prevFirstEnabledRow; - IconRow curFirstEnabledRow => palette.iconRows.FirstOrDefault(r => r.enabled); - - - - - - - void UpdateDragging() - { - void startDragging() - { - if (draggingRow) return; - if (!curEvent.isMouseDrag) return; - if (hoveredRow == null) return; - if (hoveredRow == palette.iconRows.Last()) return; - - palette.RecordUndo(); - - draggingRow = true; - draggedRow = hoveredRow; - draggingRowFromIndex = palette.iconRows.IndexOf(hoveredRow); - draggedRowHoldOffset = firstRowY + draggingRowFromIndex * (cellSize + rowSpacing) - curEvent.mousePosition.y; - - palette.iconRows.Remove(hoveredRow); - rowGaps[draggingRowFromIndex] = 1; - - } - void updateDragging() - { - if (!draggingRow) return; - - insertDraggedRowAtIndex = ((curEvent.mousePosition.y - firstRowY) / (cellSize + rowSpacing)).FloorToInt().Clamp(0, palette.iconRows.Count - 1); - - EditorGUIUtility.hotControl = EditorGUIUtility.GetControlID(FocusType.Passive); - - } - void stopDragging() - { - if (!draggingRow) return; - if (!curEvent.isMouseUp) return; - - palette.RecordUndo(); - palette.Dirty(); - - palette.iconRows.AddAt(draggedRow, insertDraggedRowAtIndex); - - rowGaps[insertDraggedRowAtIndex] = 0; - - draggingRow = false; - draggedRow = null; - - EditorGUIUtility.hotControl = 0; - - } - - - startDragging(); - updateDragging(); - stopDragging(); - - } - - IconRow draggedRow; - bool draggingRow; - int draggingRowFromIndex; - float draggedRowHoldOffset; - float draggedRowY; - int insertDraggedRowAtIndex; - - - - - - - VFoldersPalette palette => target as VFoldersPalette; - - } - - - class AddIconWindow : EditorWindow - { - - void OnGUI() - { - void header() - { - var headerRect = Rect.zero.SetHeight(20).SetWidth(position.width); - var closeButtonRect = headerRect.SetWidthFromRight(16).SetHeightFromMid(16).Move(-3, -.5f); - - void background() - { - headerRect.Draw(EditorGUIUtility.isProSkin ? Greyscale(.18f) : Greyscale(.7f)); - } - void title() - { - SetGUIColor(Greyscale(.8f)); - SetLabelAlignmentCenter(); - - GUI.Label(headerRect.MoveY(-1), "Add icon"); - - ResetLabelStyle(); - ResetGUIColor(); - - } - void closeButton() - { - var colorNormal = isDarkTheme ? Greyscale(.55f) : Greyscale(.35f); - var colorHovered = isDarkTheme ? Greyscale(.9f) : colorNormal; - - var iconSize = 14; - - if (IconButton(closeButtonRect, "CrossIcon", iconSize, colorNormal, colorHovered)) - Close(); - - } - void escHint() - { - if (!closeButtonRect.IsHovered()) return; - - var textRect = headerRect.SetWidthFromRight(42).MoveY(-.5f).MoveX(1); - var fontSize = 11; - var color = Greyscale(.65f); - - - SetLabelFontSize(fontSize); - SetGUIColor(color); - - GUI.Label(textRect, "Esc"); - - ResetGUIColor(); - ResetLabelStyle(); - - } - - background(); - title(); - closeButton(); - escHint(); - - Space(headerRect.height); - - } - void search() - { - var backgroundRect = ExpandWidthLabelRect(height: 21).SetWidthFromMid(position.width); - var backgroundColor = isDarkTheme ? Greyscale(.25f) : Greyscale(.8f); - - backgroundRect.Draw(backgroundColor); - - - var lineRect = backgroundRect.SetHeightFromBottom(1).MoveY(.5f); - var lineColor = isDarkTheme ? Greyscale(.15f) : Greyscale(.7f); - - lineRect.Draw(lineColor); - - - var searchRect = backgroundRect.Resize(2); - - EditorGUI.BeginChangeCheck(); - - searchString = searchField.OnGUI(searchRect, searchString); - - if (EditorGUI.EndChangeCheck()) - { - GenerateRows(); - FilterIconsBySearch(); - GenerateRows(); - } - - } - void icons() - { - void row(int i) - { - var rowRect = position.SetPos(0, 0).SetHeight(cellSize).MoveY(i * rowHeight); - var iconNames = rows[i]; - - void icon(int i) - { - var iconName = iconNames[i]; - var icon = EditorIcons.GetIcon(iconName); - - var cellRect = rowRect.SetWidth(cellSize).MoveX(i * cellSize + paddingLeft); - var iconRect = cellRect.SetSizeFromMid(iconSize); - - if (icon.width < icon.height) iconRect = iconRect.SetWidthFromMid(iconRect.height * icon.width / icon.height); - if (icon.height < icon.width) iconRect = iconRect.SetHeightFromMid(iconRect.width * icon.height / icon.width); - - - - var hoverRect = cellRect.AddHeightFromMid(rowSpacing); - - hoverRect.MarkInteractive(); - - if (hoverRect.IsHovered()) - cellRect.Draw(Greyscale(isDarkTheme ? .42f : .69f)); - - - - GUI.DrawTexture(iconRect, EditorIcons.GetIcon(iconName)); - - - - if (curEvent.isRepaint) - if (hoverRect.IsHovered()) - hoveredIconName = iconName; - - if (hoverRect.IsHovered() && curEvent.isMouseDown) - Close(); - - } - - for (int ii = 0; ii < iconNames.Count; ii++) - icon(ii); - } - - - if (curEvent.isRepaint) - hoveredIconName = null; - - - scrollPos = GUILayout.BeginScrollView(new Vector2(0, scrollPos)).y; - - GUILayout.Space(rows.Count * rowHeight + 23); - - - var i0 = (scrollPos / rowHeight).FloorToInt(); - var i1 = (i0 + ((position.height - 30) / rowHeight).CeilToInt()).Min(rows.Count); - - for (int ii = i0; ii < i1; ii++) - row(ii); - - - GUILayout.EndScrollView(); - - } - void hoveredIconLabel() - { - if (hoveredIconName == null) return; - - - var nameRect = position.SetPos(0, 0).SetHeightFromBottom(18).SetWidth(hoveredIconName.GetLabelWidth() + 6).Move(1, -1); - - var shadowRect = nameRect.AddWidthFromRight(10).AddHeight(10); - - - shadowRect.DrawBlurred(GUIColors.windowBackground, 12); - shadowRect.DrawBlurred(GUIColors.windowBackground.SetAlpha(.4f), 8); - - - SetLabelAlignmentCenter(); - - GUI.Label(nameRect, hoveredIconName); - - ResetLabelStyle(); - - } - void closeOnEsc() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.Escape) return; - - hoveredIconName = null; - - Close(); - - } - void outline() - { - if (Application.platform == RuntimePlatform.OSXEditor) return; - - position.SetPos(0, 0).DrawOutline(Greyscale(.1f)); - - } - - header(); - search(); - icons(); - hoveredIconLabel(); - closeOnEsc(); - outline(); - - paletteEditor.Repaint(); - - if (EditorWindow.focusedWindow != this) - Close(); - - } - - public static float iconSize => 16; - public static float iconSpacing => 6; - public static float cellSize => iconSize + iconSpacing; - public static float rowSpacing = 1; - - public static float rowHeight => cellSize + rowSpacing; - - public static float paddingLeft => 3; - public static float paddingRight => 3; - - public string hoveredIconName; - - static string searchString = ""; - static float scrollPos; - - - - - - void LoadAllIcons() - { - if (allIconNames != null) return; - - - (float h, float s, float v, float a) GetAverageColor(Texture2D texture) - { - - var readableTexture = new Texture2D(texture.width, texture.height, texture.format, texture.mipmapCount > 1); - - Graphics.CopyTexture(texture, readableTexture); - - var pixels = readableTexture.GetPixels32(); - - readableTexture.DestroyImmediate(); - - - float hSum = 0; - float sSum = 0; - float vSum = 0; - - int nonTransparentPxCount = pixels.Length; - int coloredPxCount = pixels.Length; - - for (var i = 0; i < pixels.Length; i++) - { - if (pixels[i].a <= .1f) { nonTransparentPxCount--; coloredPxCount--; continue; } - - Color.RGBToHSV(pixels[i], out float h, out float s, out float v); - - if (s > .1f) - hSum += h; - else - coloredPxCount--; - - sSum += s; - - vSum += v; - - } - - var hAvg = hSum / coloredPxCount; - var sAvg = sSum / nonTransparentPxCount; - var vAvg = vSum / nonTransparentPxCount; - var aAvg = nonTransparentPxCount / pixels.Length.ToFloat(); - - if (coloredPxCount == 0) - hAvg = -1; - - - return (hAvg, sAvg, vAvg, aAvg); - - } - - - - var editorAssetBundle = typeof(EditorGUIUtility).InvokeMethod("GetEditorAssetBundle"); - - allIconNames = ( - - from path in editorAssetBundle.GetAllAssetNames() - - - let icon = editorAssetBundle.LoadAsset(path) - - where icon - - - where path.StartsWith("icons/") - where !path.Contains("avatarinspector") - - where !icon.name.ToLower().StartsWith("d_") - - where !icon.name.ToLower().EndsWith(".small") - where !icon.name.ToLower().EndsWith("_sml") - - where !icon.name.Contains("@") - where !icon.name.Contains("TreeEditor") - where !icon.name.Contains("scene-template") - where !icon.name.Contains("StateMachineEditor.Background") - where !icon.name.Contains("SpeedTree") - where !icon.name.Contains("TextMesh") - where !icon.name.Contains("Profiler.Instrumentation") - where !icon.name.Contains("Profiler.Record") - where !icon.name.Contains("SocialNetworks") - where !icon.name.Contains("Groove") - - - - let avgColor = GetAverageColor(icon) - - where avgColor.a > .1f - - - - orderby avgColor.h * -3f - + avgColor.s * .09f - + avgColor.v * 0f, icon.name - - - - select icon.name - - ).ToHashSet() - .ToList(); - - } - - static List allIconNames; - - - - void FilterIconsBySearch() - { - filteredIcons = ( - - from iconName in allIconNames - - where iconName.ToLower().Contains(searchString.ToLower()) - - orderby iconName.ToLower().IndexOf(searchString.ToLower(), System.StringComparison.Ordinal) - - select iconName - - ).ToList(); - } - - static List filteredIcons; - - - - void GenerateRows() - { - - var iconsPerRow = ((position.width - paddingLeft - paddingRight) / cellSize).FloorToInt(); - - rows = new(); - - var curRow = new List(); - - foreach (var icon in filteredIcons) - { - curRow.Add(icon); - - if (curRow.Count == iconsPerRow) - { - rows.Add(curRow); - curRow = new(); - } - } - - if (curRow.Any()) - rows.Add(curRow); - - } - - static List> rows; - - - - - - - public void Init() - { - LoadAllIcons(); - FilterIconsBySearch(); - GenerateRows(); - - searchField = new(); - - } - - SearchField searchField; - - - - - - public VFoldersPalette palette; - public VFoldersPaletteEditor paletteEditor; - - } - - class AdjustColorsWindow : EditorWindow - { - void OnGUI() - { - void header() - { - var headerRect = Rect.zero.SetHeight(20).SetWidth(position.width); - var closeButtonRect = headerRect.SetWidthFromRight(16).SetHeightFromMid(16).Move(-3, -.5f); - - void background() - { - headerRect.Draw(EditorGUIUtility.isProSkin ? Greyscale(.18f) : Greyscale(.7f)); - } - void title() - { - SetGUIColor(Greyscale(.8f)); - SetLabelAlignmentCenter(); - - GUI.Label(headerRect.MoveY(-1), "Adjust colors"); - - ResetLabelStyle(); - ResetGUIColor(); - - } - void closeButton() - { - var colorNormal = isDarkTheme ? Greyscale(.55f) : Greyscale(.35f); - var colorHovered = isDarkTheme ? Greyscale(.9f) : colorNormal; - - var iconSize = 14; - - if (IconButton(closeButtonRect, "CrossIcon", iconSize, colorNormal, colorHovered)) - Close(); - - } - void escHint() - { - if (!closeButtonRect.IsHovered()) return; - - var textRect = headerRect.SetWidthFromRight(42).MoveY(-.5f).MoveX(1); - var fontSize = 11; - var color = Greyscale(.65f); - - - SetLabelFontSize(fontSize); - SetGUIColor(color); - - GUI.Label(textRect, "Esc"); - - ResetGUIColor(); - ResetLabelStyle(); - - } - void outline() - { - if (Application.platform == RuntimePlatform.OSXEditor) return; - - position.SetPos(0, 0).DrawOutline(Greyscale(.1f)); - - } - - background(); - title(); - closeButton(); - escHint(); - outline(); - - Space(headerRect.height); - - } - void body() - { - EditorGUIUtility.labelWidth = 85; - EditorGUIUtility.keyboardControl = 0; - - palette.RecordUndo(); - - - EditorGUI.BeginChangeCheck(); - - palette.colorBrightness = (EditorGUILayout.Slider("Brightness", palette.colorBrightness, 0, 2) / .1f).RoundToInt() * .1f; - palette.colorSaturation = (EditorGUILayout.Slider("Saturation", palette.colorSaturation, 0, 2) / .1f).RoundToInt() * .1f; - - if (VFoldersMenu.backgroundColorsEnabled) - palette.colorGradientsEnabled = EditorGUILayout.Toggle("Gradients", palette.colorGradientsEnabled); - - if (EditorGUI.EndChangeCheck()) - { - paletteEditor.Repaint(); - EditorApplication.RepaintProjectWindow(); - - palette.Dirty(); - - VFolders.folderInfoCache.Clear(); - - } - - - EditorGUIUtility.labelWidth = 0; - - } - void closeOnEsc() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.Escape) return; - - Close(); - - } - - - header(); - - Space(7); - BeginIndent(10); - - body(); - - EndIndent(5); - - - - closeOnEsc(); - - if (EditorWindow.focusedWindow != this) - Close(); - - Repaint(); // for undo - - } - - public VFoldersPalette palette; - public VFoldersPaletteEditor paletteEditor; - - } - -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs.meta deleted file mode 100644 index 2a387dfa7..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPaletteEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 085d323b143d5403fb4beda728e65139 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs b/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs deleted file mode 100644 index af030dee7..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs +++ /dev/null @@ -1,776 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.ShortcutManagement; -using System.Reflection; -using System.Linq; -using UnityEngine.UIElements; -using UnityEngine.SceneManagement; -using UnityEditor.SceneManagement; -using Type = System.Type; -using static VFolders.VFolders; -using static VFolders.VFoldersData; -using static VFolders.VFoldersPalette; -using static VFolders.VFoldersCache; -using static VFolders.Libs.VUtils; -using static VFolders.Libs.VGUI; - - -namespace VFolders -{ - public class VFoldersPaletteWindow : EditorWindow - { - - void OnGUI() - { - if (!palette) { Close(); return; } - - int hoveredColorIndex = -1; - string hoveredIconNameOrGuid = null; - - void background() - { - position.SetPos(0, 0).Draw(windowBackground); - } - void outline() - { - if (Application.platform == RuntimePlatform.OSXEditor) return; - - position.SetPos(0, 0).DrawOutline(Greyscale(.1f)); - - } - void colors() - { - if (!palette.colorsEnabled) return; - - var rowRect = this.position.SetPos(paddingX, paddingY).SetHeight(cellSize); - - - void color(int i) - { - var cellRect = rowRect.MoveX(i * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize); - - void backgroundSelected() - { - if (!colorIndexes_initial.Contains(i)) return; - - cellRect.Resize(1).DrawRounded(selectedBackground, 2); - - } - void backgroundHovered() - { - if (!cellRect.IsHovered()) return; - - cellRect.Resize(1).DrawRounded(this.hoveredBackground, 2); - - } - void crossIcon() - { - if (i != 0) return; - - GUI.DrawTexture(cellRect.SetSizeFromMid(iconSize), EditorIcons.GetIcon("CrossIcon")); - - } - void colorOutline() - { - if (i == 0) return; - - var outlineColor = i <= VFoldersPalette.greyColorsCount ? Greyscale(.0f, .4f) : Greyscale(.15f, .2f); - - cellRect.Resize(3).DrawRounded(outlineColor, 4); - - } - void color() - { - if (i == 0) return; - - var brightness = palette.colorBrightness; - var saturation = palette.colorSaturation; - var drawGradients = palette.colorGradientsEnabled; - - if (!palette.colorGradientsEnabled) - brightness *= isDarkTheme ? .75f : .97f; - - if (i <= VFoldersPalette.greyColorsCount) - { - saturation = brightness = 1; - drawGradients = false; - } - - - var colorRaw = palette ? palette.colors[i - 1] : VFoldersPalette.GetDefaultColor(i - 1); - - var color = Lerp(Greyscale(.2f), colorRaw, brightness); - - Color.RGBToHSV(color, out float h, out float s, out float v); - color = Color.HSVToRGB(h, s * saturation, v); - - color = Lerp(color, colorRaw, .5f).SetAlpha(1); - - - - - cellRect.Resize(4).DrawRounded(color, 3); - - if (drawGradients) - cellRect.Resize(4).AddWidthFromRight(-2).DrawCurtainLeft(GUIColors.windowBackground.SetAlpha(.45f)); - - } - void recursiveIndicator() - { - if (!curEvent.isRepaint) return; - - - var isRecursive = folderDatas.First().colorIndex == i && folderDatas.First().isColorRecursive; - - if (!isRecursive) return; - - - - var iconRect = cellRect.SetSizeFromMid(16).Move(-6, -7); - var shadowRect = iconRect.Resize(3).Move(2, 1).AddWidthFromRight(3); - var shadowRadius = 4; - - shadowRect.DrawBlurred(GUIColors.windowBackground, shadowRadius); - - - SetGUIColor(Color.white * 2); - - GUI.DrawTexture(iconRect, EditorIcons.GetIcon("UnityEditor.SceneHierarchyWindow@2x")); - - ResetGUIColor(); - - - } - - void setHovered() - { - if (!cellRect.IsHovered()) return; - - hoveredColorIndex = i; - - } - void closeOnClick() - { - if (!cellRect.IsHovered()) return; - if (!curEvent.isMouseUp) return; - - curEvent.Use(); - - Close(); - - } - - - - cellRect.MarkInteractive(); - - backgroundSelected(); - backgroundHovered(); - crossIcon(); - colorOutline(); - color(); - recursiveIndicator(); - - setHovered(); - closeOnClick(); - - } - - - for (int i = 0; i < palette.colors.Count + 1; i++) - color(i); - - } - void icons() - { - void row(int i, IconRow iconRow) - { - var rowRect = this.position.SetPos(paddingX, paddingY).SetHeight(cellSize).MoveY(palette.colorsEnabled ? cellSize + spaceAfterColors : 0).MoveY(i * (cellSize + rowSpacing)); - - var isFirstEnabledRow = palette.iconRows.First(r => r.enabled) == iconRow; - - - void icon(int i) - { - var cellRect = rowRect.MoveX(i * cellSize).SetWidth(cellSize).SetHeightFromMid(cellSize); - - var isCrossIcon = isFirstEnabledRow && i == 0; - var actualIconIndex = isFirstEnabledRow ? i - 1 : i; - var isCustomIcon = !isCrossIcon && actualIconIndex >= iconRow.builtinIcons.Count; - var iconNameOrGuid = isCrossIcon ? "" : isCustomIcon ? iconRow.customIcons[actualIconIndex - iconRow.builtinIcons.Count] : iconRow.builtinIcons[actualIconIndex]; - - - void backgroundSelected() - { - if (!iconNamesOrGuids_initial.Contains(iconNameOrGuid)) return; - - cellRect.Resize(1).DrawRounded(selectedBackground, 2); - - } - void backgroundHovered() - { - if (!cellRect.IsHovered()) return; - - cellRect.Resize(1).DrawRounded(this.hoveredBackground, 2); - - } - void crossIcon() - { - if (!isCrossIcon) return; - - GUI.DrawTexture(cellRect.SetSizeFromMid(iconSize), EditorIcons.GetIcon("CrossIcon")); - - } - void normalIcon() - { - if (isCrossIcon) return; - - var iconNameOrPath = iconNameOrGuid?.Length == 32 ? iconNameOrGuid.ToPath() : iconNameOrGuid; - var icon = EditorIcons.GetIcon(iconNameOrPath) ?? Texture2D.blackTexture; - - var iconRect = cellRect.SetSizeFromMid(iconSize); - - if (icon.width < icon.height) iconRect = iconRect.SetWidthFromMid(iconRect.height * icon.width / icon.height); - if (icon.height < icon.width) iconRect = iconRect.SetHeightFromMid(iconRect.width * icon.height / icon.width); - - - GUI.DrawTexture(iconRect, icon); - - } - void recursiveIndicator() - { - if (!curEvent.isRepaint) return; - - - var isRecursive = folderDatas.First().iconNameOrGuid == iconNameOrGuid && folderDatas.First().isIconRecursive; - - if (!isRecursive) return; - - - - var iconRect = cellRect.SetSizeFromMid(16).Move(-6, -7); - var shadowRect = iconRect.Resize(3).Move(2, 1).AddWidthFromRight(3); - var shadowRadius = 4; - - shadowRect.DrawBlurred(GUIColors.windowBackground, shadowRadius); - - - - SetGUIColor(Color.white * 2); - - GUI.DrawTexture(iconRect, EditorIcons.GetIcon("UnityEditor.SceneHierarchyWindow@2x")); - - ResetGUIColor(); - - - } - - void setHovered() - { - if (!cellRect.IsHovered()) return; - - hoveredIconNameOrGuid = iconNameOrGuid; - - } - void closeOnClick() - { - if (!cellRect.IsHovered()) return; - if (!curEvent.isMouseUp) return; - - curEvent.Use(); - - Close(); - - } - - - - cellRect.MarkInteractive(); - - backgroundSelected(); - backgroundHovered(); - crossIcon(); - normalIcon(); - recursiveIndicator(); - - setHovered(); - closeOnClick(); - - } - - - for (int j = 0; j < iconRow.iconCount + (isFirstEnabledRow ? 1 : 0); j++) - icon(j); - - } - - - var i = 0; - - foreach (var iconRow in palette.iconRows) - { - if (!iconRow.enabled) continue; - if (iconRow.isEmpty) continue; - - row(i, iconRow); - - i++; - } - - } - void editPaletteButton() - { - var buttonRect = position.SetPos(0, 0).SetWidthFromRight(16).SetHeightFromBottom(16).Move(-14, -14); - var buttonColor = isDarkTheme ? Greyscale(.6f) : Greyscale(1, .6f); - - if (!IconButton(buttonRect, "Toolbar Plus", 16, buttonColor)) return; - - - palette.SelectInInspector(frameInProject: false); - - this.Close(); - - } - - void setColorsAndIcons() - { - if (!curEvent.isLayout) return; - - - if (palette.iconRows.Any(r => r.enabled)) - if (hoveredIconNameOrGuid != null) - SetIcon(hoveredIconNameOrGuid, isRecursive: curEvent.holdingAlt); - else - SetInitialIcons(); - - - if (palette.colorsEnabled) - if (hoveredColorIndex != -1) - SetColor(hoveredColorIndex, isRecursive: curEvent.holdingAlt); - else - SetInitialColors(); - - } - void updatePosition() - { - if (!curEvent.isLayout) return; - - void calcDeltaTime() - { - deltaTime = (float)(EditorApplication.timeSinceStartup - lastLayoutTime); - - if (deltaTime > .05f) - deltaTime = .0166f; - - lastLayoutTime = EditorApplication.timeSinceStartup; - - } - void resetCurPos() - { - if (currentPosition != default) return; - - currentPosition = position.position; // position.position is always int, which can't be used for lerping - - } - void lerpCurPos() - { - var speed = 9; - - SmoothDamp(ref currentPosition, targetPosition, speed, ref positionDeriv, deltaTime); - // Lerp(ref currentPosition, targetPosition, speed, deltaTime); - - } - void setCurPos() - { - position = position.SetPos(currentPosition); - } - - calcDeltaTime(); - resetCurPos(); - lerpCurPos(); - setCurPos(); - - if (!currentPosition.magnitude.Approx(targetPosition.magnitude)) - Repaint(); - - } - void closeOnEscape() - { - if (!curEvent.isKeyDown) return; - if (curEvent.keyCode != KeyCode.Escape) return; - - SetInitialColors(); - SetInitialIcons(); - - Close(); - - } - - - RecordUndoOnDatas(); - - background(); - outline(); - colors(); - icons(); - editPaletteButton(); - - setColorsAndIcons(); - updatePosition(); - closeOnEscape(); - - - - VFolders.folderInfoCache.Clear(); - - EditorApplication.RepaintProjectWindow(); - - EditorApplication.delayCall += EditorApplication.RepaintProjectWindow; // to show icons that will be generated in update - - } - - static float iconSize => 14; - static float iconSpacing => 6; - static float cellSize => iconSize + iconSpacing; - static float spaceAfterColors => 13; - public float rowSpacing = 1; - static float paddingX => 12; - static float paddingY => 12; - - Color windowBackground => isDarkTheme ? Greyscale(.23f) : Greyscale(.75f); - Color selectedBackground => isDarkTheme ? new Color(.3f, .5f, .7f, .8f) : new Color(.3f, .5f, .7f, .6f) * 1.25f; - Color hoveredBackground => isDarkTheme ? Greyscale(1, .3f) : Greyscale(0, .1f); - - public Vector2 targetPosition; - public Vector2 currentPosition; - Vector2 positionDeriv; - float deltaTime; - double lastLayoutTime; - - - - - - - void SetIcon(string iconNameOrGuid, bool isRecursive) - { - foreach (var r in folderDatas) - { - r.isIconRecursive = isRecursive; // setting it firstbecause iconNameOrGuid setter relies on isIconRecursive - r.iconNameOrGuid = iconNameOrGuid; - } - } - void SetColor(int colorIndex, bool isRecursive) - { - foreach (var r in folderDatas) - { - r.isColorRecursive = isRecursive; - r.colorIndex = colorIndex; - } - } - - void SetInitialIcons() - { - for (int i = 0; i < folderDatas.Count; i++) - { - folderDatas[i].isIconRecursive = isIconRecursives_initial[i]; - folderDatas[i].iconNameOrGuid = iconNamesOrGuids_initial[i]; - } - } - void SetInitialColors() - { - for (int i = 0; i < folderDatas.Count; i++) - { - folderDatas[i].isColorRecursive = isColorRecursives_initial[i]; - folderDatas[i].colorIndex = colorIndexes_initial[i]; - } - } - - void RemoveEmptyFolderDatas() - { - if (VFoldersData.storeDataInMetaFiles) return; // empties removed from meta files in SaveData() - - var toRemove = folderDatas.Select(r => r.folderData).Where(r => r.iconNameOrGuid == "" && r.colorIndex == 0); - - foreach (var r in toRemove) - data.folderDatas_byGuid.RemoveValue(r); - - if (toRemove.Any()) - Undo.CollapseUndoOperations(Undo.GetCurrentGroup() - 1); - - } - - void RecordUndoOnDatas() - { - if (!VFoldersData.storeDataInMetaFiles) - if (data) - data.RecordUndo(); - - if (VFoldersData.storeDataInMetaFiles) - foreach (var r in guids) - AssetImporter.GetAtPath(r.ToPath()).RecordUndo(); - - } - void MarkDatasDirty() - { - if (!VFoldersData.storeDataInMetaFiles) - if (data) - data.Dirty(); - - if (VFoldersData.storeDataInMetaFiles) - VFolders.folderDatasFromMetaFiles_byGuid.Clear(); - - } - void SaveData() - { - if (!VFoldersData.storeDataInMetaFiles) { data.Save(); return; } - - for (int i = 0; i < guids.Count; i++) - if (folderDatas[i].iconNameOrGuid == "" && folderDatas[i].colorIndex == 0) - AssetImporter.GetAtPath(guids[i].ToPath()).userData = ""; - else - AssetImporter.GetAtPath(guids[i].ToPath()).userData = JsonUtility.ToJson(folderDatas[i].folderData); - - for (int i = 0; i < guids.Count; i++) - AssetImporter.GetAtPath(guids[i].ToPath()).SaveAndReimport(); - - } - - - - - - - - - - void OnLostFocus() - { - if (curEvent.holdingAlt && EditorWindow.focusedWindow?.GetType().Name == "ProjectBrowser") - CloseNextFrameIfNotRefocused(); - else - Close(); - - } - - void CloseNextFrameIfNotRefocused() - { - EditorApplication.delayCall += () => { if (EditorWindow.focusedWindow != this) Close(); }; - } - - - - - static void RepaintOnAlt() // Update - { - if (curEvent.holdingAlt != wasHoldingAlt) - if (EditorWindow.mouseOverWindow is VFoldersPaletteWindow paletteWindow) - paletteWindow.Repaint(); - - wasHoldingAlt = curEvent.holdingAlt; - - } - - static bool wasHoldingAlt; - - - - - - - - - - public void Init(List guids) - { - void createData() - { - if (VFolders.data) return; - - VFolders.data = ScriptableObject.CreateInstance(); - - AssetDatabase.CreateAsset(VFolders.data, GetScriptPath("VFolders").GetParentPath().CombinePath("vFolders Data.asset")); - - } - void createPalette() - { - if (VFolders.palette) return; - - VFolders.palette = ScriptableObject.CreateInstance(); - - AssetDatabase.CreateAsset(VFolders.palette, GetScriptPath("VFolders").GetParentPath().CombinePath("vFolders Palette.asset")); - - } - void setSize() - { - var rowCellCounts = new List(); - - if (palette.colorsEnabled) - rowCellCounts.Add(palette.colors.Count + 1); - - foreach (var r in palette.iconRows.Where(r => r.enabled && !r.isEmpty)) - rowCellCounts.Add(r.iconCount + (r == palette.iconRows.First(r => r.enabled) ? 1 : 0)); - - var width = paddingX - + rowCellCounts.Max() * cellSize - + (rowCellCounts.Last() == rowCellCounts.Max() ? cellSize : 0) - + paddingX; - - - - var iconRowCount = palette.iconRows.Count(r => r.enabled && !r.isEmpty); - - var height = paddingY - + (palette.colorsEnabled ? cellSize : 0) - + (palette.colorsEnabled && palette.iconRows.Any(r => r.enabled && !r.isEmpty) ? spaceAfterColors : 0) - + cellSize * iconRowCount - + rowSpacing * (iconRowCount - 1) - + paddingY; - - - position = position.SetSize(width, height).SetPos(targetPosition); - - } - void getFolderDatas() - { - folderDatas.Clear(); - - foreach (var guid in guids) - folderDatas.Add(new FolderDataWrapper(guid)); - - } - void getInitialState() - { - iconNamesOrGuids_initial = folderDatas.Select(r => r.iconNameOrGuid).ToList(); - colorIndexes_initial = folderDatas.Select(r => r.colorIndex).ToList(); - - isIconRecursives_initial = folderDatas.Select(r => r.isIconRecursive).ToList(); - isColorRecursives_initial = folderDatas.Select(r => r.isColorRecursive).ToList(); - - } - - - this.guids = guids; - - RecordUndoOnDatas(); - - createData(); - createPalette(); - setSize(); - getFolderDatas(); - getInitialState(); - - Undo.undoRedoPerformed -= EditorApplication.RepaintProjectWindow; - Undo.undoRedoPerformed += EditorApplication.RepaintProjectWindow; - - EditorApplication.update -= RepaintOnAlt; - EditorApplication.update += RepaintOnAlt; - - } - - void OnDestroy() - { - RemoveEmptyFolderDatas(); - MarkDatasDirty(); - SaveData(); - - EditorApplication.update -= RepaintOnAlt; - - } - - public List guids = new(); - public List folderDatas = new(); - - public List iconNamesOrGuids_initial = new(); - public List colorIndexes_initial = new(); - - public List isIconRecursives_initial = new(); - public List isColorRecursives_initial = new(); - - static VFoldersPalette palette => VFolders.palette; - static VFoldersData data => VFolders.data; - - - - - - - - public static void CreateInstance(Vector2 position) - { - instance = ScriptableObject.CreateInstance(); - - instance.ShowPopup(); - - instance.position = instance.position.SetPos(position).SetSize(200, 300); - instance.targetPosition = position; - - } - - public static VFoldersPaletteWindow instance; - - - - - - - public class FolderDataWrapper - { - public string iconNameOrGuid - { - get - { - if (folderData != null && folderData.iconNameOrGuid != "") - if (folderData.iconNameOrGuid == "none") return ""; - else return folderData.iconNameOrGuid ?? ""; - - else if (VFoldersMenu.autoIconsEnabled && folderState.autoIconName != "") - return folderState.autoIconName; - - else return ""; - - } - set - { - if (VFoldersMenu.autoIconsEnabled && folderState.autoIconName != "") - if (value == folderState.autoIconName && !folderData.isIconRecursive) - folderData.iconNameOrGuid = ""; - else if (value == "") - folderData.iconNameOrGuid = "none"; - else - folderData.iconNameOrGuid = value; - - - else folderData.iconNameOrGuid = value; - - } - - } - public bool isIconRecursive { get => folderData.isIconRecursive; set => folderData.isIconRecursive = value; } - - public int colorIndex { get => folderData.colorIndex; set => folderData.colorIndex = value; } - public bool isColorRecursive { get => folderData.isColorRecursive; set => folderData.isColorRecursive = value; } - - - public FolderDataWrapper(string guid) - { - folderData = VFolders.GetFolderData(guid, createDataIfDoesntExist: true); - folderState = VFolders.GetFolderState(guid); - } - - public FolderData folderData; - public FolderState folderState; - - - // used as an interlayer between folderData and palette window to account for automatic icons - // it's the only structural difference between vFolders' PaletteWindow and vHierarchy's - - } - - - } -} -#endif \ No newline at end of file diff --git a/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs.meta b/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs.meta deleted file mode 100644 index 6f8ecd4cb..000000000 --- a/Assets/External/V_Utility/vFolders/VFoldersPaletteWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 68011e63381a84f3bacee6e5ee9e0b82 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/V_Utility/vFolders/vFolders Data.asset b/Assets/External/V_Utility/vFolders/vFolders Data.asset deleted file mode 100644 index 7d36b7cfd..000000000 --- a/Assets/External/V_Utility/vFolders/vFolders Data.asset +++ /dev/null @@ -1,18 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: adb9c12a8c6c949f7af83a3d238359d0, type: 3} - m_Name: vFolders Data - m_EditorClassIdentifier: - folderDatas_byGuid: - keys: [] - values: [] - bookmarks: [] diff --git a/Assets/External/V_Utility/vFolders/vFolders Data.asset.meta b/Assets/External/V_Utility/vFolders/vFolders Data.asset.meta deleted file mode 100644 index 26a9ba9f8..000000000 --- a/Assets/External/V_Utility/vFolders/vFolders Data.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1c6ed533dc7f28540b3432b82819cdb0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka.meta b/Assets/External/_StudioKafka.meta deleted file mode 100644 index 5d3ac27d4..000000000 --- a/Assets/External/_StudioKafka.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5ce652977f23eee4fa89058799522039 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro.meta b/Assets/External/_StudioKafka/MeshSyncPro.meta deleted file mode 100644 index 54e8533cd..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a8f1ac812e3f7804aae29071532c5b3b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs b/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs deleted file mode 100644 index 26c18333f..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs +++ /dev/null @@ -1,537 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; -using StudioKafka.MeshSyncPro.Runtime; -using System; -using System.Linq; - -namespace StudioKafka.MeshSyncPro -{ - public class MeshSyncProWindow : EditorWindow - { - private List bodyObjects = new List(); - private List clothingObjects = new List(); - - private float penetrationThreshold = 0.001f; - private float pushOutDistance = 0.05f; - private float dotProductThreshold = 0.8f; - private float influenceRadiusSteps = 1f; - private int smoothingIterations = 2; - private float smoothingFactor = 0.1f; - - private Dictionary<(GameObject, GameObject), int[]> penetratingIndicesResults = new Dictionary<(GameObject, GameObject), int[]>(); - private Dictionary<(GameObject, GameObject), Vector3[]> penetratingVerticesResults = new Dictionary<(GameObject, GameObject), Vector3[]>(); - - private bool visualizePenetratingVertices = true; - private Vector2 scrollPosition; - - private List zones = new List(); - private GameObject debugSphere; - - [MenuItem("Tools/MeshSyncPro")] - public static void ShowWindow() - { - GetWindow("MeshSyncPro 도구"); - } - - private void OnEnable() - { - SceneView.duringSceneGui += OnSceneGUIDelegate; - Undo.undoRedoPerformed += OnUndoRedo; - - if (zones == null || zones.Count == 0) - { - zones = new List(); - zones.Add(new MeshSyncProManager.Zone() - { - center = new Vector3(0f, 0.872f, -0.12f), - size = new Vector3(0.2f, 0.07f, 0.2f), - active = true, - color = new Color(0f, 1f, 0f, 0.25f) - }); - } - } - - private void OnDisable() - { - SceneView.duringSceneGui -= OnSceneGUIDelegate; - Undo.undoRedoPerformed -= OnUndoRedo; - - if (debugSphere != null) - DestroyImmediate(debugSphere); - } - - private void OnUndoRedo() - { - penetratingIndicesResults.Clear(); - penetratingVerticesResults.Clear(); - Repaint(); - SceneView.RepaintAll(); - Debug.Log("작업이 취소되었습니다. 관통 검출 결과는 초기화되었습니다."); - } - - void OnGUI() - { - try - { - GUILayout.BeginVertical(); - try - { - EditorGUILayout.LabelField("MeshSyncPro: 메시 관통 검출·수정 도구", EditorStyles.boldLabel); - EditorGUILayout.Space(); - - scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); - - EditorGUILayout.HelpBox( - "이 도구는 아바타 등의 기본 메시와 의상 메시 간의 관통을 검출하고 자동 수정을 시도합니다.\n" + - "기본 사용법:\n" + - "1. '기본 오브젝트'와 '의상 오브젝트'에 대상 GameObject를 지정합니다.\n" + - "2. 각 설정값을 조정합니다. 툴팁에 조정 힌트가 있습니다.\n" + - "3. '관통 부분 검출' 버튼으로 관통 부분을 특정합니다.\n" + - "4. '검출 부분 수정' 버튼으로 자동 수정을 실행합니다.\n" + - "모든 작업은 Undo (Ctrl+Z / Cmd+Z)로 되돌릴 수 있습니다.", MessageType.Info); - - GUILayout.Label("대상 오브젝트 설정", EditorStyles.boldLabel); - EditorGUILayout.LabelField("기본 오브젝트 (Skinned Mesh Renderer)", EditorStyles.miniBoldLabel); - DrawGameObjectList(bodyObjects); - - EditorGUILayout.LabelField("의상 오브젝트 (Skinned Mesh Renderer 또는 MeshFilter)", EditorStyles.miniBoldLabel); - DrawGameObjectList(clothingObjects); - - EditorGUILayout.Space(); - - GUILayout.Label("검출 대상 영역 설정", EditorStyles.boldLabel); - EditorGUILayout.HelpBox("관통 검출의 대상으로 하고 싶은 범위를 설정합니다.\n영역 설정은, 광범위한 메시에서 특정 부분(예: 가슴, 겨드랑이 등)의 관통만을 중점적으로 체크하고 싶은 경우에 유효합니다.", MessageType.None); - - for (int i = 0; i < zones.Count; i++) - { - MeshSyncProManager.Zone zone = zones[i]; - EditorGUILayout.BeginVertical(GUI.skin.box); - EditorGUILayout.LabelField($"영역 {i}", EditorStyles.boldLabel); - - Undo.RecordObject(this, "영역 파라미터 변경"); - - zone.center = EditorGUILayout.Vector3Field(new GUIContent("중심 좌표", "영역의 중심이 되는 월드 좌표입니다. 대상 오브젝트의 로컬 좌표가 아닙니다."), zone.center); - zone.size = EditorGUILayout.Vector3Field(new GUIContent("범위 크기", "영역의 XYZ 각 방향의 크기(지름)입니다."), zone.size); - zone.active = EditorGUILayout.Toggle(new GUIContent("이 영역을 활성화", "체크를 해제하면 이 영역은 검출 대상에서 제외됩니다."), zone.active); - zone.color = EditorGUILayout.ColorField(new GUIContent("영역 표시 색상", "씬 뷰에서 이 영역을 와이어프레임 표시할 때의 색상입니다. 반투명하게 하면 보기 쉽습니다."), zone.color); - - EditorGUILayout.BeginHorizontal(); - if (GUILayout.Button("이 영역 삭제", GUILayout.Width(120))) - { - Undo.RecordObject(this, "영역 삭제"); - zones.RemoveAt(i--); - } - - if (GUILayout.Button("이 영역 초기화", GUILayout.Width(120))) - { - Undo.RecordObject(this, "영역 초기화"); - if (i == 0 && zones.Count > 0) - { - zone.center = new Vector3(0f, 0.872f, -0.12f); - zone.size = new Vector3(0.2f, 0.07f, 0.2f); - zone.color = new Color(0f, 1f, 0f, 0.25f); - } else { - zone.center = Vector3.zero; - zone.size = new Vector3(0.2f, 0.2f, 0.2f); - zone.color = new Color(0.3f, 1f, 0.3f, 0.25f); - } - zone.active = true; - } - - EditorGUILayout.EndHorizontal(); - EditorGUILayout.EndVertical(); - } - - if (GUILayout.Button("새 영역 추가")) - { - Undo.RecordObject(this, "영역 추가"); - zones.Add(new MeshSyncProManager.Zone() { center = Vector3.zero, size = new Vector3(0.2f, 0.2f, 0.2f), active = true, color = new Color(0.3f, 0.3f, 1f, 0.25f) }); - } - - EditorGUILayout.Space(); - - GUILayout.Label("관통 검출의 기본 설정", EditorStyles.boldLabel); - - penetrationThreshold = EditorGUILayout.Slider( - new GUIContent("관통으로 간주하는 거리 임계값", "의상이 기본 메시에 이 값 이상으로 파고들어 있는 경우에 관통으로 판정합니다.\n작은 값일수록 경미한 파고듦도 검출하지만, 과검출의 가능성도 증가합니다.(단위:미터)"), - penetrationThreshold, 0.0001f, 0.1f); - - dotProductThreshold = EditorGUILayout.Slider( - new GUIContent("법선 방향의 일치도 임계값", "기본 메시의 법선과 관통 방향 벡터의 일치도. 값이 클수록, 기본 메시 표면에서 거의 수직으로 뚫고 나가는 관통만을 대상으로 합니다.\n-1에 가까울수록 모든 방향의 접촉을 검출하고, 1에 가까울수록 엄격한 뚫고 나감만을 검출합니다. 보통은 0.5 이상을 권장합니다."), - dotProductThreshold, -1f, 1f); - - EditorGUILayout.Space(); - - GUILayout.Label("수정의 기본 설정", EditorStyles.boldLabel); - EditorGUILayout.HelpBox("관통 수정하는 정점의 이동량이나 스무딩을 설정합니다", MessageType.None); - - pushOutDistance = EditorGUILayout.Slider( - new GUIContent("수정 시 밀어내는 양", "관통 수정 시, 기본 메시를 밀어내는 거리의 기준입니다.\n크게 하면 수정이 강해지지만, 형태가 왜곡될 수 있습니다.(단위:미터)"), - pushOutDistance, 0.0f, 0.1f); - - influenceRadiusSteps = EditorGUILayout.Slider( - new GUIContent("수정 영향 스텝 수", "관통 수정 시, 직접 수정되는 정점의 주변 몇 스텝분의 정점까지 영향을 미치는지.\n값을 크게 하면 광범위가 부드럽게 수정되지만, 의도하지 않은 부분까지 변형될 가능성이 있습니다. 0으로 하면 직접 수정만 합니다."), - influenceRadiusSteps, 0f, 10f); - - smoothingIterations = EditorGUILayout.IntSlider( - new GUIContent("스무딩 반복 횟수", "수정 후의 메시를 부드럽게 하는 처리의 반복 횟수입니다.\n횟수를 늘리면 더 부드러워지지만, 처리 시간이 증가하고 디테일이 손실될 수 있습니다."), - smoothingIterations, 0, 10); - - smoothingFactor = EditorGUILayout.Slider( - new GUIContent("스무딩 강도", "수정 후의 메시를 부드럽게 할 때의 각 반복의 강도입니다.(0.0으로 효과 없음, 1.0으로 최대 효과)\n강도가 높을수록, 1회의 반복으로 크게 부드러워집니다."), - smoothingFactor, 0f, 1f); - - visualizePenetratingVertices = EditorGUILayout.Toggle( - new GUIContent("관통 정점을 씬에 표시", "검출된 관통 정점을 빨간 구체로 씬 뷰에 표시합니다. 디버그나 설정 조정에 도움이 됩니다."), - visualizePenetratingVertices); - - GUILayout.Space(20); - - if (GUILayout.Button("관통 부분 검출", GUILayout.Height(35))) - { - MeshSyncProManager manager = GetOrCreateManager(); - ConfigureManager(manager); - Undo.RecordObject(manager, "관통 검출 (매니저 상태)"); - manager.ApplyMeshCorrections(); - - penetratingIndicesResults = manager.GetPenetratingIndicesResults(); - penetratingVerticesResults = manager.GetPenetratingVerticesResults(); - Repaint(); - } - - GUI.enabled = penetratingIndicesResults != null && penetratingIndicesResults.Count > 0 && penetratingIndicesResults.Any(kvp => kvp.Value != null && kvp.Value.Length > 0); - - if (GUILayout.Button("검출 부분 수정", GUILayout.Height(35))) - { - MeshSyncProManager manager = GetOrCreateManager(); - ConfigureManager(manager); - manager.FixDetectedPenetrations(pushOutDistance); - - penetratingIndicesResults.Clear(); - penetratingVerticesResults.Clear(); - Repaint(); - } - - GUI.enabled = true; - - GUILayout.Space(10); - - // 수정된 메시가 있는지 확인 - bool hasModifiedMeshes = false; - foreach (var clothingObj in clothingObjects) - { - if (clothingObj != null && clothingObj.GetComponent() != null) - { - hasModifiedMeshes = true; - break; - } - } - - GUI.enabled = hasModifiedMeshes; - if (GUILayout.Button("수정된 메시 저장", GUILayout.Height(35))) - { - SaveModifiedMeshes(); - } - GUI.enabled = true; - - GUILayout.Space(10); - - GUILayout.Label("검출 결과 개요", EditorStyles.boldLabel); - - if (penetratingIndicesResults != null && penetratingIndicesResults.Count > 0 && penetratingIndicesResults.Any(kvp => kvp.Value != null && kvp.Value.Length > 0)) - { - EditorGUILayout.BeginVertical(GUI.skin.box); - int totalPenetratingVertices = 0; - - foreach (var pair in penetratingIndicesResults) - { - var key = pair.Key; - GameObject bodyObj = key.Item1; - GameObject clothingObj = key.Item2; - - if (bodyObj == null || clothingObj == null) - { - Debug.LogWarning($"[MeshSyncPro] 결과 표시 스킵: GameObject가 무효합니다. 기본: {(bodyObj == null ? "null" : bodyObj.name)}, 의상: {(clothingObj == null ? "null" : clothingObj.name)}"); - continue; - } - - int[] penetratingIndices = pair.Value; - if (penetratingIndices != null && penetratingIndices.Length > 0) - { - totalPenetratingVertices += penetratingIndices.Length; - string resultText = $"기본「{(bodyObj?.name ?? "N/A")}」과 의상「{(clothingObj?.name ?? "N/A")}」사이: {penetratingIndices.Length} 정점의 관통을 검출"; - EditorGUILayout.LabelField(resultText); - } - } - - if (totalPenetratingVertices > 0) - { - EditorGUILayout.HelpBox($"총 {totalPenetratingVertices} 부분의 관통 정점을 검출했습니다.", MessageType.Info); - } else { - EditorGUILayout.LabelField("선택된 오브젝트 사이에는, 현재 설정으로 관통으로 판정되는 부분은 없었습니다."); - } - - EditorGUILayout.EndVertical(); - } - else - { - EditorGUILayout.LabelField("아직 관통 검출은 실행되지 않았거나, 관통 부분은 발견되지 않았습니다.\n위의 버튼으로 검출을 실행해 주세요."); - } - - EditorGUILayout.EndScrollView(); - } - finally - { - GUILayout.EndVertical(); - } - } - catch (ExitGUIException) - { - throw; - } - catch (Exception e) - { - Debug.LogException(e); - } - } - - private MeshSyncProManager GetOrCreateManager() - { - MeshSyncProManager manager = FindObjectOfType(); - if (manager == null) - { - GameObject managerGo = new GameObject("MeshSyncPro_ManagerComponent"); - Undo.RegisterCreatedObjectUndo(managerGo, "MeshSyncPro 매니저 생성"); - manager = managerGo.AddComponent(); - Debug.Log("씬에 MeshSyncPro의 매니저 컴포넌트를 찾을 수 없어서 새로 생성했습니다.", managerGo); - } - return manager; - } - - private void ConfigureManager(MeshSyncProManager manager) - { - Undo.RecordObject(manager, "MeshSyncPro 매니저 설정 변경"); - - manager.bodyObjects = new List(bodyObjects.Where(go => go != null)); - manager.clothingObjects = new List(clothingObjects.Where(go => go != null)); - manager.penetrationThreshold = penetrationThreshold; - manager.dotProductThreshold = dotProductThreshold; - manager.influenceRadiusSteps = influenceRadiusSteps; - manager.smoothingIterations = smoothingIterations; - manager.smoothingFactor = smoothingFactor; - manager.DetectionZones = zones.FindAll(z => z.active).ToArray(); - } - - void DrawGameObjectList(List list) - { - EditorGUILayout.BeginVertical(GUI.skin.box); - - for (int i = 0; i < list.Count; i++) - { - EditorGUILayout.BeginHorizontal(); - - GameObject newObj = (GameObject)EditorGUILayout.ObjectField(list[i], typeof(GameObject), true); - if (newObj != list[i]) - { - Undo.RecordObject(this, "대상 오브젝트 리스트 변경"); - list[i] = newObj; - } - - if (GUILayout.Button("-", GUILayout.Width(20))) - { - Undo.RecordObject(this, "대상 오브젝트 리스트에서 삭제"); - list.RemoveAt(i); - i--; - } - - EditorGUILayout.EndHorizontal(); - } - - Rect dropArea = EditorGUILayout.BeginVertical(GUI.skin.box, GUILayout.Height(50)); - GUI.Box(dropArea, "대상의 GameObject를 여기에 드래그&드롭하여 추가"); - EditorGUILayout.EndVertical(); - - Event currentEvent = Event.current; - if (dropArea.Contains(currentEvent.mousePosition)) - { - switch (currentEvent.type) - { - case EventType.DragUpdated: - case EventType.DragPerform: - DragAndDrop.visualMode = DragAndDropVisualMode.Copy; - - if (currentEvent.type == EventType.DragPerform) - { - DragAndDrop.AcceptDrag(); - - foreach (UnityEngine.Object draggedObject in DragAndDrop.objectReferences) - { - if (draggedObject is GameObject go) - { - if (!list.Contains(go)) - { - Undo.RecordObject(this, "드래그 작업으로 대상 오브젝트를 리스트에 추가"); - list.Add(go); - } - } - } - - DragAndDrop.activeControlID = 0; - currentEvent.Use(); - } - break; - } - } - - if (GUILayout.Button("+ 선택 중인 액티브 오브젝트 추가")) - { - if (Selection.activeGameObject != null) - { - if (!list.Contains(Selection.activeGameObject)) - { - Undo.RecordObject(this, "선택 중 오브젝트를 리스트에 추가"); - list.Add(Selection.activeGameObject); - } - } - else - { - Debug.LogWarning("대상이 되는 GameObject가 Hierarchy에서 선택되어 있지 않습니다."); - } - } - - EditorGUILayout.EndVertical(); - } - - private void OnSceneGUIDelegate(SceneView sceneView) - { - foreach (MeshSyncProManager.Zone zone in zones) - { - if (zone.active) - { - Handles.color = zone.color; - Handles.DrawWireCube(zone.center, zone.size); - } - } - - if (visualizePenetratingVertices && penetratingVerticesResults != null) - { - Handles.color = Color.red; - - foreach (var pair in penetratingVerticesResults) - { - GameObject bodyObj = pair.Key.Item1; - GameObject clothingObj = pair.Key.Item2; - - if (bodyObj == null || clothingObj == null) - { - continue; - } - - Vector3[] vertices = pair.Value; - if (vertices != null && vertices.Length > 0) - { - foreach (Vector3 vertex in vertices) - { - float handleSize = HandleUtility.GetHandleSize(vertex) * 0.03f; - Handles.SphereHandleCap(0, vertex, Quaternion.identity, handleSize, EventType.Repaint); - } - - if (vertices.Length > 0 && vertices[0] != null) - { - Vector3 labelPos = vertices[0] + Vector3.up * HandleUtility.GetHandleSize(vertices[0]) * 0.2f; - Handles.Label(labelPos, $"관통: {vertices.Length}정점"); - } - } - } - } - - sceneView.Repaint(); - } - - public void VisualizePenetrationFix(Vector3 beforeFix, Vector3 afterFix) - { - if (debugSphere != null) - { - DestroyImmediate(debugSphere); - } - - debugSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); - debugSphere.name = "MeshSyncPro_FixVisualizationSphere"; - debugSphere.transform.localScale = Vector3.one * 0.02f; - debugSphere.transform.position = beforeFix; - - Debug.DrawLine(beforeFix, afterFix, Color.green, 5.0f); - Handles.color = Color.green; - Handles.DrawLine(beforeFix, afterFix); - SceneView.RepaintAll(); - } - - private void SaveModifiedMeshes() - { - bool anyMeshSaved = false; - foreach (var clothingObj in clothingObjects) - { - if (clothingObj == null) continue; - - SkinnedMeshRenderer skinnedMeshRenderer = clothingObj.GetComponent(); - if (skinnedMeshRenderer != null && skinnedMeshRenderer.sharedMesh != null) - { - try - { - string originalPath = AssetDatabase.GetAssetPath(skinnedMeshRenderer.sharedMesh); - string directory; - string fileName; - - // 에셋 경로가 없는 경우 (씬에서 생성된 메시) - if (string.IsNullOrEmpty(originalPath)) - { - // 기본 저장 경로 설정 - directory = "Assets/Meshes"; - fileName = $"{clothingObj.name}_Mesh"; - - // 디렉토리가 없으면 생성 - if (!System.IO.Directory.Exists(directory)) - { - System.IO.Directory.CreateDirectory(directory); - } - } - else - { - directory = System.IO.Path.GetDirectoryName(originalPath); - fileName = System.IO.Path.GetFileNameWithoutExtension(originalPath); - } - - string newPath = $"{directory}/{fileName}_Fixed.asset"; - - // 메시 복사 및 저장 - Mesh newMesh = Instantiate(skinnedMeshRenderer.sharedMesh); - AssetDatabase.CreateAsset(newMesh, newPath); - AssetDatabase.SaveAssets(); - - // 새로운 메시 적용 - skinnedMeshRenderer.sharedMesh = newMesh; - EditorUtility.SetDirty(clothingObj); - anyMeshSaved = true; - - Debug.Log($"메시가 저장되었습니다: {newPath}"); - } - catch (System.Exception e) - { - Debug.LogError($"메시 '{clothingObj.name}' 저장 중 오류 발생: {e.Message}"); - } - } - } - - if (anyMeshSaved) - { - AssetDatabase.Refresh(); - EditorUtility.DisplayDialog("저장 완료", "수정된 메시가 성공적으로 저장되었습니다.", "확인"); - } - else - { - EditorUtility.DisplayDialog("저장 실패", "저장할 수정된 메시가 없습니다.", "확인"); - } - } - } -} diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs.meta b/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs.meta deleted file mode 100644 index 4b9808c4a..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Editor/MeshSyncProWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a9ecc9e1fac43634780d004760cd4f08 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime.meta b/Assets/External/_StudioKafka/MeshSyncPro/Runtime.meta deleted file mode 100644 index bc6cfd0b0..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f3e043bb9c7ef3446ab04fdc40ddb53b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs deleted file mode 100644 index a8758c1fd..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs +++ /dev/null @@ -1,326 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; -using System.Linq; - -namespace StudioKafka.MeshSyncPro -{ - public class MeshSyncProManager : MonoBehaviour - { - #region Zone型の定義 - - [Serializable] - public class Zone - { - public Vector3 center; - public Vector3 size; - public bool active; - public Color color; - - public Zone() - { - center = Vector3.zero; - size = Vector3.one; - active = true; - color = Color.green; - } - - public Zone(Vector3 zoneCenter, Vector3 zoneSize, bool isActive = true) - { - center = zoneCenter; - size = zoneSize; - active = isActive; - color = Color.green; - } - - public bool ContainsPoint(Vector3 point) - { - Vector3 min = center - size * 0.5f; - Vector3 max = center + size * 0.5f; - return point.x >= min.x && point.x <= max.x && - point.y >= min.y && point.y <= max.y && - point.z >= min.z && point.z <= max.z; - } - } - - #endregion - - #region パブリックプロパティ(UIから設定される) - - [Header("対象オブジェクト")] - public List bodyObjects = new List(); - public List clothingObjects = new List(); - - [Header("検出設定")] - [Range(0.0001f, 0.1f)] - public float penetrationThreshold = 0.001f; - - [Range(-1f, 1f)] - public float dotProductThreshold = 0.8f; - - [Header("修正設定")] - [Range(0f, 10f)] - public float influenceRadiusSteps = 1f; - - [Range(0, 10)] - public int smoothingIterations = 2; - - [Range(0f, 1f)] - public float smoothingFactor = 0.1f; - - [Header("検出ゾーン")] - public Zone[] DetectionZones = new Zone[0]; - - #endregion - - #region プライベートフィールド - - private Dictionary<(GameObject, GameObject), int[]> penetratingIndicesResults = - new Dictionary<(GameObject, GameObject), int[]>(); - private Dictionary<(GameObject, GameObject), Vector3[]> penetratingVerticesResults = - new Dictionary<(GameObject, GameObject), Vector3[]>(); - private bool isInitialized = false; - - #endregion - - #region Unity ライフサイクル - - private void Awake() - { - Initialize(); - } - - private void Start() - { - if (DetectionZones == null || DetectionZones.Length == 0) - { - CreateDefaultZone(); - } - } - - #endregion - - #region 初期化 - - private void Initialize() - { - if (isInitialized) return; - - penetratingIndicesResults = new Dictionary<(GameObject, GameObject), int[]>(); - penetratingVerticesResults = new Dictionary<(GameObject, GameObject), Vector3[]>(); - isInitialized = true; - - Debug.Log("[MeshSyncProManager] マネージャーが初期化されました"); - } - - private void CreateDefaultZone() - { - DetectionZones = new Zone[] - { - new Zone(new Vector3(0f, 0.872f, -0.12f), new Vector3(0.2f, 0.07f, 0.2f)) - { - color = new Color(0f, 1f, 0f, 0.25f) - } - }; - } - - #endregion - - #region メイン機能(UIから呼び出される) - - public void ApplyMeshCorrections() - { - Debug.Log("[MeshSyncProManager] 貫通検出を開始します"); - ClearResults(); - - if (!ValidateInputs()) - { - Debug.LogWarning("[MeshSyncProManager] 入力が無効です。検出を中止します"); - return; - } - - int totalDetections = 0; - - foreach (GameObject bodyObj in bodyObjects.Where(obj => obj != null)) - { - SkinnedMeshRenderer bodyRenderer = bodyObj.GetComponent(); - if (bodyRenderer == null) continue; - - foreach (GameObject clothingObj in clothingObjects.Where(obj => obj != null)) - { - Mesh clothingMesh = GetMeshFromGameObject(clothingObj); - if (clothingMesh == null) continue; - - var detectionResult = Runtime.PenetrationDetectionCore.DetectPenetration( - bodyRenderer, - clothingMesh, - clothingObj.transform, - penetrationThreshold, - dotProductThreshold - ); - - if (detectionResult.IsSuccessful && detectionResult.PenetratingIndices.Length > 0) - { - var filteredResult = FilterByZones(detectionResult); - var key = (bodyObj, clothingObj); - penetratingIndicesResults[key] = filteredResult.PenetratingIndices; - penetratingVerticesResults[key] = filteredResult.PenetratingVertices; - totalDetections += filteredResult.PenetratingIndices.Length; - - Debug.Log($"[MeshSyncProManager] {bodyObj.name} と {clothingObj.name} 間で {filteredResult.PenetratingIndices.Length} 個の貫通を検出"); - } - } - } - - Debug.Log($"[MeshSyncProManager] 検出完了: 合計 {totalDetections} 個の貫通頂点を検出しました"); - } - - public void FixDetectedPenetrations(float pushOutDistance) - { - Debug.Log($"[MeshSyncProManager] 貫通修正を開始します(押し出し距離: {pushOutDistance:F4})"); - int totalFixed = 0; - - foreach (var result in penetratingIndicesResults) - { - var key = result.Key; - GameObject bodyObj = key.Item1; - int[] penetratingIndices = result.Value; - - if (bodyObj != null && penetratingIndices != null && penetratingIndices.Length > 0) - { - SkinnedMeshRenderer bodyRenderer = bodyObj.GetComponent(); - if (bodyRenderer != null) - { - Runtime.PenetrationFixEngine.FixPenetrationAdvanced( - bodyRenderer, - penetratingIndices, - pushOutDistance, - influenceRadiusSteps, - smoothingIterations, - smoothingFactor - ); - - totalFixed += penetratingIndices.Length; - Debug.Log($"[MeshSyncProManager] {bodyObj.name} の {penetratingIndices.Length} 個の頂点を修正しました"); - } - } - } - - ClearResults(); - Debug.Log($"[MeshSyncProManager] 修正完了: 合計 {totalFixed} 個の頂点を修正しました"); - } - - #endregion - - #region 結果取得メソッド(UIから呼び出される) - - public Dictionary<(GameObject, GameObject), int[]> GetPenetratingIndicesResults() - { - return new Dictionary<(GameObject, GameObject), int[]>(penetratingIndicesResults); - } - - public Dictionary<(GameObject, GameObject), Vector3[]> GetPenetratingVerticesResults() - { - return new Dictionary<(GameObject, GameObject), Vector3[]>(penetratingVerticesResults); - } - - #endregion - - #region ヘルパーメソッド - - private bool ValidateInputs() - { - if (bodyObjects == null || bodyObjects.Count == 0) - { - Debug.LogError("[MeshSyncProManager] ボディオブジェクトが設定されていません"); - return false; - } - - if (clothingObjects == null || clothingObjects.Count == 0) - { - Debug.LogError("[MeshSyncProManager] 衣装オブジェクトが設定されていません"); - return false; - } - - return true; - } - - private Mesh GetMeshFromGameObject(GameObject obj) - { - SkinnedMeshRenderer smr = obj.GetComponent(); - if (smr != null && smr.sharedMesh != null) - { - return smr.sharedMesh; - } - - MeshFilter mf = obj.GetComponent(); - if (mf != null && mf.sharedMesh != null) - { - return mf.sharedMesh; - } - - return null; - } - - private Runtime.PenetrationDetectionCore.DetectionResult FilterByZones(Runtime.PenetrationDetectionCore.DetectionResult originalResult) - { - var activeZones = DetectionZones?.Where(z => z != null && z.active).ToArray(); - if (activeZones == null || activeZones.Length == 0) - { - return originalResult; - } - - var filteredIndices = new List(); - var filteredVertices = new List(); - - for (int i = 0; i < originalResult.PenetratingIndices.Length; i++) - { - Vector3 vertex = originalResult.PenetratingVertices[i]; - bool isInAnyZone = activeZones.Any(zone => zone.ContainsPoint(vertex)); - - if (isInAnyZone) - { - filteredIndices.Add(originalResult.PenetratingIndices[i]); - filteredVertices.Add(originalResult.PenetratingVertices[i]); - } - } - - return new Runtime.PenetrationDetectionCore.DetectionResult - { - IsSuccessful = filteredIndices.Count > 0, - PenetratingIndices = filteredIndices.ToArray(), - PenetratingVertices = filteredVertices.ToArray(), - RawPenetratingVertices = originalResult.RawPenetratingVertices, - ErrorMessage = originalResult.ErrorMessage, - DebugInfo = originalResult.DebugInfo - }; - } - - private void ClearResults() - { - penetratingIndicesResults.Clear(); - penetratingVerticesResults.Clear(); - } - - #endregion - - #region デバッグ - - private void OnDrawGizmos() - { - if (DetectionZones != null) - { - foreach (var zone in DetectionZones) - { - if (zone != null && zone.active) - { - Gizmos.color = zone.color; - Gizmos.DrawWireCube(zone.center, zone.size); - } - } - } - } - - #endregion - } -} diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs.meta b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs.meta deleted file mode 100644 index 065572d70..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/MeshSyncProManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1386b3748e6dae0418f782afeaac23d5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs deleted file mode 100644 index 5068db9a1..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs +++ /dev/null @@ -1,406 +0,0 @@ -using UnityEngine; -using System.Collections.Generic; -using System.Linq; - -namespace StudioKafka.MeshSyncPro.Runtime -{ - public static class PenetrationDetectionCore - { - private const float VectorMagnitudeThreshold = 0.0001f; - private const float SpatialHashCellSizeMultiplier = 2.0f; - private const float LooseDotProductThreshold = -0.5f; - private const float CloseProximityFactor = 0.5f; - - public struct DetectionResult - { - public bool IsSuccessful; - public int[] PenetratingIndices; - public Vector3[] PenetratingVertices; - public Vector3[] RawPenetratingVertices; - public string ErrorMessage; - public ScaleDebugInfo DebugInfo; - } - - public struct ScaleDebugInfo - { - public Vector3 BodyScale; - public Vector3 ClothingScale; - public string ScaleAnalysisLog; - } - - private struct VertexData - { - public Vector3[] WorldVertices; - public Vector3[] WorldNormals; - public Vector3[] RawWorldVertices; - } - - public static DetectionResult DetectPenetration( - SkinnedMeshRenderer bodyRenderer, - Mesh clothingMesh, - Transform clothingTransform, - float penetrationThreshold, - float dotThreshold) - { - Debug.Log($"[PenetrationDetectionCore] 検出開始 - Body: {bodyRenderer?.name}, Clothing: {clothingMesh?.name}"); - Debug.Log($"[PenetrationDetectionCore] 閾値 - 貫通: {penetrationThreshold:F5}, ドット積: {dotThreshold:F3}"); - - if (!ValidateInput(bodyRenderer, clothingMesh, clothingTransform)) - { - return ErrorResult("入力パラメータが無効です。"); - } - - try - { - var scaleDebugInfo = AnalyzeScaleHierarchy(bodyRenderer, clothingTransform); - LogScaleAnalysis(scaleDebugInfo); - - var bodyVertexData = GetBodyVertexData(bodyRenderer); - if (bodyVertexData.WorldVertices == null || bodyVertexData.WorldVertices.Length == 0) - { - return ErrorResult("Bodyメッシュの頂点データ取得に失敗、または頂点数が0です。"); - } - - var clothingVertexData = GetClothingVertexData(clothingMesh, clothingTransform); - if (clothingVertexData.WorldVertices == null || clothingVertexData.WorldVertices.Length == 0) - { - return ErrorResult("Clothingメッシュの頂点データ取得に失敗、または頂点数が0です。"); - } - - Debug.Log($"[PenetrationDetectionCore] 実処理頂点数 - Body: {bodyVertexData.WorldVertices.Length}, Clothing: {clothingVertexData.WorldVertices.Length}"); - - var (penetratingIndices, penetratingVertices, rawVertices) = PerformPenetrationDetectionLogic( - bodyVertexData, clothingVertexData, penetrationThreshold, dotThreshold); - - Debug.Log($"[PenetrationDetectionCore] 検出完了: {penetratingIndices.Count}個の貫通頂点"); - - return new DetectionResult - { - IsSuccessful = true, - PenetratingIndices = penetratingIndices.ToArray(), - PenetratingVertices = penetratingVertices.ToArray(), - RawPenetratingVertices = rawVertices.ToArray(), - DebugInfo = scaleDebugInfo - }; - } - catch (System.Exception ex) - { - Debug.LogException(ex); - return ErrorResult($"検出処理で予期せぬエラー: {ex.Message}"); - } - } - - private static ScaleDebugInfo AnalyzeScaleHierarchy(SkinnedMeshRenderer bodyRenderer, Transform clothingTransform) - { - return new ScaleDebugInfo - { - BodyScale = bodyRenderer.transform.lossyScale, - ClothingScale = clothingTransform.lossyScale, - ScaleAnalysisLog = "簡素化されたスケール処理を使用中" - }; - } - - private static void LogScaleAnalysis(ScaleDebugInfo debugInfo) - { - Debug.Log($"[PenetrationDetectionCore] {debugInfo.ScaleAnalysisLog}"); - } - - private static VertexData GetBodyVertexData(SkinnedMeshRenderer bodyRenderer) - { - Mesh bakedBodyMesh = null; - try - { - bakedBodyMesh = new Mesh(); - bodyRenderer.BakeMesh(bakedBodyMesh); - - if (bakedBodyMesh.vertexCount == 0) - { - Debug.LogError("[PenetrationDetectionCore] Body BakeMesh vertex count is 0."); - return new VertexData(); - } - - Vector3[] localVertices = bakedBodyMesh.vertices; - Vector3[] localNormals = bakedBodyMesh.normals; - Matrix4x4 localToWorld = bodyRenderer.transform.localToWorldMatrix; - - var (worldVerts, worldNorms) = TransformToWorldSpace(localVertices, localNormals, localToWorld); - - return new VertexData - { - WorldVertices = worldVerts, - WorldNormals = worldNorms, - RawWorldVertices = worldVerts - }; - } - finally - { - if (bakedBodyMesh != null) Object.DestroyImmediate(bakedBodyMesh); - } - } - - private static VertexData GetClothingVertexData(Mesh clothingMesh, Transform clothingTransform) - { - Vector3[] localVertices = null; - Vector3[] localNormals = null; - - if (!clothingMesh.isReadable) - { - Debug.LogWarning($"[PenetrationDetectionCore] Clothing mesh '{clothingMesh.name}' はRead/Write Enabledではありません。"); - Debug.LogWarning("[PenetrationDetectionCore] 解決策: インポート設定でRead/Write Enabledにチェックを入れてください。"); - Debug.LogWarning("[PenetrationDetectionCore] また、SkinnedMeshRendererコンポーネントがある場合はBakeMeshを試行します。"); - - var clothingSkinnedRenderer = clothingTransform.GetComponent(); - if (clothingSkinnedRenderer != null) - { - Debug.Log("[PenetrationDetectionCore] SkinnedMeshRendererが見つかりました。BakeMeshを使用します。"); - Mesh bakedClothingMesh = null; - try - { - bakedClothingMesh = new Mesh(); - clothingSkinnedRenderer.BakeMesh(bakedClothingMesh); - - if (bakedClothingMesh.vertexCount > 0) - { - localVertices = bakedClothingMesh.vertices; - localNormals = bakedClothingMesh.normals; - Debug.Log($"[PenetrationDetectionCore] BakeMeshで取得: {localVertices.Length}個の頂点"); - } - else - { - Debug.LogError("[PenetrationDetectionCore] BakeMeshの結果が空でした。"); - } - } - catch (System.Exception ex) - { - Debug.LogError($"[PenetrationDetectionCore] BakeMesh失敗: {ex.Message}"); - } - finally - { - if (bakedClothingMesh != null) Object.DestroyImmediate(bakedClothingMesh); - } - } - - if (localVertices == null) - { - Debug.LogError("[PenetrationDetectionCore] Clothingメッシュからデータを取得できませんでした。"); - return new VertexData(); - } - } - else - { - if (clothingMesh.vertexCount == 0) - { - Debug.LogError("[PenetrationDetectionCore] Clothing mesh vertex count is 0."); - return new VertexData(); - } - - localVertices = clothingMesh.vertices; - localNormals = clothingMesh.normals; - Debug.Log($"[PenetrationDetectionCore] 通常の方法で取得: {localVertices.Length}個の頂点"); - } - - Matrix4x4 localToWorld = clothingTransform.localToWorldMatrix; - var (worldVerts, worldNorms) = TransformToWorldSpace(localVertices, localNormals, localToWorld); - - return new VertexData - { - WorldVertices = worldVerts, - WorldNormals = worldNorms - }; - } - - private static (Vector3[] worldVertices, Vector3[] worldNormals) TransformToWorldSpace( - Vector3[] localVertices, Vector3[] localNormals, Matrix4x4 localToWorldMatrix) - { - int vertexCount = localVertices.Length; - var worldVertices = new Vector3[vertexCount]; - var worldNormals = new Vector3[vertexCount]; - bool hasValidNormals = localNormals != null && localNormals.Length == vertexCount; - - for (int i = 0; i < vertexCount; i++) - { - worldVertices[i] = localToWorldMatrix.MultiplyPoint3x4(localVertices[i]); - - if (hasValidNormals && localNormals[i].sqrMagnitude > VectorMagnitudeThreshold * VectorMagnitudeThreshold) - { - Vector3 worldNormal = localToWorldMatrix.MultiplyVector(localNormals[i]); - worldNormals[i] = worldNormal.sqrMagnitude > VectorMagnitudeThreshold * VectorMagnitudeThreshold - ? worldNormal.normalized : Vector3.zero; - } - else - { - worldNormals[i] = Vector3.zero; - } - } - - return (worldVertices, worldNormals); - } - - private static (List penetratingIndices, List penetratingVertices, List rawVertices) - PerformPenetrationDetectionLogic( - VertexData bodyData, VertexData clothingData, - float penetrationThreshold, float dotThreshold) - { - var penetratingIndices = new List(); - var penetratingVertices = new List(); - var rawVertices = new List(); - - float cellSize = Mathf.Max(penetrationThreshold * SpatialHashCellSizeMultiplier, VectorMagnitudeThreshold * 10f); - var clothingSpatialHash = BuildSpatialHash(clothingData.WorldVertices, cellSize); - - Debug.Log($"[PenetrationDetectionCore] 空間ハッシュセルサイズ: {cellSize:F6}, ハッシュエントリ数: {clothingSpatialHash.Count}"); - - int totalChecked = 0; - int totalNearbyFound = 0; - - for (int i = 0; i < bodyData.WorldVertices.Length; i++) - { - Vector3 currentBodyVertex = bodyData.WorldVertices[i]; - Vector3 currentBodyNormal = bodyData.WorldNormals[i]; - - if (currentBodyNormal.sqrMagnitude < VectorMagnitudeThreshold * VectorMagnitudeThreshold) continue; - - totalChecked++; - - var nearbyClothingIndices = GetNearbyVerticesFromSpatialHash(clothingSpatialHash, currentBodyVertex, cellSize); - if (nearbyClothingIndices.Count > 0) - { - totalNearbyFound++; - } - - bool isPenetratingThisVertex = false; - foreach (int clothingIndex in nearbyClothingIndices) - { - Vector3 clothingVertex = clothingData.WorldVertices[clothingIndex]; - Vector3 vectorToClothing = clothingVertex - currentBodyVertex; - float distanceSqr = vectorToClothing.sqrMagnitude; - - if (distanceSqr < penetrationThreshold * penetrationThreshold) - { - float distance = Mathf.Sqrt(distanceSqr); - Vector3 penetrationDirection = distance > VectorMagnitudeThreshold ? - vectorToClothing.normalized : currentBodyNormal; - - float dotProduct = Vector3.Dot(currentBodyNormal, penetrationDirection); - - if (dotProduct > dotThreshold || - (dotProduct > LooseDotProductThreshold && distance < penetrationThreshold * CloseProximityFactor)) - { - isPenetratingThisVertex = true; - break; - } - } - } - - if (isPenetratingThisVertex) - { - penetratingIndices.Add(i); - penetratingVertices.Add(currentBodyVertex); - if (bodyData.RawWorldVertices != null && i < bodyData.RawWorldVertices.Length) - { - rawVertices.Add(bodyData.RawWorldVertices[i]); - } - else - { - rawVertices.Add(currentBodyVertex); - } - } - } - - Debug.Log($"[PenetrationDetectionCore] 詳細統計 - チェック対象頂点: {totalChecked}, 近傍頂点が見つかった数: {totalNearbyFound}"); - - return (penetratingIndices, penetratingVertices, rawVertices); - } - - private static Dictionary> BuildSpatialHash(Vector3[] vertices, float cellSize) - { - var map = new Dictionary>(); - - for (int i = 0; i < vertices.Length; i++) - { - var cell = new Vector3Int( - Mathf.FloorToInt(vertices[i].x / cellSize), - Mathf.FloorToInt(vertices[i].y / cellSize), - Mathf.FloorToInt(vertices[i].z / cellSize) - ); - - if (!map.TryGetValue(cell, out var list)) - { - list = new List(); - map[cell] = list; - } - - list.Add(i); - } - - return map; - } - - private static List GetNearbyVerticesFromSpatialHash( - Dictionary> spatialHash, Vector3 position, float cellSize) - { - var nearby = new List(); - var centerCell = new Vector3Int( - Mathf.FloorToInt(position.x / cellSize), - Mathf.FloorToInt(position.y / cellSize), - Mathf.FloorToInt(position.z / cellSize) - ); - - for (int xOff = -1; xOff <= 1; xOff++) - { - for (int yOff = -1; yOff <= 1; yOff++) - { - for (int zOff = -1; zOff <= 1; zOff++) - { - if (spatialHash.TryGetValue(centerCell + new Vector3Int(xOff, yOff, zOff), out var list)) - { - nearby.AddRange(list); - } - } - } - } - - return nearby; - } - - private static bool ValidateInput(SkinnedMeshRenderer body, Mesh clothing, Transform clothingT) - { - if (body == null || body.sharedMesh == null || !body.sharedMesh.isReadable) - { - Debug.LogError("[PenetrationDetectionCore] Body SMR or its mesh is invalid/unreadable."); - return false; - } - - if (clothing == null) - { - Debug.LogError("[PenetrationDetectionCore] Clothing mesh is null."); - return false; - } - - if (clothingT == null) - { - Debug.LogError("[PenetrationDetectionCore] Clothing transform is null."); - return false; - } - - if (!clothing.isReadable) - { - Debug.LogWarning($"[PenetrationDetectionCore] Clothing mesh '{clothing.name}' のRead/Write Enabledが無効です。代替手段を試行します。"); - } - - return true; - } - - private static DetectionResult ErrorResult(string message) - { - return new DetectionResult - { - IsSuccessful = false, - ErrorMessage = message, - PenetratingIndices = System.Array.Empty(), - PenetratingVertices = System.Array.Empty(), - RawPenetratingVertices = System.Array.Empty() - }; - } - } -} diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs.meta b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs.meta deleted file mode 100644 index fb9e1b85d..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationDetectionCore.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8ce010e4de1c8e24aa5825a79dd41d54 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs deleted file mode 100644 index 9c7f928b0..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs +++ /dev/null @@ -1,347 +0,0 @@ -using UnityEngine; -using System.Collections.Generic; -using System.Linq; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -namespace StudioKafka.MeshSyncPro.Runtime -{ - public static class PenetrationFixEngine - { - private static Dictionary _originalMeshCache = new Dictionary(); - private static Dictionary _rendererCache = new Dictionary(); - - #region レガシーAPI(Undo対応版) - - public static void FixPenetration( - SkinnedMeshRenderer targetRenderer, - int[] penetratingIndices, - float pushDistance, - int smoothingIterations) - { - if (targetRenderer == null || targetRenderer.sharedMesh == null || penetratingIndices == null || penetratingIndices.Length == 0) - { - Debug.LogWarning("[PenetrationFixEngine] Basic fix に対する入力が無効です。"); - return; - } - - Debug.Log($"[PenetrationFixEngine] Basic Fix 開始: {targetRenderer.name}, 対象頂点数: {penetratingIndices.Length}"); - - var meshInstanceId = RegisterMeshForUndo(targetRenderer, "Fix Mesh Penetration (Basic)"); - - Mesh mesh = targetRenderer.sharedMesh; - Vector3[] vertices = mesh.vertices; - Vector3[] normals = mesh.normals; - - if (normals.Length != vertices.Length) - { - mesh.RecalculateNormals(); - normals = mesh.normals; - } - - foreach (int index in penetratingIndices) - { - if (index >= 0 && index < vertices.Length && index < normals.Length) - { - Vector3 normal = normals[index]; - if (normal.sqrMagnitude > 0.000001f) - { - vertices[index] -= normal.normalized * pushDistance; - } - } - } - - if (smoothingIterations > 0) - { - ApplySmoothing(ref vertices, mesh.triangles, penetratingIndices, smoothingIterations); - } - - ApplyMeshChanges(mesh, vertices); - Debug.Log($"[PenetrationFixEngine] Basic Fix 完了: {penetratingIndices.Length} 個の頂点を修正しました。"); - } - - public static void FixPenetrationAdvanced( - SkinnedMeshRenderer targetRenderer, - int[] penetratingIndices, - float pushDistance, - float influenceRadiusSteps, - int smoothingIterations, - float smoothingFactor) - { - if (targetRenderer == null || targetRenderer.sharedMesh == null || penetratingIndices == null || penetratingIndices.Length == 0) - { - Debug.LogWarning("[PenetrationFixEngine] Advanced fix に対する入力が無効です。"); - return; - } - - Debug.Log($"[PenetrationFixEngine] Advanced Fix 開始: {targetRenderer.name}, 対象頂点数: {penetratingIndices.Length}"); - - var meshInstanceId = RegisterMeshForUndo(targetRenderer, "Fix Mesh Penetration (Advanced)"); - - Mesh mesh = targetRenderer.sharedMesh; - Vector3[] vertices = mesh.vertices; - Vector3[] normals = mesh.normals; - - if (normals.Length != vertices.Length) - { - mesh.RecalculateNormals(); - normals = mesh.normals; - } - - var adjacencyMap = BuildVertexAdjacencyMap(mesh.triangles, vertices.Length); - var influencedVertices = new Dictionary(); - - foreach (int penetratingIndex in penetratingIndices) - { - Queue<(int index, int step)> queue = new Queue<(int, int)>(); - queue.Enqueue((penetratingIndex, 0)); - HashSet visited = new HashSet { penetratingIndex }; - influencedVertices[penetratingIndex] = 1.0f; - - while (queue.Count > 0) - { - var current = queue.Dequeue(); - if (current.step >= (int)influenceRadiusSteps) continue; - - if (adjacencyMap.TryGetValue(current.index, out var neighbors)) - { - foreach (int neighborIndex in neighbors) - { - if (visited.Add(neighborIndex)) - { - float influence = (influenceRadiusSteps <= 0) ? 1.0f : - (1.0f - (float)(current.step + 1) / (influenceRadiusSteps + 1.0f)); - - if (!influencedVertices.ContainsKey(neighborIndex) || influence > influencedVertices[neighborIndex]) - { - influencedVertices[neighborIndex] = influence; - } - - queue.Enqueue((neighborIndex, current.step + 1)); - } - } - } - } - } - - foreach (var pair in influencedVertices) - { - int index = pair.Key; - float influence = pair.Value; - - if (index >= 0 && index < vertices.Length && index < normals.Length) - { - Vector3 normal = normals[index]; - if (normal.sqrMagnitude > 0.000001f) - { - vertices[index] -= normal.normalized * (pushDistance * influence); - } - } - } - - if (smoothingIterations > 0) - { - ApplyAdvancedSmoothing(ref vertices, adjacencyMap, influencedVertices.Keys.ToArray(), smoothingIterations, smoothingFactor); - } - - ApplyMeshChanges(mesh, vertices); - Debug.Log($"[PenetrationFixEngine] Advanced Fix 完了。影響を受けた頂点数: {influencedVertices.Count}"); - } - - #endregion - - #region Undo対応メッシュ管理システム - - private static int RegisterMeshForUndo(SkinnedMeshRenderer renderer, string undoName) - { - var originalMesh = renderer.sharedMesh; - var meshInstanceId = originalMesh.GetInstanceID(); - - if (_originalMeshCache.ContainsKey(meshInstanceId)) - { - return meshInstanceId; - } - -#if UNITY_EDITOR - var meshBackup = Object.Instantiate(originalMesh); - meshBackup.name = originalMesh.name + "_UndoBackup"; - - _originalMeshCache[meshInstanceId] = meshBackup; - _rendererCache[meshInstanceId] = renderer; - - var workingMesh = Object.Instantiate(originalMesh); - workingMesh.name = originalMesh.name + "_Working"; - - Undo.RecordObject(renderer, undoName); - renderer.sharedMesh = workingMesh; - - Undo.undoRedoPerformed -= OnUndoRedoPerformed; - Undo.undoRedoPerformed += OnUndoRedoPerformed; -#endif - - return meshInstanceId; - } - - private static void OnUndoRedoPerformed() - { -#if UNITY_EDITOR - var keysToRemove = new List(); - - foreach (var kvp in _rendererCache) - { - var meshInstanceId = kvp.Key; - var renderer = kvp.Value; - - if (renderer == null) - { - keysToRemove.Add(meshInstanceId); - continue; - } - - if (_originalMeshCache.TryGetValue(meshInstanceId, out var originalMesh)) - { - if (renderer.sharedMesh != null && renderer.sharedMesh.name.Contains("_Working")) - { - Object.DestroyImmediate(renderer.sharedMesh); - } - - renderer.sharedMesh = originalMesh; - keysToRemove.Add(meshInstanceId); - Debug.Log($"[PenetrationFixEngine] Undo実行: {renderer.name} のメッシュを元の状態に復元しました"); - } - } - - foreach (var key in keysToRemove) - { - if (_originalMeshCache.ContainsKey(key)) - { - _originalMeshCache.Remove(key); - } - _rendererCache.Remove(key); - } - - SceneView.RepaintAll(); -#endif - } - - private static void ApplyMeshChanges(Mesh mesh, Vector3[] vertices) - { - mesh.vertices = vertices; - mesh.RecalculateNormals(); - mesh.RecalculateBounds(); - -#if UNITY_EDITOR - EditorUtility.SetDirty(mesh); -#endif - } - - #endregion - - #region ヘルパーメソッド - - private static void ApplySmoothing(ref Vector3[] vertices, int[] triangles, int[] targetIndices, int iterations) - { - var adjacencyMap = BuildVertexAdjacencyMap(triangles, vertices.Length); - var targetVertexSet = new HashSet(targetIndices); - - for (int iter = 0; iter < iterations; iter++) - { - Vector3[] tempVertices = (Vector3[])vertices.Clone(); - - foreach (int index in targetVertexSet) - { - if (adjacencyMap.TryGetValue(index, out var neighbors) && neighbors.Count > 0) - { - Vector3 averagePos = vertices[index]; - foreach (int neighborIdx in neighbors) averagePos += vertices[neighborIdx]; - tempVertices[index] = averagePos / (neighbors.Count + 1); - } - } - - vertices = tempVertices; - } - } - - private static void ApplyAdvancedSmoothing(ref Vector3[] vertices, Dictionary> adjacencyMap, - int[] targetIndices, int iterations, float smoothingFactor) - { - var smoothingTargetIndices = new HashSet(targetIndices); - - for (int iter = 0; iter < iterations; iter++) - { - Vector3[] tempVertices = (Vector3[])vertices.Clone(); - - foreach (int index in smoothingTargetIndices) - { - if (adjacencyMap.TryGetValue(index, out var neighbors) && neighbors.Count > 0) - { - Vector3 averagePos = Vector3.zero; - foreach (int neighborIdx in neighbors) averagePos += vertices[neighborIdx]; - averagePos /= neighbors.Count; - - tempVertices[index] = Vector3.Lerp(vertices[index], averagePos, smoothingFactor); - } - } - - vertices = tempVertices; - } - } - - private static Dictionary> BuildVertexAdjacencyMap(int[] triangles, int vertexCount) - { - var map = new Dictionary>(); - - for (int i = 0; i < vertexCount; i++) - map[i] = new List(); - - for (int i = 0; i < triangles.Length; i += 3) - { - int v0 = triangles[i], v1 = triangles[i + 1], v2 = triangles[i + 2]; - - if (v0 < vertexCount && v1 < vertexCount && v2 < vertexCount) - { - if (!map[v0].Contains(v1)) map[v0].Add(v1); - if (!map[v0].Contains(v2)) map[v0].Add(v2); - if (!map[v1].Contains(v0)) map[v1].Add(v0); - if (!map[v1].Contains(v2)) map[v1].Add(v2); - if (!map[v2].Contains(v0)) map[v2].Add(v0); - if (!map[v2].Contains(v1)) map[v2].Add(v1); - } - } - - return map; - } - - public static void ClearCache() - { -#if UNITY_EDITOR - foreach (var kvp in _rendererCache) - { - var renderer = kvp.Value; - if (renderer != null && renderer.sharedMesh != null && renderer.sharedMesh.name.Contains("_Working")) - { - Object.DestroyImmediate(renderer.sharedMesh); - } - } - - foreach (var backupMesh in _originalMeshCache.Values) - { - if (backupMesh != null) - { - Object.DestroyImmediate(backupMesh); - } - } - - _originalMeshCache.Clear(); - _rendererCache.Clear(); - - Undo.undoRedoPerformed -= OnUndoRedoPerformed; -#endif - Debug.Log("[PenetrationFixEngine] キャッシュとUndoシステムをクリアしました"); - } - - #endregion - } -} diff --git a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs.meta b/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs.meta deleted file mode 100644 index 6841069f8..000000000 --- a/Assets/External/_StudioKafka/MeshSyncPro/Runtime/PenetrationFixEngine.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c579fa45e59c3e746a8c2fc6079cb557 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing.meta index dc5caf2f9..f4483b117 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e376eb135d53657469cfbfdacb918d3d +guid: abaa9664835211241ab689743221df33 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources.meta index fc44a55b8..515e106fd 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 83715878d3a8db441aa5636641db69a3 +guid: cb3a0337f777b224ba3065b7f258ab59 folderAsset: yes -timeCreated: 1476176392 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors.meta deleted file mode 100644 index 2be84db37..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e7358848dd8737c459f4636f1c075835 -folderAsset: yes -timeCreated: 1460361782 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute deleted file mode 100644 index da7507bb4..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute +++ /dev/null @@ -1,91 +0,0 @@ -#include "UnityCG.cginc" - -RWStructuredBuffer _Histogram; -Texture2D _Source; - -CBUFFER_START (Params) - uint _IsLinear; - float4 _Res; - uint4 _Channels; -CBUFFER_END - -groupshared uint4 gs_histogram[256]; - -#define GROUP_SIZE 16 - -#pragma kernel KHistogramGather -[numthreads(GROUP_SIZE, GROUP_SIZE,1)] -void KHistogramGather(uint2 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID) -{ - const uint localThreadId = groupThreadId.y * GROUP_SIZE + groupThreadId.x; - - if (localThreadId < 256) - gs_histogram[localThreadId] = uint4(0, 0, 0, 0); - - GroupMemoryBarrierWithGroupSync(); - - if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) - { - // We want a gamma histogram (like Photoshop & all) - float3 color = saturate(_Source[dispatchThreadId].xyz); - if (_IsLinear > 0) - color = LinearToGammaSpace(color); - - // Convert color & luminance to histogram bin - uint3 idx_c = (uint3)(round(color * 255.0)); - uint idx_l = (uint)(round(dot(color.rgb, float3(0.2125, 0.7154, 0.0721)) * 255.0)); - - // Fill the group shared histogram - if (_Channels.x > 0u) InterlockedAdd(gs_histogram[idx_c.x].x, 1); // Red - if (_Channels.y > 0u) InterlockedAdd(gs_histogram[idx_c.y].y, 1); // Green - if (_Channels.z > 0u) InterlockedAdd(gs_histogram[idx_c.z].z, 1); // Blue - if (_Channels.w > 0u) InterlockedAdd(gs_histogram[idx_l].w, 1); // Luminance - } - - GroupMemoryBarrierWithGroupSync(); - - // Merge - if (localThreadId < 256) - { - uint4 h = gs_histogram[localThreadId]; - if (_Channels.x > 0u && h.x > 0) InterlockedAdd(_Histogram[localThreadId].x, h.x); // Red - if (_Channels.y > 0u && h.y > 0) InterlockedAdd(_Histogram[localThreadId].y, h.y); // Green - if (_Channels.z > 0u && h.z > 0) InterlockedAdd(_Histogram[localThreadId].z, h.z); // Blue - if (_Channels.w > 0u && h.w > 0) InterlockedAdd(_Histogram[localThreadId].w, h.w); // Luminance - } -} - -// Scaling pass -groupshared uint4 gs_pyramid[256]; - -#pragma kernel KHistogramScale -[numthreads(16,16,1)] -void KHistogramScale(uint2 groupThreadId : SV_GroupThreadID) -{ - const uint localThreadId = groupThreadId.y * 16 + groupThreadId.x; - gs_pyramid[localThreadId] = _Histogram[localThreadId]; - - GroupMemoryBarrierWithGroupSync(); - - // Parallel reduction to find the max value - UNITY_UNROLL - for(uint i = 256 >> 1; i > 0; i >>= 1) - { - if(localThreadId < i) - gs_pyramid[localThreadId] = max(gs_pyramid[localThreadId], gs_pyramid[localThreadId + i]); - - GroupMemoryBarrierWithGroupSync(); - } - - // Actual scaling - float4 factor = _Res.y / (float4)gs_pyramid[0]; - _Histogram[localThreadId] = (uint4)round(_Histogram[localThreadId] * factor); -} - -#pragma kernel KHistogramClear -[numthreads(GROUP_SIZE, GROUP_SIZE, 1)] -void KHistogramClear(uint2 dispatchThreadId : SV_DispatchThreadID) -{ - if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) - _Histogram[dispatchThreadId.y * _Res.x + dispatchThreadId.x] = uint4(0u, 0u, 0u, 0u); -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta deleted file mode 100644 index 84966e208..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 51b7e4b4448c98f4a849081110fd6212 -timeCreated: 1459956391 -licenseType: Store -ComputeShaderImporter: - currentAPIMask: 4 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/HistogramCompute.compute" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader deleted file mode 100644 index c69cf759b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader +++ /dev/null @@ -1,141 +0,0 @@ -Shader "Hidden/Post FX/Monitors/Histogram Render" -{ - SubShader - { - ZTest Always Cull Off ZWrite Off - Fog { Mode off } - - CGINCLUDE - - #pragma fragmentoption ARB_precision_hint_fastest - #pragma target 5.0 - #include "UnityCG.cginc" - - StructuredBuffer _Histogram; - float2 _Size; - uint _Channel; - float4 _ColorR; - float4 _ColorG; - float4 _ColorB; - float4 _ColorL; - - float4 FragSingleChannel(v2f_img i) : SV_Target - { - const float4 COLORS[4] = { _ColorR, _ColorG, _ColorB, _ColorL }; - - float remapI = i.uv.x * 255.0; - uint index = floor(remapI); - float delta = frac(remapI); - float v1 = _Histogram[index][_Channel]; - float v2 = _Histogram[min(index + 1, 255)][_Channel]; - float h = v1 * (1.0 - delta) + v2 * delta; - uint y = (uint)round(i.uv.y * _Size.y); - - float4 color = float4(0.1, 0.1, 0.1, 1.0); - float fill = step(y, h); - color = lerp(color, COLORS[_Channel], fill); - return color; - } - - float4 FragRgbMerged(v2f_img i) : SV_Target - { - const float4 COLORS[3] = { _ColorR, _ColorG, _ColorB }; - - float4 targetColor = float4(0.1, 0.1, 0.1, 1.0); - float4 emptyColor = float4(0.0, 0.0, 0.0, 1.0); - - float remapI = i.uv.x * 255.0; - uint index = floor(remapI); - float delta = frac(remapI); - - for (int j = 0; j < 3; j++) - { - float v1 = _Histogram[index][j]; - float v2 = _Histogram[min(index + 1, 255)][j]; - float h = v1 * (1.0 - delta) + v2 * delta; - uint y = (uint)round(i.uv.y * _Size.y); - float fill = step(y, h); - float4 color = lerp(emptyColor, COLORS[j], fill); - targetColor += color; - } - - return saturate(targetColor); - } - - float4 FragRgbSplitted(v2f_img i) : SV_Target - { - const float4 COLORS[3] = {_ColorR, _ColorG, _ColorB}; - - const float limitB = round(_Size.y / 3.0); - const float limitG = limitB * 2; - - float4 color = float4(0.1, 0.1, 0.1, 1.0); - uint channel; - float offset; - - if (i.pos.y < limitB) - { - channel = 2; - offset = 0.0; - } - else if (i.pos.y < limitG) - { - channel = 1; - offset = limitB; - } - else - { - channel = 0; - offset = limitG; - } - - float remapI = i.uv.x * 255.0; - uint index = floor(remapI); - float delta = frac(remapI); - float v1 = offset + _Histogram[index][channel] / 3.0; - float v2 = offset + _Histogram[min(index + 1, 255)][channel] / 3.0; - float h = v1 * (1.0 - delta) + v2 * delta; - uint y = (uint)round(i.uv.y * _Size.y); - - float fill = step(y, h); - color = lerp(color, COLORS[channel], fill); - return color; - } - - ENDCG - - // (0) Channel - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragSingleChannel - - ENDCG - } - - // (1) RGB merged - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragRgbMerged - - ENDCG - } - - // (2) RGB splitted - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragRgbSplitted - - ENDCG - } - } - FallBack off -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta deleted file mode 100644 index 688c2dc7a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 965efa32cf2345647a1c987546e08f86 -timeCreated: 1459956391 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/HistogramRender.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader deleted file mode 100644 index 3ff1ca659..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader +++ /dev/null @@ -1,76 +0,0 @@ -Shader "Hidden/Post FX/Monitors/Parade Render" -{ - SubShader - { - ZTest Always Cull Off ZWrite Off - Fog { Mode off } - - CGINCLUDE - - #pragma fragmentoption ARB_precision_hint_fastest - #pragma target 5.0 - #include "UnityCG.cginc" - - StructuredBuffer _Waveform; - float4 _Size; - float _Exposure; - - float3 Tonemap(float3 x, float exposure) - { - const float a = 6.2; - const float b = 0.5; - const float c = 1.7; - const float d = 0.06; - x *= exposure; - x = max((0.0).xxx, x - (0.004).xxx); - x = (x * (a * x + b)) / (x * (a * x + c) + d); - return x * x; - } - - float4 FragParade(v2f_img i) : SV_Target - { - const float3 red = float3(1.8, 0.03, 0.02); - const float3 green = float3(0.02, 1.3, 0.05); - const float3 blue = float3(0.0, 0.45, 1.75); - float3 color = float3(0.0, 0.0, 0.0); - - const uint limitR = _Size.x / 3; - const uint limitG = limitR * 2; - - if (i.pos.x < (float)limitR) - { - uint2 uvI = i.pos.xy; - color = _Waveform[uvI.y + uvI.x * _Size.y].r * red; - } - else if (i.pos.x < (float)limitG) - { - uint2 uvI = uint2(i.pos.x - limitR, i.pos.y); - color = _Waveform[uvI.y + uvI.x * _Size.y].g * green; - } - else - { - uint2 uvI = uint2(i.pos.x - limitG, i.pos.y); - color = _Waveform[uvI.y + uvI.x * _Size.y].b * blue; - } - - color = Tonemap(color, _Exposure); - color += (0.1).xxx; - - return float4(saturate(color), 1.0); - } - - ENDCG - - // (0) - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragParade - - ENDCG - } - } - FallBack off -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta deleted file mode 100644 index 9835fd5eb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 5ae1bfc1dd20ac04e8b74aa0f2f12eea -timeCreated: 1459956391 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/ParadeRender.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute deleted file mode 100644 index c5c61d0d3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute +++ /dev/null @@ -1,49 +0,0 @@ -#include "UnityCG.cginc" - -RWStructuredBuffer _Vectorscope; -Texture2D _Source; - -CBUFFER_START (Params) - uint _IsLinear; - float4 _Res; -CBUFFER_END - -#define GROUP_SIZE 32 - -float3 RgbToYUV(float3 c) -{ - float Y = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; - float U = -0.169 * c.r - 0.331 * c.g + 0.500 * c.b; - float V = 0.500 * c.r - 0.419 * c.g - 0.081 * c.b; - return float3(Y, U, V); -} - -#pragma kernel KVectorscope -[numthreads(GROUP_SIZE,GROUP_SIZE,1)] -void KVectorscope(uint2 dispatchThreadId : SV_DispatchThreadID) -{ - if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) - { - float3 color = saturate(_Source[dispatchThreadId].xyz); - if (_IsLinear > 0) - color = LinearToGammaSpace(color); - - float3 yuv = RgbToYUV(color); - - if (length(yuv.yz) > 0.49) - yuv.yz = normalize(yuv.yz) * 0.49; - - yuv.yz += (0.5).xx; - uint u = (uint)floor(yuv.y * _Res.x); - uint v = (uint)floor(yuv.z * _Res.y); - InterlockedAdd(_Vectorscope[v * _Res.x + u], 1); - } -} - -#pragma kernel KVectorscopeClear -[numthreads(GROUP_SIZE,GROUP_SIZE,1)] -void KVectorscopeClear(uint2 dispatchThreadId : SV_DispatchThreadID) -{ - if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) - _Vectorscope[dispatchThreadId.y * _Res.x + dispatchThreadId.x] = 0u; -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta deleted file mode 100644 index 5c4df3c95..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 45de9ff58691e934c9810dc23de2ba50 -timeCreated: 1459956391 -licenseType: Store -ComputeShaderImporter: - currentAPIMask: 4 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/VectorscopeCompute.compute" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader deleted file mode 100644 index 62a7a0377..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader +++ /dev/null @@ -1,101 +0,0 @@ -Shader "Hidden/Post FX/Monitors/Vectorscope Render" -{ - SubShader - { - ZTest Always Cull Off ZWrite Off - Fog { Mode off } - - CGINCLUDE - - #pragma fragmentoption ARB_precision_hint_fastest - #pragma target 5.0 - #include "UnityCG.cginc" - - StructuredBuffer _Vectorscope; - float2 _Size; - float _Exposure; - - float Tonemap(float x, float exposure) - { - const float a = 6.2; - const float b = 0.5; - const float c = 1.7; - const float d = 0.06; - x *= exposure; - x = max(0.0, x - 0.004); - x = (x * (a * x + b)) / (x * (a * x + c) + d); - return x * x; - } - - float3 YuvToRgb(float3 c) - { - float R = c.x + 0.000 * c.y + 1.403 * c.z; - float G = c.x - 0.344 * c.y - 0.714 * c.z; - float B = c.x - 1.773 * c.y + 0.000 * c.z; - return float3(R, G, B); - } - - float4 FragBackground(v2f_img i) : SV_Target - { - i.uv.x = 1.0 - i.uv.x; - float2 uv = i.uv - (0.5).xx; - float3 c = YuvToRgb(float3(0.5, uv.x, uv.y)); - - float dist = sqrt(dot(uv, uv)); - float delta = fwidth(dist); - float alphaOut = 1.0 - smoothstep(0.5 - delta, 0.5 + delta, dist); - float alphaIn = smoothstep(0.495 - delta, 0.495 + delta, dist); - - uint2 uvI = i.pos.xy; - uint v = _Vectorscope[uvI.x + uvI.y * _Size.x]; - float vt = saturate(Tonemap(v, _Exposure)); - - float4 color = float4(lerp(c, (0.0).xxx, vt), alphaOut); - color.rgb += alphaIn; - return color; - } - - float4 FragNoBackground(v2f_img i) : SV_Target - { - i.uv.x = 1.0 - i.uv.x; - float2 uv = i.uv - (0.5).xx; - - float dist = sqrt(dot(uv, uv)); - float delta = fwidth(dist); - float alphaOut = 1.0 - smoothstep(0.5 - delta, 0.5 + delta, dist); - float alphaIn = smoothstep(0.495 - delta, 0.495 + delta, dist); - - uint2 uvI = i.pos.xy; - uint v = _Vectorscope[uvI.x + uvI.y * _Size.x]; - float vt = saturate(Tonemap(v, _Exposure)); - - float4 color = float4((1.0).xxx, vt + alphaIn * alphaOut); - return color; - } - - ENDCG - - // (0) - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragBackground - - ENDCG - } - - // (1) - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragNoBackground - - ENDCG - } - } - FallBack off -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta deleted file mode 100644 index 1d7135c73..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 1c4298cd35ef7834e892898e49d61ecd -timeCreated: 1461756159 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/VectorscopeRender.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute deleted file mode 100644 index cc79b1534..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute +++ /dev/null @@ -1,42 +0,0 @@ -#include "UnityCG.cginc" - -RWStructuredBuffer _Waveform; -Texture2D _Source; - -CBUFFER_START (Params) - uint _IsLinear; - uint4 _Channels; -CBUFFER_END - -#define COLUMNS 384 - -#pragma kernel KWaveform -[numthreads(1,COLUMNS,1)] -void KWaveform(uint2 dispatchThreadId : SV_DispatchThreadID) -{ - // We want a gamma corrected colors - float3 color = _Source[dispatchThreadId].rgb; - if (_IsLinear > 0u) - color = LinearToGammaSpace(color); - - color = saturate(color); - - // Convert color & luminance to histogram bins - const float kColumnsMinusOne = COLUMNS - 1.0; - uint3 idx_c = (uint3)(round(color * kColumnsMinusOne)); - uint idx_l = (uint)(round(dot(color.rgb, float3(0.2126, 0.7152, 0.0722)) * kColumnsMinusOne)); - - // A lot of atomic operations will be skipped so there's no need to over-think this one. - uint j = dispatchThreadId.x * COLUMNS; - if (_Channels.x > 0u && idx_c.x > 0u) InterlockedAdd(_Waveform[j + idx_c.x].x, 1u); // Red - if (_Channels.y > 0u && idx_c.y > 0u) InterlockedAdd(_Waveform[j + idx_c.y].y, 1u); // Green - if (_Channels.z > 0u && idx_c.z > 0u) InterlockedAdd(_Waveform[j + idx_c.z].z, 1u); // Blue - if (_Channels.w > 0u) InterlockedAdd(_Waveform[j + idx_l].w, 1u); // Luminance -} - -#pragma kernel KWaveformClear -[numthreads(1, COLUMNS, 1)] -void KWaveformClear(uint2 dispatchThreadId : SV_DispatchThreadID) -{ - _Waveform[dispatchThreadId.x * COLUMNS + dispatchThreadId.y] = uint4(0u, 0u, 0u, 0u); -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta deleted file mode 100644 index 8d710fbfc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 9d9b886f7a8fe7b4baf56624c42e3420 -timeCreated: 1459956392 -licenseType: Store -ComputeShaderImporter: - currentAPIMask: 4 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/WaveformCompute.compute" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader deleted file mode 100644 index 39cffd765..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader +++ /dev/null @@ -1,65 +0,0 @@ -Shader "Hidden/Post FX/Monitors/Waveform Render" -{ - SubShader - { - ZTest Always Cull Off ZWrite Off - Fog { Mode off } - - CGINCLUDE - - #pragma fragmentoption ARB_precision_hint_fastest - #pragma target 5.0 - #include "UnityCG.cginc" - - StructuredBuffer _Waveform; - float2 _Size; - float4 _Channels; - float _Exposure; - - float3 Tonemap(float3 x, float exposure) - { - const float a = 6.2; - const float b = 0.5; - const float c = 1.7; - const float d = 0.06; - x *= exposure; - x = max((0.0).xxx, x - (0.004).xxx); - x = (x * (a * x + b)) / (x * (a * x + c) + d); - return x * x; - } - - float4 FragWaveform(v2f_img i) : SV_Target - { - const float3 red = float3(1.4, 0.03, 0.02); - const float3 green = float3(0.02, 1.1, 0.05); - const float3 blue = float3(0.0, 0.25, 1.5); - float3 color = float3(0.0, 0.0, 0.0); - - uint2 uvI = i.pos.xy; - float4 w = _Waveform[uvI.y + uvI.x * _Size.y]; // Waveform data is stored in columns instead of rows - - color += red * w.r * _Channels.r; - color += green * w.g * _Channels.g; - color += blue * w.b * _Channels.b; - color += w.aaa * _Channels.a * 1.5; - color = Tonemap(color, _Exposure); - color += (0.1).xxx; - - return float4(saturate(color), 1.0); - } - - ENDCG - - // (0) - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragWaveform - - ENDCG - } - } - FallBack off -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta deleted file mode 100644 index bfcffbab9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 8b3e43c50424ab2428a9c172843bc66d -timeCreated: 1459956391 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/Monitors/WaveformRender.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI.meta index 2856c5348..8fe646bdd 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: df37d60cc69b7b04d9705a74938179e7 +guid: 489006cacf0da9349981fc3c2e59550b folderAsset: yes -timeCreated: 1460627771 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader deleted file mode 100644 index b4f20b275..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader +++ /dev/null @@ -1,63 +0,0 @@ -Shader "Hidden/Post FX/UI/Curve Background" -{ - CGINCLUDE - - #pragma target 3.0 - #include "UnityCG.cginc" - - float _DisabledState; - - float3 HsvToRgb(float3 c) - { - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); - } - - float4 FragHue(v2f_img i) : SV_Target - { - float3 hsv = HsvToRgb(float3(i.uv.x, 1.0, 0.2)); - float4 color = float4((0.0).xxx, 1.0); - color.rgb = lerp(color.rgb, hsv, smoothstep(0.5, 1.1, 1.0 - i.uv.y)) + lerp(color.rgb, hsv, smoothstep(0.5, 1.1, i.uv.y)); - color.rgb += (0.15).xxx; - return float4(color.rgb, color.a * _DisabledState); - } - - float4 FragSat(v2f_img i) : SV_Target - { - float4 color = float4((0.0).xxx, 1.0); - float sat = i.uv.x / 2; - color.rgb += lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, 1.0 - i.uv.y)) + lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, i.uv.y)); - color.rgb += (0.15).xxx; - return float4(color.rgb, color.a * _DisabledState); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) Hue - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragHue - - ENDCG - } - - // (1) Sat/lum - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragSat - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta deleted file mode 100644 index 1a54a1d4b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: b1b2bfb2897659e45983f0c3e7dda2c8 -timeCreated: 1460970196 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/UI/CurveBackground.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta index 4fe14a2eb..a0ab846b5 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: c0fa58091049bd24394fa15b0b6d4c5a -timeCreated: 1468326774 -licenseType: Store +guid: 938bba41fe0ac5d409a53a8b79f01856 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,49 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaIsTransparency: 1 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 2 - buildTargetSettings: [] + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/UI/MotionBlendingIcon.png" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader deleted file mode 100644 index 264c6a15a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader +++ /dev/null @@ -1,118 +0,0 @@ -Shader "Hidden/Post FX/UI/Trackball" -{ - CGINCLUDE - - #include "UnityCG.cginc" - - #define PI 3.14159265359 - #define PI2 6.28318530718 - - float _Offset; - float _DisabledState; - float2 _Resolution; // x: size, y: size / 2 - - float3 HsvToRgb(float3 c) - { - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); - } - - float4 CreateWheel(v2f_img i, float crossColor, float offsetColor) - { - const float kHueOuterRadius = 0.45; - const float kHueInnerRadius = 0.38; - const float kLumOuterRadius = 0.495; - const float kLumInnerRadius = 0.48; - - float4 color = (0.0).xxxx; - float2 uvc = i.uv - (0.5).xx; - float dist = sqrt(dot(uvc, uvc)); - float delta = fwidth(dist); - float angle = atan2(uvc.x, uvc.y); - - // Cross - { - float radius = (0.5 - kHueInnerRadius) * _Resolution.x + 1.0; - float2 pixel = (_Resolution.xx - 1.0) * i.uv + 1.0; - - float vline = step(floor(fmod(pixel.x, _Resolution.y)), 0.0); - vline *= step(radius, pixel.y) * step(pixel.y, _Resolution.x - radius); - - float hline = step(floor(fmod(pixel.y, _Resolution.y)), 0.0); - hline *= step(radius, pixel.x) * step(pixel.x, _Resolution.x - radius); - - color += hline.xxxx * (1.0).xxxx; - color += vline.xxxx * (1.0).xxxx; - color = saturate(color); - color *= half4((crossColor).xxx, 0.05); - } - - // Hue - { - float alphaOut = smoothstep(kHueOuterRadius - delta, kHueOuterRadius + delta, dist); - float alphaIn = smoothstep(kHueInnerRadius - delta, kHueInnerRadius + delta, dist); - - float hue = angle; - hue = 1.0 - ((hue > 0.0) ? hue : PI2 + hue) / PI2; - float4 c = float4(HsvToRgb(float3(hue, 1.0, 1.0)), 1.0); - color += lerp((0.0).xxxx, c, alphaIn - alphaOut); - } - - // Offset - { - float alphaOut = smoothstep(kLumOuterRadius - delta, kLumOuterRadius + delta, dist); - float alphaIn = smoothstep(kLumInnerRadius - delta, kLumInnerRadius + delta / 2, dist); - float4 c = float4((offsetColor).xxx, 1.0); - - float a = PI * _Offset; - if (_Offset >= 0 && angle < a && angle > 0.0) - c = float4((1.0).xxx, 0.5); - else if (angle > a && angle < 0.0) - c = float4((1.0).xxx, 0.5); - - color += lerp((0.0).xxxx, c, alphaIn - alphaOut); - } - - return color * _DisabledState; - } - - float4 FragTrackballDark(v2f_img i) : SV_Target - { - return CreateWheel(i, 1.0, 0.15); - } - - float4 FragTrackballLight(v2f_img i) : SV_Target - { - return CreateWheel(i, 0.0, 0.3); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) Dark skin - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragTrackballDark - - ENDCG - } - - // (1) Light skin - Pass - { - CGPROGRAM - - #pragma vertex vert_img - #pragma fragment FragTrackballLight - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader.meta deleted file mode 100644 index a6a6866aa..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor Resources/UI/Trackball.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 4bf49309c7ab9eb42a86774d2c09b4fa -timeCreated: 1460627788 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor - Resources/UI/Trackball.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor.meta deleted file mode 100644 index 11b80142e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e0e418747b892364db5c5f4451e67ede -folderAsset: yes -timeCreated: 1466586258 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes.meta deleted file mode 100644 index ed3547aa5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: cc5c690f549b4704eb992a9be781554d -folderAsset: yes -timeCreated: 1466769698 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs deleted file mode 100644 index 13e481959..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -namespace UnityEditor.PostProcessing -{ - public class PostProcessingModelEditorAttribute : Attribute - { - public readonly Type type; - public readonly bool alwaysEnabled; - - public PostProcessingModelEditorAttribute(Type type, bool alwaysEnabled = false) - { - this.type = type; - this.alwaysEnabled = alwaysEnabled; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta deleted file mode 100644 index 17cdf24b8..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c21938aa988055347a2271f03a3e731e -timeCreated: 1466769734 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models.meta deleted file mode 100644 index a00a2be97..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d5341d31985da604db4b100f174142ad -folderAsset: yes -timeCreated: 1466769808 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs deleted file mode 100644 index fef389eea..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs +++ /dev/null @@ -1,42 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = AmbientOcclusionModel.Settings; - - [PostProcessingModelEditor(typeof(AmbientOcclusionModel))] - public class AmbientOcclusionModelEditor : PostProcessingModelEditor - { - SerializedProperty m_Intensity; - SerializedProperty m_Radius; - SerializedProperty m_SampleCount; - SerializedProperty m_Downsampling; - SerializedProperty m_ForceForwardCompatibility; - SerializedProperty m_AmbientOnly; - SerializedProperty m_HighPrecision; - - public override void OnEnable() - { - m_Intensity = FindSetting((Settings x) => x.intensity); - m_Radius = FindSetting((Settings x) => x.radius); - m_SampleCount = FindSetting((Settings x) => x.sampleCount); - m_Downsampling = FindSetting((Settings x) => x.downsampling); - m_ForceForwardCompatibility = FindSetting((Settings x) => x.forceForwardCompatibility); - m_AmbientOnly = FindSetting((Settings x) => x.ambientOnly); - m_HighPrecision = FindSetting((Settings x) => x.highPrecision); - } - - public override void OnInspectorGUI() - { - EditorGUILayout.PropertyField(m_Intensity); - EditorGUILayout.PropertyField(m_Radius); - EditorGUILayout.PropertyField(m_SampleCount); - EditorGUILayout.PropertyField(m_Downsampling); - EditorGUILayout.PropertyField(m_ForceForwardCompatibility); - EditorGUILayout.PropertyField(m_HighPrecision, EditorGUIHelper.GetContent("High Precision (Forward)")); - - using (new EditorGUI.DisabledGroupScope(m_ForceForwardCompatibility.boolValue)) - EditorGUILayout.PropertyField(m_AmbientOnly, EditorGUIHelper.GetContent("Ambient Only (Deferred + HDR)")); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta deleted file mode 100644 index 1924bc738..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 9fcb710e23a5a0546a3b8b0ca28c1720 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs deleted file mode 100644 index 6f773a5c3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs +++ /dev/null @@ -1,71 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Method = AntialiasingModel.Method; - using Settings = AntialiasingModel.Settings; - - [PostProcessingModelEditor(typeof(AntialiasingModel))] - public class AntialiasingModelEditor : PostProcessingModelEditor - { - SerializedProperty m_Method; - - SerializedProperty m_FxaaPreset; - - SerializedProperty m_TaaJitterSpread; - SerializedProperty m_TaaSharpen; - SerializedProperty m_TaaStationaryBlending; - SerializedProperty m_TaaMotionBlending; - - static string[] s_MethodNames = - { - "Fast Approximate Anti-aliasing", - "Temporal Anti-aliasing" - }; - - public override void OnEnable() - { - m_Method = FindSetting((Settings x) => x.method); - - m_FxaaPreset = FindSetting((Settings x) => x.fxaaSettings.preset); - - m_TaaJitterSpread = FindSetting((Settings x) => x.taaSettings.jitterSpread); - m_TaaSharpen = FindSetting((Settings x) => x.taaSettings.sharpen); - m_TaaStationaryBlending = FindSetting((Settings x) => x.taaSettings.stationaryBlending); - m_TaaMotionBlending = FindSetting((Settings x) => x.taaSettings.motionBlending); - } - - public override void OnInspectorGUI() - { - m_Method.intValue = EditorGUILayout.Popup("Method", m_Method.intValue, s_MethodNames); - - if (m_Method.intValue == (int)Method.Fxaa) - { - EditorGUILayout.PropertyField(m_FxaaPreset); - } - else if (m_Method.intValue == (int)Method.Taa) - { - if (QualitySettings.antiAliasing > 1) - EditorGUILayout.HelpBox("Temporal Anti-Aliasing doesn't work correctly when MSAA is enabled.", MessageType.Warning); - - EditorGUILayout.LabelField("Jitter", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_TaaJitterSpread, EditorGUIHelper.GetContent("Spread")); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Blending", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_TaaStationaryBlending, EditorGUIHelper.GetContent("Stationary")); - EditorGUILayout.PropertyField(m_TaaMotionBlending, EditorGUIHelper.GetContent("Motion")); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.PropertyField(m_TaaSharpen); - } - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta deleted file mode 100644 index 21cfc5b8d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 2451939fe695c1a408ba688219837667 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/AntialiasingModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs deleted file mode 100644 index 7359627dc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs +++ /dev/null @@ -1,204 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = BloomModel.Settings; - - [PostProcessingModelEditor(typeof(BloomModel))] - public class BloomModelEditor : PostProcessingModelEditor - { - struct BloomSettings - { - public SerializedProperty intensity; - public SerializedProperty threshold; - public SerializedProperty softKnee; - public SerializedProperty radius; - public SerializedProperty antiFlicker; - } - - struct LensDirtSettings - { - public SerializedProperty texture; - public SerializedProperty intensity; - } - - BloomSettings m_Bloom; - LensDirtSettings m_LensDirt; - - public override void OnEnable() - { - m_Bloom = new BloomSettings - { - intensity = FindSetting((Settings x) => x.bloom.intensity), - threshold = FindSetting((Settings x) => x.bloom.threshold), - softKnee = FindSetting((Settings x) => x.bloom.softKnee), - radius = FindSetting((Settings x) => x.bloom.radius), - antiFlicker = FindSetting((Settings x) => x.bloom.antiFlicker) - }; - - m_LensDirt = new LensDirtSettings - { - texture = FindSetting((Settings x) => x.lensDirt.texture), - intensity = FindSetting((Settings x) => x.lensDirt.intensity) - }; - } - - public override void OnInspectorGUI() - { - EditorGUILayout.Space(); - PrepareGraph(); - DrawGraph(); - EditorGUILayout.Space(); - - EditorGUILayout.PropertyField(m_Bloom.intensity); - EditorGUILayout.PropertyField(m_Bloom.threshold, EditorGUIHelper.GetContent("Threshold (Gamma)")); - EditorGUILayout.PropertyField(m_Bloom.softKnee); - EditorGUILayout.PropertyField(m_Bloom.radius); - EditorGUILayout.PropertyField(m_Bloom.antiFlicker); - - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Dirt", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_LensDirt.texture); - EditorGUILayout.PropertyField(m_LensDirt.intensity); - EditorGUI.indentLevel--; - } - - #region Graph - - float m_GraphThreshold; - float m_GraphKnee; - float m_GraphIntensity; - - // Number of vertices in curve - const int k_CurveResolution = 48; - - // Vertex buffers - Vector3[] m_RectVertices = new Vector3[4]; - Vector3[] m_LineVertices = new Vector3[2]; - Vector3[] m_CurveVertices = new Vector3[k_CurveResolution]; - - Rect m_RectGraph; - float m_RangeX; - float m_RangeY; - - float ResponseFunction(float x) - { - var rq = Mathf.Clamp(x - m_GraphThreshold + m_GraphKnee, 0, m_GraphKnee * 2); - rq = rq * rq * 0.25f / m_GraphKnee; - return Mathf.Max(rq, x - m_GraphThreshold) * m_GraphIntensity; - } - - // Transform a point into the graph rect - Vector3 PointInRect(float x, float y) - { - x = Mathf.Lerp(m_RectGraph.x, m_RectGraph.xMax, x / m_RangeX); - y = Mathf.Lerp(m_RectGraph.yMax, m_RectGraph.y, y / m_RangeY); - return new Vector3(x, y, 0); - } - - // Draw a line in the graph rect - void DrawLine(float x1, float y1, float x2, float y2, float grayscale) - { - m_LineVertices[0] = PointInRect(x1, y1); - m_LineVertices[1] = PointInRect(x2, y2); - Handles.color = Color.white * grayscale; - Handles.DrawAAPolyLine(2.0f, m_LineVertices); - } - - // Draw a rect in the graph rect - void DrawRect(float x1, float y1, float x2, float y2, float fill, float line) - { - m_RectVertices[0] = PointInRect(x1, y1); - m_RectVertices[1] = PointInRect(x2, y1); - m_RectVertices[2] = PointInRect(x2, y2); - m_RectVertices[3] = PointInRect(x1, y2); - - Handles.DrawSolidRectangleWithOutline( - m_RectVertices, - fill < 0 ? Color.clear : Color.white * fill, - line < 0 ? Color.clear : Color.white * line - ); - } - - // Update internal state with a given bloom instance - public void PrepareGraph() - { - var bloom = (BloomModel)target; - m_RangeX = 5f; - m_RangeY = 2f; - - m_GraphThreshold = bloom.settings.bloom.thresholdLinear; - m_GraphKnee = bloom.settings.bloom.softKnee * m_GraphThreshold + 1e-5f; - - // Intensity is capped to prevent sampling errors - m_GraphIntensity = Mathf.Min(bloom.settings.bloom.intensity, 10f); - } - - // Draw the graph at the current position - public void DrawGraph() - { - using (new GUILayout.HorizontalScope()) - { - GUILayout.Space(EditorGUI.indentLevel * 15f); - m_RectGraph = GUILayoutUtility.GetRect(128, 80); - } - - // Background - DrawRect(0, 0, m_RangeX, m_RangeY, 0.1f, 0.4f); - - // Soft-knee range - DrawRect(m_GraphThreshold - m_GraphKnee, 0, m_GraphThreshold + m_GraphKnee, m_RangeY, 0.25f, -1); - - // Horizontal lines - for (var i = 1; i < m_RangeY; i++) - DrawLine(0, i, m_RangeX, i, 0.4f); - - // Vertical lines - for (var i = 1; i < m_RangeX; i++) - DrawLine(i, 0, i, m_RangeY, 0.4f); - - // Label - Handles.Label( - PointInRect(0, m_RangeY) + Vector3.right, - "Brightness Response (linear)", EditorStyles.miniLabel - ); - - // Threshold line - DrawLine(m_GraphThreshold, 0, m_GraphThreshold, m_RangeY, 0.6f); - - // Response curve - var vcount = 0; - while (vcount < k_CurveResolution) - { - var x = m_RangeX * vcount / (k_CurveResolution - 1); - var y = ResponseFunction(x); - if (y < m_RangeY) - { - m_CurveVertices[vcount++] = PointInRect(x, y); - } - else - { - if (vcount > 1) - { - // Extend the last segment to the top edge of the rect. - var v1 = m_CurveVertices[vcount - 2]; - var v2 = m_CurveVertices[vcount - 1]; - var clip = (m_RectGraph.y - v1.y) / (v2.y - v1.y); - m_CurveVertices[vcount - 1] = v1 + (v2 - v1) * clip; - } - break; - } - } - - if (vcount > 1) - { - Handles.color = Color.white * 0.9f; - Handles.DrawAAPolyLine(2.0f, vcount, m_CurveVertices); - } - } - - #endregion - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs.meta deleted file mode 100644 index 20945063f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BloomModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: a95f3f10e7e437c49ade656f531b30d2 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/BloomModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs deleted file mode 100644 index eefc102f2..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs +++ /dev/null @@ -1,106 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Mode = BuiltinDebugViewsModel.Mode; - using Settings = BuiltinDebugViewsModel.Settings; - - [PostProcessingModelEditor(typeof(BuiltinDebugViewsModel), alwaysEnabled: true)] - public class BuiltinDebugViewsEditor : PostProcessingModelEditor - { - struct DepthSettings - { - public SerializedProperty scale; - } - - struct MotionVectorsSettings - { - public SerializedProperty sourceOpacity; - public SerializedProperty motionImageOpacity; - public SerializedProperty motionImageAmplitude; - public SerializedProperty motionVectorsOpacity; - public SerializedProperty motionVectorsResolution; - public SerializedProperty motionVectorsAmplitude; - } - - SerializedProperty m_Mode; - DepthSettings m_Depth; - MotionVectorsSettings m_MotionVectors; - - public override void OnEnable() - { - m_Mode = FindSetting((Settings x) => x.mode); - - m_Depth = new DepthSettings - { - scale = FindSetting((Settings x) => x.depth.scale) - }; - - m_MotionVectors = new MotionVectorsSettings - { - sourceOpacity = FindSetting((Settings x) => x.motionVectors.sourceOpacity), - motionImageOpacity = FindSetting((Settings x) => x.motionVectors.motionImageOpacity), - motionImageAmplitude = FindSetting((Settings x) => x.motionVectors.motionImageAmplitude), - motionVectorsOpacity = FindSetting((Settings x) => x.motionVectors.motionVectorsOpacity), - motionVectorsResolution = FindSetting((Settings x) => x.motionVectors.motionVectorsResolution), - motionVectorsAmplitude = FindSetting((Settings x) => x.motionVectors.motionVectorsAmplitude), - }; - } - - public override void OnInspectorGUI() - { - EditorGUILayout.PropertyField(m_Mode); - - int mode = m_Mode.intValue; - - if (mode == (int)Mode.Depth) - { - EditorGUILayout.PropertyField(m_Depth.scale); - } - else if (mode == (int)Mode.MotionVectors) - { - EditorGUILayout.HelpBox("Switch to play mode to see motion vectors.", MessageType.Info); - - EditorGUILayout.LabelField("Source Image", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_MotionVectors.sourceOpacity, EditorGUIHelper.GetContent("Opacity")); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Motion Vectors (overlay)", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - - if (m_MotionVectors.motionImageOpacity.floatValue > 0f) - EditorGUILayout.HelpBox("Please keep opacity to 0 if you're subject to motion sickness.", MessageType.Warning); - - EditorGUILayout.PropertyField(m_MotionVectors.motionImageOpacity, EditorGUIHelper.GetContent("Opacity")); - EditorGUILayout.PropertyField(m_MotionVectors.motionImageAmplitude, EditorGUIHelper.GetContent("Amplitude")); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Motion Vectors (arrows)", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsOpacity, EditorGUIHelper.GetContent("Opacity")); - EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsResolution, EditorGUIHelper.GetContent("Resolution")); - EditorGUILayout.PropertyField(m_MotionVectors.motionVectorsAmplitude, EditorGUIHelper.GetContent("Amplitude")); - EditorGUI.indentLevel--; - } - else - { - CheckActiveEffect(mode == (int)Mode.AmbientOcclusion && !profile.ambientOcclusion.enabled, "Ambient Occlusion"); - CheckActiveEffect(mode == (int)Mode.FocusPlane && !profile.depthOfField.enabled, "Depth Of Field"); - CheckActiveEffect(mode == (int)Mode.EyeAdaptation && !profile.eyeAdaptation.enabled, "Eye Adaptation"); - CheckActiveEffect((mode == (int)Mode.LogLut || mode == (int)Mode.PreGradingLog) && !profile.colorGrading.enabled, "Color Grading"); - CheckActiveEffect(mode == (int)Mode.UserLut && !profile.userLut.enabled, "User Lut"); - } - } - - void CheckActiveEffect(bool expr, string name) - { - if (expr) - EditorGUILayout.HelpBox(string.Format("{0} isn't enabled, the debug view won't work.", name), MessageType.Warning); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta deleted file mode 100644 index 62c63ad18..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 760ffebbef2ed644c87940a699eb7fe6 -timeCreated: 1468237035 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs deleted file mode 100644 index 2337de044..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [PostProcessingModelEditor(typeof(ChromaticAberrationModel))] - public class ChromaticaAberrationModelEditor : DefaultPostFxModelEditor - { - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta deleted file mode 100644 index 5389c690a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8a713f71a0169794a915a081f6242f60 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs deleted file mode 100644 index 8d7398291..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs +++ /dev/null @@ -1,672 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; -using System; -using System.Collections.Generic; -using System.Linq.Expressions; - -namespace UnityEditor.PostProcessing -{ - using Settings = ColorGradingModel.Settings; - using Tonemapper = ColorGradingModel.Tonemapper; - using ColorWheelMode = ColorGradingModel.ColorWheelMode; - - [PostProcessingModelEditor(typeof(ColorGradingModel))] - public class ColorGradingModelEditor : PostProcessingModelEditor - { - static GUIContent[] s_Tonemappers = - { - new GUIContent("None"), - new GUIContent("Filmic (ACES)"), - new GUIContent("Neutral") - }; - - struct TonemappingSettings - { - public SerializedProperty tonemapper; - public SerializedProperty neutralBlackIn; - public SerializedProperty neutralWhiteIn; - public SerializedProperty neutralBlackOut; - public SerializedProperty neutralWhiteOut; - public SerializedProperty neutralWhiteLevel; - public SerializedProperty neutralWhiteClip; - } - - struct BasicSettings - { - public SerializedProperty exposure; - public SerializedProperty temperature; - public SerializedProperty tint; - public SerializedProperty hueShift; - public SerializedProperty saturation; - public SerializedProperty contrast; - } - - struct ChannelMixerSettings - { - public SerializedProperty[] channels; - public SerializedProperty currentEditingChannel; - } - - struct ColorWheelsSettings - { - public SerializedProperty mode; - public SerializedProperty log; - public SerializedProperty linear; - } - - static GUIContent[] s_Curves = - { - new GUIContent("YRGB"), - new GUIContent("Hue VS Hue"), - new GUIContent("Hue VS Sat"), - new GUIContent("Sat VS Sat"), - new GUIContent("Lum VS Sat") - }; - - struct CurvesSettings - { - public SerializedProperty master; - public SerializedProperty red; - public SerializedProperty green; - public SerializedProperty blue; - - public SerializedProperty hueVShue; - public SerializedProperty hueVSsat; - public SerializedProperty satVSsat; - public SerializedProperty lumVSsat; - - public SerializedProperty currentEditingCurve; - public SerializedProperty curveY; - public SerializedProperty curveR; - public SerializedProperty curveG; - public SerializedProperty curveB; - } - - TonemappingSettings m_Tonemapping; - BasicSettings m_Basic; - ChannelMixerSettings m_ChannelMixer; - ColorWheelsSettings m_ColorWheels; - CurvesSettings m_Curves; - - CurveEditor m_CurveEditor; - Dictionary m_CurveDict; - - // Neutral tonemapping curve helper - const int k_CurveResolution = 24; - const float k_NeutralRangeX = 2f; - const float k_NeutralRangeY = 1f; - Vector3[] m_RectVertices = new Vector3[4]; - Vector3[] m_LineVertices = new Vector3[2]; - Vector3[] m_CurveVertices = new Vector3[k_CurveResolution]; - Rect m_NeutralCurveRect; - - public override void OnEnable() - { - // Tonemapping settings - m_Tonemapping = new TonemappingSettings - { - tonemapper = FindSetting((Settings x) => x.tonemapping.tonemapper), - neutralBlackIn = FindSetting((Settings x) => x.tonemapping.neutralBlackIn), - neutralWhiteIn = FindSetting((Settings x) => x.tonemapping.neutralWhiteIn), - neutralBlackOut = FindSetting((Settings x) => x.tonemapping.neutralBlackOut), - neutralWhiteOut = FindSetting((Settings x) => x.tonemapping.neutralWhiteOut), - neutralWhiteLevel = FindSetting((Settings x) => x.tonemapping.neutralWhiteLevel), - neutralWhiteClip = FindSetting((Settings x) => x.tonemapping.neutralWhiteClip) - }; - - // Basic settings - m_Basic = new BasicSettings - { - exposure = FindSetting((Settings x) => x.basic.postExposure), - temperature = FindSetting((Settings x) => x.basic.temperature), - tint = FindSetting((Settings x) => x.basic.tint), - hueShift = FindSetting((Settings x) => x.basic.hueShift), - saturation = FindSetting((Settings x) => x.basic.saturation), - contrast = FindSetting((Settings x) => x.basic.contrast) - }; - - // Channel mixer - m_ChannelMixer = new ChannelMixerSettings - { - channels = new[] - { - FindSetting((Settings x) => x.channelMixer.red), - FindSetting((Settings x) => x.channelMixer.green), - FindSetting((Settings x) => x.channelMixer.blue) - }, - currentEditingChannel = FindSetting((Settings x) => x.channelMixer.currentEditingChannel) - }; - - // Color wheels - m_ColorWheels = new ColorWheelsSettings - { - mode = FindSetting((Settings x) => x.colorWheels.mode), - log = FindSetting((Settings x) => x.colorWheels.log), - linear = FindSetting((Settings x) => x.colorWheels.linear) - }; - - // Curves - m_Curves = new CurvesSettings - { - master = FindSetting((Settings x) => x.curves.master.curve), - red = FindSetting((Settings x) => x.curves.red.curve), - green = FindSetting((Settings x) => x.curves.green.curve), - blue = FindSetting((Settings x) => x.curves.blue.curve), - - hueVShue = FindSetting((Settings x) => x.curves.hueVShue.curve), - hueVSsat = FindSetting((Settings x) => x.curves.hueVSsat.curve), - satVSsat = FindSetting((Settings x) => x.curves.satVSsat.curve), - lumVSsat = FindSetting((Settings x) => x.curves.lumVSsat.curve), - - currentEditingCurve = FindSetting((Settings x) => x.curves.e_CurrentEditingCurve), - curveY = FindSetting((Settings x) => x.curves.e_CurveY), - curveR = FindSetting((Settings x) => x.curves.e_CurveR), - curveG = FindSetting((Settings x) => x.curves.e_CurveG), - curveB = FindSetting((Settings x) => x.curves.e_CurveB) - }; - - // Prepare the curve editor and extract curve display settings - m_CurveDict = new Dictionary(); - - var settings = CurveEditor.Settings.defaultSettings; - - m_CurveEditor = new CurveEditor(settings); - AddCurve(m_Curves.master, new Color(1f, 1f, 1f), 2, false); - AddCurve(m_Curves.red, new Color(1f, 0f, 0f), 2, false); - AddCurve(m_Curves.green, new Color(0f, 1f, 0f), 2, false); - AddCurve(m_Curves.blue, new Color(0f, 0.5f, 1f), 2, false); - AddCurve(m_Curves.hueVShue, new Color(1f, 1f, 1f), 0, true); - AddCurve(m_Curves.hueVSsat, new Color(1f, 1f, 1f), 0, true); - AddCurve(m_Curves.satVSsat, new Color(1f, 1f, 1f), 0, false); - AddCurve(m_Curves.lumVSsat, new Color(1f, 1f, 1f), 0, false); - } - - void AddCurve(SerializedProperty prop, Color color, uint minPointCount, bool loop) - { - var state = CurveEditor.CurveState.defaultState; - state.color = color; - state.visible = false; - state.minPointCount = minPointCount; - state.onlyShowHandlesOnSelection = true; - state.zeroKeyConstantValue = 0.5f; - state.loopInBounds = loop; - m_CurveEditor.Add(prop, state); - m_CurveDict.Add(prop, color); - } - - public override void OnDisable() - { - m_CurveEditor.RemoveAll(); - } - - public override void OnInspectorGUI() - { - DoGUIFor("Tonemapping", DoTonemappingGUI); - EditorGUILayout.Space(); - DoGUIFor("Basic", DoBasicGUI); - EditorGUILayout.Space(); - DoGUIFor("Channel Mixer", DoChannelMixerGUI); - EditorGUILayout.Space(); - DoGUIFor("Trackballs", DoColorWheelsGUI); - EditorGUILayout.Space(); - DoGUIFor("Grading Curves", DoCurvesGUI); - } - - void DoGUIFor(string title, Action func) - { - EditorGUILayout.LabelField(title, EditorStyles.boldLabel); - EditorGUI.indentLevel++; - func(); - EditorGUI.indentLevel--; - } - - void DoTonemappingGUI() - { - int tid = EditorGUILayout.Popup(EditorGUIHelper.GetContent("Tonemapper"), m_Tonemapping.tonemapper.intValue, s_Tonemappers); - - if (tid == (int)Tonemapper.Neutral) - { - DrawNeutralTonemappingCurve(); - - EditorGUILayout.PropertyField(m_Tonemapping.neutralBlackIn, EditorGUIHelper.GetContent("Black In")); - EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteIn, EditorGUIHelper.GetContent("White In")); - EditorGUILayout.PropertyField(m_Tonemapping.neutralBlackOut, EditorGUIHelper.GetContent("Black Out")); - EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteOut, EditorGUIHelper.GetContent("White Out")); - EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteLevel, EditorGUIHelper.GetContent("White Level")); - EditorGUILayout.PropertyField(m_Tonemapping.neutralWhiteClip, EditorGUIHelper.GetContent("White Clip")); - } - - m_Tonemapping.tonemapper.intValue = tid; - } - - void DrawNeutralTonemappingCurve() - { - using (new GUILayout.HorizontalScope()) - { - GUILayout.Space(EditorGUI.indentLevel * 15f); - m_NeutralCurveRect = GUILayoutUtility.GetRect(128, 80); - } - - // Background - m_RectVertices[0] = PointInRect( 0f, 0f); - m_RectVertices[1] = PointInRect(k_NeutralRangeX, 0f); - m_RectVertices[2] = PointInRect(k_NeutralRangeX, k_NeutralRangeY); - m_RectVertices[3] = PointInRect( 0f, k_NeutralRangeY); - - Handles.DrawSolidRectangleWithOutline( - m_RectVertices, - Color.white * 0.1f, - Color.white * 0.4f - ); - - // Horizontal lines - for (var i = 1; i < k_NeutralRangeY; i++) - DrawLine(0, i, k_NeutralRangeX, i, 0.4f); - - // Vertical lines - for (var i = 1; i < k_NeutralRangeX; i++) - DrawLine(i, 0, i, k_NeutralRangeY, 0.4f); - - // Label - Handles.Label( - PointInRect(0, k_NeutralRangeY) + Vector3.right, - "Neutral Tonemapper", EditorStyles.miniLabel - ); - - // Precompute some values - var tonemap = ((ColorGradingModel)target).settings.tonemapping; - - const float scaleFactor = 20f; - const float scaleFactorHalf = scaleFactor * 0.5f; - - float inBlack = tonemap.neutralBlackIn * scaleFactor + 1f; - float outBlack = tonemap.neutralBlackOut * scaleFactorHalf + 1f; - float inWhite = tonemap.neutralWhiteIn / scaleFactor; - float outWhite = 1f - tonemap.neutralWhiteOut / scaleFactor; - float blackRatio = inBlack / outBlack; - float whiteRatio = inWhite / outWhite; - - const float a = 0.2f; - float b = Mathf.Max(0f, Mathf.LerpUnclamped(0.57f, 0.37f, blackRatio)); - float c = Mathf.LerpUnclamped(0.01f, 0.24f, whiteRatio); - float d = Mathf.Max(0f, Mathf.LerpUnclamped(0.02f, 0.20f, blackRatio)); - const float e = 0.02f; - const float f = 0.30f; - float whiteLevel = tonemap.neutralWhiteLevel; - float whiteClip = tonemap.neutralWhiteClip / scaleFactorHalf; - - // Tonemapping curve - var vcount = 0; - while (vcount < k_CurveResolution) - { - float x = k_NeutralRangeX * vcount / (k_CurveResolution - 1); - float y = NeutralTonemap(x, a, b, c, d, e, f, whiteLevel, whiteClip); - - if (y < k_NeutralRangeY) - { - m_CurveVertices[vcount++] = PointInRect(x, y); - } - else - { - if (vcount > 1) - { - // Extend the last segment to the top edge of the rect. - var v1 = m_CurveVertices[vcount - 2]; - var v2 = m_CurveVertices[vcount - 1]; - var clip = (m_NeutralCurveRect.y - v1.y) / (v2.y - v1.y); - m_CurveVertices[vcount - 1] = v1 + (v2 - v1) * clip; - } - break; - } - } - - if (vcount > 1) - { - Handles.color = Color.white * 0.9f; - Handles.DrawAAPolyLine(2.0f, vcount, m_CurveVertices); - } - } - - void DrawLine(float x1, float y1, float x2, float y2, float grayscale) - { - m_LineVertices[0] = PointInRect(x1, y1); - m_LineVertices[1] = PointInRect(x2, y2); - Handles.color = Color.white * grayscale; - Handles.DrawAAPolyLine(2f, m_LineVertices); - } - - Vector3 PointInRect(float x, float y) - { - x = Mathf.Lerp(m_NeutralCurveRect.x, m_NeutralCurveRect.xMax, x / k_NeutralRangeX); - y = Mathf.Lerp(m_NeutralCurveRect.yMax, m_NeutralCurveRect.y, y / k_NeutralRangeY); - return new Vector3(x, y, 0); - } - - float NeutralCurve(float x, float a, float b, float c, float d, float e, float f) - { - return ((x * (a * x + c * b) + d * e) / (x * (a * x + b) + d * f)) - e / f; - } - - float NeutralTonemap(float x, float a, float b, float c, float d, float e, float f, float whiteLevel, float whiteClip) - { - x = Mathf.Max(0f, x); - - // Tonemap - float whiteScale = 1f / NeutralCurve(whiteLevel, a, b, c, d, e, f); - x = NeutralCurve(x * whiteScale, a, b, c, d, e, f); - x *= whiteScale; - - // Post-curve white point adjustment - x /= whiteClip; - - return x; - } - - void DoBasicGUI() - { - EditorGUILayout.PropertyField(m_Basic.exposure, EditorGUIHelper.GetContent("Post Exposure (EV)")); - EditorGUILayout.PropertyField(m_Basic.temperature); - EditorGUILayout.PropertyField(m_Basic.tint); - EditorGUILayout.PropertyField(m_Basic.hueShift); - EditorGUILayout.PropertyField(m_Basic.saturation); - EditorGUILayout.PropertyField(m_Basic.contrast); - } - - void DoChannelMixerGUI() - { - int currentChannel = m_ChannelMixer.currentEditingChannel.intValue; - - EditorGUI.BeginChangeCheck(); - { - using (new EditorGUILayout.HorizontalScope()) - { - EditorGUILayout.PrefixLabel("Channel"); - if (GUILayout.Toggle(currentChannel == 0, EditorGUIHelper.GetContent("Red|Red output channel."), EditorStyles.miniButtonLeft)) currentChannel = 0; - if (GUILayout.Toggle(currentChannel == 1, EditorGUIHelper.GetContent("Green|Green output channel."), EditorStyles.miniButtonMid)) currentChannel = 1; - if (GUILayout.Toggle(currentChannel == 2, EditorGUIHelper.GetContent("Blue|Blue output channel."), EditorStyles.miniButtonRight)) currentChannel = 2; - } - } - if (EditorGUI.EndChangeCheck()) - { - GUI.FocusControl(null); - } - - var serializedChannel = m_ChannelMixer.channels[currentChannel]; - m_ChannelMixer.currentEditingChannel.intValue = currentChannel; - - var v = serializedChannel.vector3Value; - v.x = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Red|Modify influence of the red channel within the overall mix."), v.x, -2f, 2f); - v.y = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Green|Modify influence of the green channel within the overall mix."), v.y, -2f, 2f); - v.z = EditorGUILayout.Slider(EditorGUIHelper.GetContent("Blue|Modify influence of the blue channel within the overall mix."), v.z, -2f, 2f); - serializedChannel.vector3Value = v; - } - - void DoColorWheelsGUI() - { - int wheelMode = m_ColorWheels.mode.intValue; - - using (new EditorGUILayout.HorizontalScope()) - { - GUILayout.Space(15); - if (GUILayout.Toggle(wheelMode == (int)ColorWheelMode.Linear, "Linear", EditorStyles.miniButtonLeft)) wheelMode = (int)ColorWheelMode.Linear; - if (GUILayout.Toggle(wheelMode == (int)ColorWheelMode.Log, "Log", EditorStyles.miniButtonRight)) wheelMode = (int)ColorWheelMode.Log; - } - - m_ColorWheels.mode.intValue = wheelMode; - EditorGUILayout.Space(); - - if (wheelMode == (int)ColorWheelMode.Linear) - { - EditorGUILayout.PropertyField(m_ColorWheels.linear); - WheelSetTitle(GUILayoutUtility.GetLastRect(), "Linear Controls"); - } - else if (wheelMode == (int)ColorWheelMode.Log) - { - EditorGUILayout.PropertyField(m_ColorWheels.log); - WheelSetTitle(GUILayoutUtility.GetLastRect(), "Log Controls"); - } - } - - static void WheelSetTitle(Rect position, string label) - { - var matrix = GUI.matrix; - var rect = new Rect(position.x - 10f, position.y, TrackballGroupDrawer.m_Size, TrackballGroupDrawer.m_Size); - GUIUtility.RotateAroundPivot(-90f, rect.center); - GUI.Label(rect, label, FxStyles.centeredMiniLabel); - GUI.matrix = matrix; - } - - void ResetVisibleCurves() - { - foreach (var curve in m_CurveDict) - { - var state = m_CurveEditor.GetCurveState(curve.Key); - state.visible = false; - m_CurveEditor.SetCurveState(curve.Key, state); - } - } - - void SetCurveVisible(SerializedProperty prop) - { - var state = m_CurveEditor.GetCurveState(prop); - state.visible = true; - m_CurveEditor.SetCurveState(prop, state); - } - - bool SpecialToggle(bool value, string name, out bool rightClicked) - { - var rect = GUILayoutUtility.GetRect(EditorGUIHelper.GetContent(name), EditorStyles.toolbarButton); - - var e = Event.current; - rightClicked = (e.type == EventType.MouseUp && rect.Contains(e.mousePosition) && e.button == 1); - - return GUI.Toggle(rect, value, name, EditorStyles.toolbarButton); - } - - static Material s_MaterialSpline; - - void DoCurvesGUI() - { - EditorGUILayout.Space(); - EditorGUI.indentLevel -= 2; - ResetVisibleCurves(); - - using (new EditorGUI.DisabledGroupScope(serializedProperty.serializedObject.isEditingMultipleObjects)) - { - int curveEditingId = 0; - - // Top toolbar - using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) - { - curveEditingId = EditorGUILayout.Popup(m_Curves.currentEditingCurve.intValue, s_Curves, EditorStyles.toolbarPopup, GUILayout.MaxWidth(150f)); - bool y = false, r = false, g = false, b = false; - - if (curveEditingId == 0) - { - EditorGUILayout.Space(); - - bool rightClickedY, rightClickedR, rightClickedG, rightClickedB; - - y = SpecialToggle(m_Curves.curveY.boolValue, "Y", out rightClickedY); - r = SpecialToggle(m_Curves.curveR.boolValue, "R", out rightClickedR); - g = SpecialToggle(m_Curves.curveG.boolValue, "G", out rightClickedG); - b = SpecialToggle(m_Curves.curveB.boolValue, "B", out rightClickedB); - - if (!y && !r && !g && !b) - { - r = g = b = false; - y = true; - } - - if (rightClickedY || rightClickedR || rightClickedG || rightClickedB) - { - y = rightClickedY; - r = rightClickedR; - g = rightClickedG; - b = rightClickedB; - } - - if (y) SetCurveVisible(m_Curves.master); - if (r) SetCurveVisible(m_Curves.red); - if (g) SetCurveVisible(m_Curves.green); - if (b) SetCurveVisible(m_Curves.blue); - - m_Curves.curveY.boolValue = y; - m_Curves.curveR.boolValue = r; - m_Curves.curveG.boolValue = g; - m_Curves.curveB.boolValue = b; - } - else - { - switch (curveEditingId) - { - case 1: SetCurveVisible(m_Curves.hueVShue); - break; - case 2: SetCurveVisible(m_Curves.hueVSsat); - break; - case 3: SetCurveVisible(m_Curves.satVSsat); - break; - case 4: SetCurveVisible(m_Curves.lumVSsat); - break; - } - } - - GUILayout.FlexibleSpace(); - - if (GUILayout.Button("Reset", EditorStyles.toolbarButton)) - { - switch (curveEditingId) - { - case 0: - if (y) m_Curves.master.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); - if (r) m_Curves.red.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); - if (g) m_Curves.green.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); - if (b) m_Curves.blue.animationCurveValue = AnimationCurve.Linear(0f, 0f, 1f, 1f); - break; - case 1: m_Curves.hueVShue.animationCurveValue = new AnimationCurve(); - break; - case 2: m_Curves.hueVSsat.animationCurveValue = new AnimationCurve(); - break; - case 3: m_Curves.satVSsat.animationCurveValue = new AnimationCurve(); - break; - case 4: m_Curves.lumVSsat.animationCurveValue = new AnimationCurve(); - break; - } - } - - m_Curves.currentEditingCurve.intValue = curveEditingId; - } - - // Curve area - var settings = m_CurveEditor.settings; - var rect = GUILayoutUtility.GetAspectRect(2f); - var innerRect = settings.padding.Remove(rect); - - if (Event.current.type == EventType.Repaint) - { - // Background - EditorGUI.DrawRect(rect, new Color(0.15f, 0.15f, 0.15f, 1f)); - - if (s_MaterialSpline == null) - s_MaterialSpline = new Material(Shader.Find("Hidden/Post FX/UI/Curve Background")) { hideFlags = HideFlags.HideAndDontSave }; - - if (curveEditingId == 1 || curveEditingId == 2) - DrawBackgroundTexture(innerRect, 0); - else if (curveEditingId == 3 || curveEditingId == 4) - DrawBackgroundTexture(innerRect, 1); - - // Bounds - Handles.color = Color.white; - Handles.DrawSolidRectangleWithOutline(innerRect, Color.clear, new Color(0.8f, 0.8f, 0.8f, 0.5f)); - - // Grid setup - Handles.color = new Color(1f, 1f, 1f, 0.05f); - int hLines = (int)Mathf.Sqrt(innerRect.width); - int vLines = (int)(hLines / (innerRect.width / innerRect.height)); - - // Vertical grid - int gridOffset = Mathf.FloorToInt(innerRect.width / hLines); - int gridPadding = ((int)(innerRect.width) % hLines) / 2; - - for (int i = 1; i < hLines; i++) - { - var offset = i * Vector2.right * gridOffset; - offset.x += gridPadding; - Handles.DrawLine(innerRect.position + offset, new Vector2(innerRect.x, innerRect.yMax - 1) + offset); - } - - // Horizontal grid - gridOffset = Mathf.FloorToInt(innerRect.height / vLines); - gridPadding = ((int)(innerRect.height) % vLines) / 2; - - for (int i = 1; i < vLines; i++) - { - var offset = i * Vector2.up * gridOffset; - offset.y += gridPadding; - Handles.DrawLine(innerRect.position + offset, new Vector2(innerRect.xMax - 1, innerRect.y) + offset); - } - } - - // Curve editor - if (m_CurveEditor.OnGUI(rect)) - { - Repaint(); - GUI.changed = true; - } - - if (Event.current.type == EventType.Repaint) - { - // Borders - Handles.color = Color.black; - Handles.DrawLine(new Vector2(rect.x, rect.y - 18f), new Vector2(rect.xMax, rect.y - 18f)); - Handles.DrawLine(new Vector2(rect.x, rect.y - 19f), new Vector2(rect.x, rect.yMax)); - Handles.DrawLine(new Vector2(rect.x, rect.yMax), new Vector2(rect.xMax, rect.yMax)); - Handles.DrawLine(new Vector2(rect.xMax, rect.yMax), new Vector2(rect.xMax, rect.y - 18f)); - - // Selection info - var selection = m_CurveEditor.GetSelection(); - - if (selection.curve != null && selection.keyframeIndex > -1) - { - var key = selection.keyframe.Value; - var infoRect = innerRect; - infoRect.x += 5f; - infoRect.width = 100f; - infoRect.height = 30f; - GUI.Label(infoRect, string.Format("{0}\n{1}", key.time.ToString("F3"), key.value.ToString("F3")), FxStyles.preLabel); - } - } - } - - /* - EditorGUILayout.HelpBox( - @"Curve editor cheat sheet: -- [Del] or [Backspace] to remove a key -- [Ctrl] to break a tangent handle -- [Shift] to align tangent handles -- [Double click] to create a key on the curve(s) at mouse position -- [Alt] + [Double click] to create a key on the curve(s) at a given time", - MessageType.Info); - */ - - EditorGUILayout.Space(); - EditorGUI.indentLevel += 2; - } - - void DrawBackgroundTexture(Rect rect, int pass) - { - float scale = EditorGUIUtility.pixelsPerPoint; - - var oldRt = RenderTexture.active; - var rt = RenderTexture.GetTemporary(Mathf.CeilToInt(rect.width * scale), Mathf.CeilToInt(rect.height * scale), 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); - s_MaterialSpline.SetFloat("_DisabledState", GUI.enabled ? 1f : 0.5f); - s_MaterialSpline.SetFloat("_PixelScaling", EditorGUIUtility.pixelsPerPoint); - - Graphics.Blit(null, rt, s_MaterialSpline, pass); - RenderTexture.active = oldRt; - - GUI.DrawTexture(rect, rt); - RenderTexture.ReleaseTemporary(rt); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta deleted file mode 100644 index 30fcbca9c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c3e3bce1d5c900d4fa7aa0f2b21814cf -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/ColorGradingModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs deleted file mode 100644 index 06c1c22cd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; - -namespace UnityEditor.PostProcessing -{ - public class DefaultPostFxModelEditor : PostProcessingModelEditor - { - List m_Properties = new List(); - - public override void OnEnable() - { - var iter = m_SettingsProperty.Copy().GetEnumerator(); - while (iter.MoveNext()) - m_Properties.Add(((SerializedProperty)iter.Current).Copy()); - } - - public override void OnInspectorGUI() - { - foreach (var property in m_Properties) - EditorGUILayout.PropertyField(property); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta deleted file mode 100644 index da28695ce..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c15016a7fef58974f91a6a4d6b132d94 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs deleted file mode 100644 index 0f253fc64..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs +++ /dev/null @@ -1,37 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = DepthOfFieldModel.Settings; - - [PostProcessingModelEditor(typeof(DepthOfFieldModel))] - public class DepthOfFieldModelEditor : PostProcessingModelEditor - { - SerializedProperty m_FocusDistance; - SerializedProperty m_Aperture; - SerializedProperty m_FocalLength; - SerializedProperty m_UseCameraFov; - SerializedProperty m_KernelSize; - - public override void OnEnable() - { - m_FocusDistance = FindSetting((Settings x) => x.focusDistance); - m_Aperture = FindSetting((Settings x) => x.aperture); - m_FocalLength = FindSetting((Settings x) => x.focalLength); - m_UseCameraFov = FindSetting((Settings x) => x.useCameraFov); - m_KernelSize = FindSetting((Settings x) => x.kernelSize); - } - - public override void OnInspectorGUI() - { - EditorGUILayout.PropertyField(m_FocusDistance); - EditorGUILayout.PropertyField(m_Aperture, EditorGUIHelper.GetContent("Aperture (f-stop)")); - - EditorGUILayout.PropertyField(m_UseCameraFov, EditorGUIHelper.GetContent("Use Camera FOV")); - if (!m_UseCameraFov.boolValue) - EditorGUILayout.PropertyField(m_FocalLength, EditorGUIHelper.GetContent("Focal Length (mm)")); - - EditorGUILayout.PropertyField(m_KernelSize); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta deleted file mode 100644 index a4c735381..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: dc2f388440e9f8b4f8fc7bb43c01cc7d -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs deleted file mode 100644 index af4751f24..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs +++ /dev/null @@ -1,16 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [PostProcessingModelEditor(typeof(DitheringModel))] - public class DitheringModelEditor : PostProcessingModelEditor - { - public override void OnInspectorGUI() - { - if (profile.grain.enabled && target.enabled) - EditorGUILayout.HelpBox("Grain is enabled, you probably don't need dithering !", MessageType.Warning); - else - EditorGUILayout.HelpBox("Nothing to configure !", MessageType.Info); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs.meta deleted file mode 100644 index 0148d240f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/DitheringModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 87377c86d84f49a4e912d37d28353e7f -timeCreated: 1485179854 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/DitheringModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs deleted file mode 100644 index 94c49f2cb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs +++ /dev/null @@ -1,86 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = EyeAdaptationModel.Settings; - - [PostProcessingModelEditor(typeof(EyeAdaptationModel))] - public class EyeAdaptationModelEditor : PostProcessingModelEditor - { - SerializedProperty m_LowPercent; - SerializedProperty m_HighPercent; - SerializedProperty m_MinLuminance; - SerializedProperty m_MaxLuminance; - SerializedProperty m_KeyValue; - SerializedProperty m_DynamicKeyValue; - SerializedProperty m_AdaptationType; - SerializedProperty m_SpeedUp; - SerializedProperty m_SpeedDown; - SerializedProperty m_LogMin; - SerializedProperty m_LogMax; - - public override void OnEnable() - { - m_LowPercent = FindSetting((Settings x) => x.lowPercent); - m_HighPercent = FindSetting((Settings x) => x.highPercent); - m_MinLuminance = FindSetting((Settings x) => x.minLuminance); - m_MaxLuminance = FindSetting((Settings x) => x.maxLuminance); - m_KeyValue = FindSetting((Settings x) => x.keyValue); - m_DynamicKeyValue = FindSetting((Settings x) => x.dynamicKeyValue); - m_AdaptationType = FindSetting((Settings x) => x.adaptationType); - m_SpeedUp = FindSetting((Settings x) => x.speedUp); - m_SpeedDown = FindSetting((Settings x) => x.speedDown); - m_LogMin = FindSetting((Settings x) => x.logMin); - m_LogMax = FindSetting((Settings x) => x.logMax); - } - - public override void OnInspectorGUI() - { - if (!GraphicsUtils.supportsDX11) - EditorGUILayout.HelpBox("This effect requires support for compute shaders. Enabling it won't do anything on unsupported platforms.", MessageType.Warning); - - EditorGUILayout.LabelField("Luminosity range", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_LogMin, EditorGUIHelper.GetContent("Minimum (EV)")); - EditorGUILayout.PropertyField(m_LogMax, EditorGUIHelper.GetContent("Maximum (EV)")); - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Auto exposure", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - float low = m_LowPercent.floatValue; - float high = m_HighPercent.floatValue; - - EditorGUILayout.MinMaxSlider(EditorGUIHelper.GetContent("Histogram filtering|These values are the lower and upper percentages of the histogram that will be used to find a stable average luminance. Values outside of this range will be discarded and won't contribute to the average luminance."), ref low, ref high, 1f, 99f); - - m_LowPercent.floatValue = low; - m_HighPercent.floatValue = high; - - EditorGUILayout.PropertyField(m_MinLuminance, EditorGUIHelper.GetContent("Minimum (EV)")); - EditorGUILayout.PropertyField(m_MaxLuminance, EditorGUIHelper.GetContent("Maximum (EV)")); - EditorGUILayout.PropertyField(m_DynamicKeyValue); - - if (!m_DynamicKeyValue.boolValue) - EditorGUILayout.PropertyField(m_KeyValue); - - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Adaptation", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - - EditorGUILayout.PropertyField(m_AdaptationType, EditorGUIHelper.GetContent("Type")); - - if (m_AdaptationType.intValue == (int)EyeAdaptationModel.EyeAdaptationType.Progressive) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_SpeedUp); - EditorGUILayout.PropertyField(m_SpeedDown); - EditorGUI.indentLevel--; - } - - EditorGUI.indentLevel--; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta deleted file mode 100644 index 588d90cff..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 489b5c785ba0f614d90c322fa0827216 -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs deleted file mode 100644 index b5b17c40e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs +++ /dev/null @@ -1,24 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = FogModel.Settings; - - [PostProcessingModelEditor(typeof(FogModel))] - public class FogModelEditor : PostProcessingModelEditor - { - SerializedProperty m_ExcludeSkybox; - - public override void OnEnable() - { - m_ExcludeSkybox = FindSetting((Settings x) => x.excludeSkybox); - } - - public override void OnInspectorGUI() - { - EditorGUILayout.HelpBox("This effect adds fog compatibility to the deferred rendering path; enabling it with the forward rendering path won't have any effect. Actual fog settings should be set in the Lighting panel.", MessageType.Info); - EditorGUILayout.PropertyField(m_ExcludeSkybox); - EditorGUI.indentLevel--; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs.meta deleted file mode 100644 index 20aaa567f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/FogModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 44a64b44ec891d24b96ed84d958c3d4f -timeCreated: 1487335049 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/FogModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs deleted file mode 100644 index 9c7d169f9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs +++ /dev/null @@ -1,31 +0,0 @@ -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = GrainModel.Settings; - - [PostProcessingModelEditor(typeof(GrainModel))] - public class GrainModelEditor : PostProcessingModelEditor - { - SerializedProperty m_Colored; - SerializedProperty m_Intensity; - SerializedProperty m_Size; - SerializedProperty m_LuminanceContribution; - - public override void OnEnable() - { - m_Colored = FindSetting((Settings x) => x.colored); - m_Intensity = FindSetting((Settings x) => x.intensity); - m_Size = FindSetting((Settings x) => x.size); - m_LuminanceContribution = FindSetting((Settings x) => x.luminanceContribution); - } - - public override void OnInspectorGUI() - { - EditorGUILayout.PropertyField(m_Intensity); - EditorGUILayout.PropertyField(m_LuminanceContribution); - EditorGUILayout.PropertyField(m_Size); - EditorGUILayout.PropertyField(m_Colored); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs.meta deleted file mode 100644 index cb6125012..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/GrainModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8330694e2c90c284f81153ac83b3cb4a -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/GrainModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs deleted file mode 100644 index dac86e7bb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs +++ /dev/null @@ -1,197 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = MotionBlurModel.Settings; - - [PostProcessingModelEditor(typeof(MotionBlurModel))] - public class MotionBlurModelEditor : PostProcessingModelEditor - { - SerializedProperty m_ShutterAngle; - SerializedProperty m_SampleCount; - SerializedProperty m_FrameBlending; - - GraphDrawer m_GraphDrawer; - - class GraphDrawer - { - const float k_Height = 32f; - - Texture m_BlendingIcon; - - GUIStyle m_LowerCenterStyle; - GUIStyle m_MiddleCenterStyle; - - Color m_ColorDark; - Color m_ColorGray; - - Vector3[] m_RectVertices = new Vector3[4]; - - public GraphDrawer() - { - m_BlendingIcon = EditorResources.Load("UI/MotionBlendingIcon.png"); - - m_LowerCenterStyle = new GUIStyle(EditorStyles.miniLabel) { alignment = TextAnchor.LowerCenter }; - m_MiddleCenterStyle = new GUIStyle(EditorStyles.miniLabel) { alignment = TextAnchor.MiddleCenter }; - - if (EditorGUIUtility.isProSkin) - { - m_ColorDark = new Color(0.18f, 0.18f, 0.18f); - m_ColorGray = new Color(0.43f, 0.43f, 0.43f); - } - else - { - m_ColorDark = new Color(0.64f, 0.64f, 0.64f); - m_ColorGray = new Color(0.92f, 0.92f, 0.92f); - } - } - - public void DrawShutterGraph(float angle) - { - var center = GUILayoutUtility.GetRect(128, k_Height).center; - - // Parameters used to make transitions smooth. - var zeroWhenOff = Mathf.Min(1f, angle * 0.1f); - var zeroWhenFull = Mathf.Min(1f, (360f - angle) * 0.02f); - - // Shutter angle graph - var discCenter = center - new Vector2(k_Height * 2.4f, 0f); - // - exposure duration indicator - DrawDisc(discCenter, k_Height * Mathf.Lerp(0.5f, 0.38f, zeroWhenFull), m_ColorGray); - // - shutter disc - DrawDisc(discCenter, k_Height * 0.16f * zeroWhenFull, m_ColorDark); - // - shutter blade - DrawArc(discCenter, k_Height * 0.5f, 360f - angle, m_ColorDark); - // - shutter axis - DrawDisc(discCenter, zeroWhenOff, m_ColorGray); - - // Shutter label (off/full) - var labelSize = new Vector2(k_Height, k_Height); - var labelOrigin = discCenter - labelSize * 0.5f; - var labelRect = new Rect(labelOrigin, labelSize); - - if (Mathf.Approximately(angle, 0f)) - GUI.Label(labelRect, "Off", m_MiddleCenterStyle); - else if (Mathf.Approximately(angle, 360f)) - GUI.Label(labelRect, "Full", m_MiddleCenterStyle); - - // Exposure time bar graph - var outerBarSize = new Vector2(4.75f, 0.5f) * k_Height; - var innerBarSize = outerBarSize; - innerBarSize.x *= angle / 360f; - - var barCenter = center + new Vector2(k_Height * 0.9f, 0f); - var barOrigin = barCenter - outerBarSize * 0.5f; - - DrawRect(barOrigin, outerBarSize, m_ColorDark); - DrawRect(barOrigin, innerBarSize, m_ColorGray); - - var barText = "Exposure time = " + (angle / 3.6f).ToString("0") + "% of ΔT"; - GUI.Label(new Rect(barOrigin, outerBarSize), barText, m_MiddleCenterStyle); - } - - public void DrawBlendingGraph(float strength) - { - var center = GUILayoutUtility.GetRect(128, k_Height).center; - - var iconSize = new Vector2(k_Height, k_Height); - var iconStride = new Vector2(k_Height * 0.9f, 0f); - var iconOrigin = center - iconSize * 0.5f - iconStride * 2f; - - for (var i = 0; i < 5; i++) - { - var weight = BlendingWeight(strength, i / 60f); - var rect = new Rect(iconOrigin + iconStride * i, iconSize); - - var color = m_ColorGray; - color.a = weight; - - GUI.color = color; - GUI.Label(rect, m_BlendingIcon); - - GUI.color = Color.white; - GUI.Label(rect, (weight * 100).ToString("0") + "%", m_LowerCenterStyle); - } - // EditorGUIUtility.isProSkin - } - - // Weight function for multi frame blending - float BlendingWeight(float strength, float time) - { - if (strength > 0f || Mathf.Approximately(time, 0f)) - return Mathf.Exp(-time * Mathf.Lerp(80f, 10f, strength)); - - return 0; - } - - // Draw a solid disc in the graph rect. - void DrawDisc(Vector2 center, float radius, Color fill) - { - Handles.color = fill; - Handles.DrawSolidDisc(center, Vector3.forward, radius); - } - - // Draw an arc in the graph rect. - void DrawArc(Vector2 center, float radius, float angle, Color fill) - { - var start = new Vector2( - -Mathf.Cos(Mathf.Deg2Rad * angle / 2f), - Mathf.Sin(Mathf.Deg2Rad * angle / 2f) - ); - - Handles.color = fill; - Handles.DrawSolidArc(center, Vector3.forward, start, angle, radius); - } - - // Draw a rectangle in the graph rect. - void DrawRect(Vector2 origin, Vector2 size, Color color) - { - var p0 = origin; - var p1 = origin + size; - - m_RectVertices[0] = p0; - m_RectVertices[1] = new Vector2(p1.x, p0.y); - m_RectVertices[2] = p1; - m_RectVertices[3] = new Vector2(p0.x, p1.y); - - Handles.color = Color.white; - Handles.DrawSolidRectangleWithOutline(m_RectVertices, color, Color.clear); - } - } - - public override void OnEnable() - { - m_ShutterAngle = FindSetting((Settings x) => x.shutterAngle); - m_SampleCount = FindSetting((Settings x) => x.sampleCount); - m_FrameBlending = FindSetting((Settings x) => x.frameBlending); - } - - public override void OnInspectorGUI() - { - if (m_GraphDrawer == null) - m_GraphDrawer = new GraphDrawer(); - - EditorGUILayout.LabelField("Shutter Speed Simulation", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - m_GraphDrawer.DrawShutterGraph(m_ShutterAngle.floatValue); - EditorGUILayout.PropertyField(m_ShutterAngle); - EditorGUILayout.PropertyField(m_SampleCount); - EditorGUI.indentLevel--; - EditorGUILayout.Space(); - - EditorGUILayout.LabelField("Multiple Frame Blending", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - - float fbValue = m_FrameBlending.floatValue; - m_GraphDrawer.DrawBlendingGraph(fbValue); - EditorGUILayout.PropertyField(m_FrameBlending); - - if (fbValue > 0f) - EditorGUILayout.HelpBox("Multi-Frame Blending lowers precision of the final picture for optimization purposes.", MessageType.Info); - - - EditorGUI.indentLevel--; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs.meta deleted file mode 100644 index 1e4c74f82..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 870806eda355b5144879155e2ba37eb6 -timeCreated: 1468325681 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/MotionBlurModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs deleted file mode 100644 index 8904c7e83..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs +++ /dev/null @@ -1,100 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = ScreenSpaceReflectionModel.Settings; - - [PostProcessingModelEditor(typeof(ScreenSpaceReflectionModel))] - public class ScreenSpaceReflectionModelEditor : PostProcessingModelEditor - { - struct IntensitySettings - { - public SerializedProperty reflectionMultiplier; - public SerializedProperty fadeDistance; - public SerializedProperty fresnelFade; - public SerializedProperty fresnelFadePower; - } - - struct ReflectionSettings - { - public SerializedProperty blendType; - public SerializedProperty reflectionQuality; - public SerializedProperty maxDistance; - public SerializedProperty iterationCount; - public SerializedProperty stepSize; - public SerializedProperty widthModifier; - public SerializedProperty reflectionBlur; - public SerializedProperty reflectBackfaces; - } - - struct ScreenEdgeMask - { - public SerializedProperty intensity; - } - - IntensitySettings m_Intensity; - ReflectionSettings m_Reflection; - ScreenEdgeMask m_ScreenEdgeMask; - - public override void OnEnable() - { - m_Intensity = new IntensitySettings - { - reflectionMultiplier = FindSetting((Settings x) => x.intensity.reflectionMultiplier), - fadeDistance = FindSetting((Settings x) => x.intensity.fadeDistance), - fresnelFade = FindSetting((Settings x) => x.intensity.fresnelFade), - fresnelFadePower = FindSetting((Settings x) => x.intensity.fresnelFadePower) - }; - - m_Reflection = new ReflectionSettings - { - blendType = FindSetting((Settings x) => x.reflection.blendType), - reflectionQuality = FindSetting((Settings x) => x.reflection.reflectionQuality), - maxDistance = FindSetting((Settings x) => x.reflection.maxDistance), - iterationCount = FindSetting((Settings x) => x.reflection.iterationCount), - stepSize = FindSetting((Settings x) => x.reflection.stepSize), - widthModifier = FindSetting((Settings x) => x.reflection.widthModifier), - reflectionBlur = FindSetting((Settings x) => x.reflection.reflectionBlur), - reflectBackfaces = FindSetting((Settings x) => x.reflection.reflectBackfaces) - }; - - m_ScreenEdgeMask = new ScreenEdgeMask - { - intensity = FindSetting((Settings x) => x.screenEdgeMask.intensity) - }; - } - - public override void OnInspectorGUI() - { - EditorGUILayout.HelpBox("This effect only works with the deferred rendering path.", MessageType.Info); - - EditorGUILayout.LabelField("Reflection", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_Reflection.blendType); - EditorGUILayout.PropertyField(m_Reflection.reflectionQuality); - EditorGUILayout.PropertyField(m_Reflection.maxDistance); - EditorGUILayout.PropertyField(m_Reflection.iterationCount); - EditorGUILayout.PropertyField(m_Reflection.stepSize); - EditorGUILayout.PropertyField(m_Reflection.widthModifier); - EditorGUILayout.PropertyField(m_Reflection.reflectionBlur); - EditorGUILayout.PropertyField(m_Reflection.reflectBackfaces); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Intensity", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_Intensity.reflectionMultiplier); - EditorGUILayout.PropertyField(m_Intensity.fadeDistance); - EditorGUILayout.PropertyField(m_Intensity.fresnelFade); - EditorGUILayout.PropertyField(m_Intensity.fresnelFadePower); - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Screen Edge Mask", EditorStyles.boldLabel); - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(m_ScreenEdgeMask.intensity); - EditorGUI.indentLevel--; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs.meta deleted file mode 100644 index 9f947885c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 57bbe1f20eec7bb4d9bc90fc65ef381b -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs deleted file mode 100644 index 39c96ba35..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs +++ /dev/null @@ -1,87 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using Settings = UserLutModel.Settings; - - [PostProcessingModelEditor(typeof(UserLutModel))] - public class UserLutModelEditor : PostProcessingModelEditor - { - SerializedProperty m_Texture; - SerializedProperty m_Contribution; - - public override void OnEnable() - { - m_Texture = FindSetting((Settings x) => x.lut); - m_Contribution = FindSetting((Settings x) => x.contribution); - } - - public override void OnInspectorGUI() - { - var lut = (target as UserLutModel).settings.lut; - - // Checks import settings on the lut, offers to fix them if invalid - if (lut != null) - { - var importer = (TextureImporter)AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(lut)); - - if (importer != null) // Fails when using an internal texture - { -#if UNITY_5_5_OR_NEWER - bool valid = importer.anisoLevel == 0 - && importer.mipmapEnabled == false - && importer.sRGBTexture == false - && (importer.textureCompression == TextureImporterCompression.Uncompressed); -#else - bool valid = importer.anisoLevel == 0 - && importer.mipmapEnabled == false - && importer.linearTexture == true - && (importer.textureFormat == TextureImporterFormat.RGB24 || importer.textureFormat == TextureImporterFormat.AutomaticTruecolor); -#endif - - if (!valid) - { - EditorGUILayout.HelpBox("Invalid LUT import settings.", MessageType.Warning); - - GUILayout.Space(-32); - using (new EditorGUILayout.HorizontalScope()) - { - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Fix", GUILayout.Width(60))) - { - SetLUTImportSettings(importer); - AssetDatabase.Refresh(); - } - GUILayout.Space(8); - } - GUILayout.Space(11); - } - } - else - { - m_Texture.objectReferenceValue = null; - } - } - - EditorGUILayout.PropertyField(m_Texture); - EditorGUILayout.PropertyField(m_Contribution); - } - - void SetLUTImportSettings(TextureImporter importer) - { -#if UNITY_5_5_OR_NEWER - importer.textureType = TextureImporterType.Default; - importer.sRGBTexture = false; - importer.textureCompression = TextureImporterCompression.Uncompressed; -#else - importer.textureType = TextureImporterType.Advanced; - importer.linearTexture = true; - importer.textureFormat = TextureImporterFormat.RGB24; -#endif - importer.anisoLevel = 0; - importer.mipmapEnabled = false; - importer.SaveAndReimport(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs.meta deleted file mode 100644 index 1fcb58970..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/UserLutModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: b235eb1c486b38c4fa06470234bbfd32 -timeCreated: 1466769818 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/UserLutModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs deleted file mode 100644 index a9e231f80..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs +++ /dev/null @@ -1,118 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using VignetteMode = VignetteModel.Mode; - using Settings = VignetteModel.Settings; - - [PostProcessingModelEditor(typeof(VignetteModel))] - public class VignetteModelEditor : PostProcessingModelEditor - { - SerializedProperty m_Mode; - SerializedProperty m_Color; - SerializedProperty m_Center; - SerializedProperty m_Intensity; - SerializedProperty m_Smoothness; - SerializedProperty m_Roundness; - SerializedProperty m_Mask; - SerializedProperty m_Opacity; - SerializedProperty m_Rounded; - - public override void OnEnable() - { - m_Mode = FindSetting((Settings x) => x.mode); - m_Color = FindSetting((Settings x) => x.color); - m_Center = FindSetting((Settings x) => x.center); - m_Intensity = FindSetting((Settings x) => x.intensity); - m_Smoothness = FindSetting((Settings x) => x.smoothness); - m_Roundness = FindSetting((Settings x) => x.roundness); - m_Mask = FindSetting((Settings x) => x.mask); - m_Opacity = FindSetting((Settings x) => x.opacity); - m_Rounded = FindSetting((Settings x) => x.rounded); - } - - public override void OnInspectorGUI() - { - EditorGUILayout.PropertyField(m_Mode); - EditorGUILayout.PropertyField(m_Color); - - if (m_Mode.intValue < (int)VignetteMode.Masked) - { - EditorGUILayout.PropertyField(m_Center); - EditorGUILayout.PropertyField(m_Intensity); - EditorGUILayout.PropertyField(m_Smoothness); - EditorGUILayout.PropertyField(m_Roundness); - EditorGUILayout.PropertyField(m_Rounded); - } - else - { - var mask = (target as VignetteModel).settings.mask; - - // Checks import settings on the mask, offers to fix them if invalid - if (mask != null) - { - var importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(mask)) as TextureImporter; - - if (importer != null) // Fails when using an internal texture - { -#if UNITY_5_5_OR_NEWER - bool valid = importer.anisoLevel == 0 - && importer.mipmapEnabled == false - //&& importer.alphaUsage == TextureImporterAlphaUsage.FromGrayScale - && importer.alphaSource == TextureImporterAlphaSource.FromGrayScale - && importer.textureCompression == TextureImporterCompression.Uncompressed - && importer.wrapMode == TextureWrapMode.Clamp; -#else - bool valid = importer.anisoLevel == 0 - && importer.mipmapEnabled == false - && importer.grayscaleToAlpha == true - && importer.textureFormat == TextureImporterFormat.Alpha8 - && importer.wrapMode == TextureWrapMode.Clamp; -#endif - - if (!valid) - { - EditorGUILayout.HelpBox("Invalid mask import settings.", MessageType.Warning); - - GUILayout.Space(-32); - using (new EditorGUILayout.HorizontalScope()) - { - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Fix", GUILayout.Width(60))) - { - SetMaskImportSettings(importer); - AssetDatabase.Refresh(); - } - GUILayout.Space(8); - } - GUILayout.Space(11); - } - } - } - - EditorGUILayout.PropertyField(m_Mask); - EditorGUILayout.PropertyField(m_Opacity); - } - } - - void SetMaskImportSettings(TextureImporter importer) - { -#if UNITY_5_5_OR_NEWER - importer.textureType = TextureImporterType.SingleChannel; - //importer.alphaUsage = TextureImporterAlphaUsage.FromGrayScale; - importer.alphaSource = TextureImporterAlphaSource.FromGrayScale; - importer.textureCompression = TextureImporterCompression.Uncompressed; -#else - importer.textureType = TextureImporterType.Advanced; - importer.grayscaleToAlpha = true; - importer.textureFormat = TextureImporterFormat.Alpha8; -#endif - - importer.anisoLevel = 0; - importer.mipmapEnabled = false; - importer.wrapMode = TextureWrapMode.Clamp; - importer.SaveAndReimport(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs.meta deleted file mode 100644 index 51e0672bc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Models/VignetteModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 745ad42620dabf04b94761acc86189ba -timeCreated: 1467190133 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Models/VignetteModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors.meta deleted file mode 100644 index a14263148..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e31078d57ac582944ad5e1e76a84f36a -folderAsset: yes -timeCreated: 1467188891 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs deleted file mode 100644 index 3748a688a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs +++ /dev/null @@ -1,338 +0,0 @@ -using UnityEditorInternal; -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - using HistogramMode = PostProcessingProfile.MonitorSettings.HistogramMode; - - public class HistogramMonitor : PostProcessingMonitor - { - static GUIContent s_MonitorTitle = new GUIContent("Histogram"); - - ComputeShader m_ComputeShader; - ComputeBuffer m_Buffer; - Material m_Material; - RenderTexture m_HistogramTexture; - Rect m_MonitorAreaRect; - - public HistogramMonitor() - { - m_ComputeShader = EditorResources.Load("Monitors/HistogramCompute.compute"); - } - - public override void Dispose() - { - GraphicsUtils.Destroy(m_Material); - GraphicsUtils.Destroy(m_HistogramTexture); - - if (m_Buffer != null) - m_Buffer.Release(); - - m_Material = null; - m_HistogramTexture = null; - m_Buffer = null; - } - - public override bool IsSupported() - { - return m_ComputeShader != null && GraphicsUtils.supportsDX11; - } - - public override GUIContent GetMonitorTitle() - { - return s_MonitorTitle; - } - - public override void OnMonitorSettings() - { - EditorGUI.BeginChangeCheck(); - - bool refreshOnPlay = m_MonitorSettings.refreshOnPlay; - var mode = m_MonitorSettings.histogramMode; - - refreshOnPlay = GUILayout.Toggle(refreshOnPlay, new GUIContent(FxStyles.playIcon, "Keep refreshing the histogram in play mode; this may impact performances."), FxStyles.preButton); - mode = (HistogramMode)EditorGUILayout.EnumPopup(mode, FxStyles.preDropdown, GUILayout.MaxWidth(100f)); - - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(m_BaseEditor.serializedObject.targetObject, "Histogram Settings Changed"); - m_MonitorSettings.refreshOnPlay = refreshOnPlay; - m_MonitorSettings.histogramMode = mode; - InternalEditorUtility.RepaintAllViews(); - } - } - - public override void OnMonitorGUI(Rect r) - { - if (Event.current.type == EventType.Repaint) - { - // If m_MonitorAreaRect isn't set the preview was just opened so refresh the render to get the histogram data - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) && Mathf.Approximately(m_MonitorAreaRect.height, 0)) - InternalEditorUtility.RepaintAllViews(); - - // Sizing - float width = m_HistogramTexture != null - ? Mathf.Min(m_HistogramTexture.width, r.width - 65f) - : r.width; - float height = m_HistogramTexture != null - ? Mathf.Min(m_HistogramTexture.height, r.height - 45f) - : r.height; - - m_MonitorAreaRect = new Rect( - Mathf.Floor(r.x + r.width / 2f - width / 2f), - Mathf.Floor(r.y + r.height / 2f - height / 2f - 5f), - width, height - ); - - if (m_HistogramTexture != null) - { - Graphics.DrawTexture(m_MonitorAreaRect, m_HistogramTexture); - - var color = Color.white; - const float kTickSize = 5f; - - // Rect, lines & ticks points - if (m_MonitorSettings.histogramMode == HistogramMode.RGBSplit) - { - // A B C D E - // N F - // M G - // L K J I H - - var A = new Vector3(m_MonitorAreaRect.x - 1f, m_MonitorAreaRect.y - 1f); - var E = new Vector3(A.x + m_MonitorAreaRect.width + 2f, m_MonitorAreaRect.y - 1f); - var H = new Vector3(E.x, E.y + m_MonitorAreaRect.height + 2f); - var L = new Vector3(A.x, H.y); - - var N = new Vector3(A.x, A.y + (L.y - A.y) / 3f); - var M = new Vector3(A.x, A.y + (L.y - A.y) * 2f / 3f); - var F = new Vector3(E.x, E.y + (H.y - E.y) / 3f); - var G = new Vector3(E.x, E.y + (H.y - E.y) * 2f / 3f); - - var C = new Vector3(A.x + (E.x - A.x) / 2f, A.y); - var J = new Vector3(L.x + (H.x - L.x) / 2f, L.y); - - var B = new Vector3(A.x + (C.x - A.x) / 2f, A.y); - var D = new Vector3(C.x + (E.x - C.x) / 2f, C.y); - var I = new Vector3(J.x + (H.x - J.x) / 2f, J.y); - var K = new Vector3(L.x + (J.x - L.x) / 2f, L.y); - - // Borders - Handles.color = color; - Handles.DrawLine(A, E); - Handles.DrawLine(E, H); - Handles.DrawLine(H, L); - Handles.DrawLine(L, new Vector3(A.x, A.y - 1f)); - - // Vertical ticks - Handles.DrawLine(A, new Vector3(A.x - kTickSize, A.y)); - Handles.DrawLine(N, new Vector3(N.x - kTickSize, N.y)); - Handles.DrawLine(M, new Vector3(M.x - kTickSize, M.y)); - Handles.DrawLine(L, new Vector3(L.x - kTickSize, L.y)); - - Handles.DrawLine(E, new Vector3(E.x + kTickSize, E.y)); - Handles.DrawLine(F, new Vector3(F.x + kTickSize, F.y)); - Handles.DrawLine(G, new Vector3(G.x + kTickSize, G.y)); - Handles.DrawLine(H, new Vector3(H.x + kTickSize, H.y)); - - // Horizontal ticks - Handles.DrawLine(A, new Vector3(A.x, A.y - kTickSize)); - Handles.DrawLine(B, new Vector3(B.x, B.y - kTickSize)); - Handles.DrawLine(C, new Vector3(C.x, C.y - kTickSize)); - Handles.DrawLine(D, new Vector3(D.x, D.y - kTickSize)); - Handles.DrawLine(E, new Vector3(E.x, E.y - kTickSize)); - - Handles.DrawLine(L, new Vector3(L.x, L.y + kTickSize)); - Handles.DrawLine(K, new Vector3(K.x, K.y + kTickSize)); - Handles.DrawLine(J, new Vector3(J.x, J.y + kTickSize)); - Handles.DrawLine(I, new Vector3(I.x, I.y + kTickSize)); - Handles.DrawLine(H, new Vector3(H.x, H.y + kTickSize)); - - // Separators - Handles.DrawLine(N, F); - Handles.DrawLine(M, G); - - // Labels - GUI.color = color; - GUI.Label(new Rect(L.x - 15f, L.y + kTickSize - 4f, 30f, 30f), "0.0", FxStyles.tickStyleCenter); - GUI.Label(new Rect(J.x - 15f, J.y + kTickSize - 4f, 30f, 30f), "0.5", FxStyles.tickStyleCenter); - GUI.Label(new Rect(H.x - 15f, H.y + kTickSize - 4f, 30f, 30f), "1.0", FxStyles.tickStyleCenter); - } - else - { - // A B C D E - // P F - // O G - // N H - // M L K J I - - var A = new Vector3(m_MonitorAreaRect.x, m_MonitorAreaRect.y); - var E = new Vector3(A.x + m_MonitorAreaRect.width + 1f, m_MonitorAreaRect.y); - var I = new Vector3(E.x, E.y + m_MonitorAreaRect.height + 1f); - var M = new Vector3(A.x, I.y); - - var C = new Vector3(A.x + (E.x - A.x) / 2f, A.y); - var G = new Vector3(E.x, E.y + (I.y - E.y) / 2f); - var K = new Vector3(M.x + (I.x - M.x) / 2f, M.y); - var O = new Vector3(A.x, A.y + (M.y - A.y) / 2f); - - var P = new Vector3(A.x, A.y + (O.y - A.y) / 2f); - var F = new Vector3(E.x, E.y + (G.y - E.y) / 2f); - var N = new Vector3(A.x, O.y + (M.y - O.y) / 2f); - var H = new Vector3(E.x, G.y + (I.y - G.y) / 2f); - - var B = new Vector3(A.x + (C.x - A.x) / 2f, A.y); - var L = new Vector3(M.x + (K.x - M.x) / 2f, M.y); - var D = new Vector3(C.x + (E.x - C.x) / 2f, A.y); - var J = new Vector3(K.x + (I.x - K.x) / 2f, M.y); - - // Borders - Handles.color = color; - Handles.DrawLine(A, E); - Handles.DrawLine(E, I); - Handles.DrawLine(I, M); - Handles.DrawLine(M, new Vector3(A.x, A.y - 1f)); - - // Vertical ticks - Handles.DrawLine(A, new Vector3(A.x - kTickSize, A.y)); - Handles.DrawLine(P, new Vector3(P.x - kTickSize, P.y)); - Handles.DrawLine(O, new Vector3(O.x - kTickSize, O.y)); - Handles.DrawLine(N, new Vector3(N.x - kTickSize, N.y)); - Handles.DrawLine(M, new Vector3(M.x - kTickSize, M.y)); - - Handles.DrawLine(E, new Vector3(E.x + kTickSize, E.y)); - Handles.DrawLine(F, new Vector3(F.x + kTickSize, F.y)); - Handles.DrawLine(G, new Vector3(G.x + kTickSize, G.y)); - Handles.DrawLine(H, new Vector3(H.x + kTickSize, H.y)); - Handles.DrawLine(I, new Vector3(I.x + kTickSize, I.y)); - - // Horizontal ticks - Handles.DrawLine(A, new Vector3(A.x, A.y - kTickSize)); - Handles.DrawLine(B, new Vector3(B.x, B.y - kTickSize)); - Handles.DrawLine(C, new Vector3(C.x, C.y - kTickSize)); - Handles.DrawLine(D, new Vector3(D.x, D.y - kTickSize)); - Handles.DrawLine(E, new Vector3(E.x, E.y - kTickSize)); - - Handles.DrawLine(M, new Vector3(M.x, M.y + kTickSize)); - Handles.DrawLine(L, new Vector3(L.x, L.y + kTickSize)); - Handles.DrawLine(K, new Vector3(K.x, K.y + kTickSize)); - Handles.DrawLine(J, new Vector3(J.x, J.y + kTickSize)); - Handles.DrawLine(I, new Vector3(I.x, I.y + kTickSize)); - - // Labels - GUI.color = color; - GUI.Label(new Rect(A.x - kTickSize - 34f, A.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleRight); - GUI.Label(new Rect(O.x - kTickSize - 34f, O.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleRight); - GUI.Label(new Rect(M.x - kTickSize - 34f, M.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleRight); - - GUI.Label(new Rect(E.x + kTickSize + 4f, E.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleLeft); - GUI.Label(new Rect(G.x + kTickSize + 4f, G.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleLeft); - GUI.Label(new Rect(I.x + kTickSize + 4f, I.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleLeft); - - GUI.Label(new Rect(M.x - 15f, M.y + kTickSize - 4f, 30f, 30f), "0.0", FxStyles.tickStyleCenter); - GUI.Label(new Rect(K.x - 15f, K.y + kTickSize - 4f, 30f, 30f), "0.5", FxStyles.tickStyleCenter); - GUI.Label(new Rect(I.x - 15f, I.y + kTickSize - 4f, 30f, 30f), "1.0", FxStyles.tickStyleCenter); - } - } - } - } - - public override void OnFrameData(RenderTexture source) - { - if (Application.isPlaying && !m_MonitorSettings.refreshOnPlay) - return; - - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) || Mathf.Approximately(m_MonitorAreaRect.height, 0)) - return; - - float ratio = (float)source.width / (float)source.height; - int h = 512; - int w = Mathf.FloorToInt(h * ratio); - - var rt = RenderTexture.GetTemporary(w, h, 0, source.format); - Graphics.Blit(source, rt); - ComputeHistogram(rt); - m_BaseEditor.Repaint(); - RenderTexture.ReleaseTemporary(rt); - } - - void CreateBuffer(int width, int height) - { - m_Buffer = new ComputeBuffer(width * height, sizeof(uint) << 2); - } - - void ComputeHistogram(RenderTexture source) - { - if (m_Buffer == null) - { - CreateBuffer(256, 1); - } - else if (m_Buffer.count != 256) - { - m_Buffer.Release(); - CreateBuffer(256, 1); - } - - if (m_Material == null) - { - m_Material = new Material(Shader.Find("Hidden/Post FX/Monitors/Histogram Render")) { hideFlags = HideFlags.DontSave }; - } - - var channels = Vector4.zero; - switch (m_MonitorSettings.histogramMode) - { - case HistogramMode.Red: channels.x = 1f; break; - case HistogramMode.Green: channels.y = 1f; break; - case HistogramMode.Blue: channels.z = 1f; break; - case HistogramMode.Luminance: channels.w = 1f; break; - default: channels = new Vector4(1f, 1f, 1f, 0f); break; - } - - var cs = m_ComputeShader; - - int kernel = cs.FindKernel("KHistogramClear"); - cs.SetBuffer(kernel, "_Histogram", m_Buffer); - cs.Dispatch(kernel, 1, 1, 1); - - kernel = cs.FindKernel("KHistogramGather"); - cs.SetBuffer(kernel, "_Histogram", m_Buffer); - cs.SetTexture(kernel, "_Source", source); - cs.SetInt("_IsLinear", GraphicsUtils.isLinearColorSpace ? 1 : 0); - cs.SetVector("_Res", new Vector4(source.width, source.height, 0f, 0f)); - cs.SetVector("_Channels", channels); - cs.Dispatch(kernel, Mathf.CeilToInt(source.width / 16f), Mathf.CeilToInt(source.height / 16f), 1); - - kernel = cs.FindKernel("KHistogramScale"); - cs.SetBuffer(kernel, "_Histogram", m_Buffer); - cs.Dispatch(kernel, 1, 1, 1); - - if (m_HistogramTexture == null || m_HistogramTexture.width != source.width || m_HistogramTexture.height != source.height) - { - GraphicsUtils.Destroy(m_HistogramTexture); - m_HistogramTexture = new RenderTexture(source.width, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) - { - hideFlags = HideFlags.DontSave, - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - } - - m_Material.SetBuffer("_Histogram", m_Buffer); - m_Material.SetVector("_Size", new Vector2(m_HistogramTexture.width, m_HistogramTexture.height)); - m_Material.SetColor("_ColorR", new Color(1f, 0f, 0f, 1f)); - m_Material.SetColor("_ColorG", new Color(0f, 1f, 0f, 1f)); - m_Material.SetColor("_ColorB", new Color(0f, 0f, 1f, 1f)); - m_Material.SetColor("_ColorL", new Color(1f, 1f, 1f, 1f)); - m_Material.SetInt("_Channel", (int)m_MonitorSettings.histogramMode); - - int pass = 0; - if (m_MonitorSettings.histogramMode == HistogramMode.RGBMerged) - pass = 1; - else if (m_MonitorSettings.histogramMode == HistogramMode.RGBSplit) - pass = 2; - - Graphics.Blit(null, m_HistogramTexture, m_Material, pass); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs.meta deleted file mode 100644 index 360368810..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/HistogramMonitor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 4581c45ac4aa2264187087659a4cc252 -timeCreated: 1460031632 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Monitors/HistogramMonitor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs deleted file mode 100644 index 03494b107..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs +++ /dev/null @@ -1,257 +0,0 @@ -using UnityEditorInternal; -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - public class ParadeMonitor : PostProcessingMonitor - { - static GUIContent s_MonitorTitle = new GUIContent("Parade"); - - ComputeShader m_ComputeShader; - ComputeBuffer m_Buffer; - Material m_Material; - RenderTexture m_WaveformTexture; - Rect m_MonitorAreaRect; - - public ParadeMonitor() - { - m_ComputeShader = EditorResources.Load("Monitors/WaveformCompute.compute"); - } - - public override void Dispose() - { - GraphicsUtils.Destroy(m_Material); - GraphicsUtils.Destroy(m_WaveformTexture); - - if (m_Buffer != null) - m_Buffer.Release(); - - m_Material = null; - m_WaveformTexture = null; - m_Buffer = null; - } - - public override bool IsSupported() - { - return m_ComputeShader != null && GraphicsUtils.supportsDX11; - } - - public override GUIContent GetMonitorTitle() - { - return s_MonitorTitle; - } - - public override void OnMonitorSettings() - { - EditorGUI.BeginChangeCheck(); - - bool refreshOnPlay = m_MonitorSettings.refreshOnPlay; - float exposure = m_MonitorSettings.paradeExposure; - - refreshOnPlay = GUILayout.Toggle(refreshOnPlay, new GUIContent(FxStyles.playIcon, "Keep refreshing the parade in play mode; this may impact performances."), FxStyles.preButton); - exposure = GUILayout.HorizontalSlider(exposure, 0.05f, 0.3f, FxStyles.preSlider, FxStyles.preSliderThumb, GUILayout.Width(40f)); - - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(m_BaseEditor.serializedObject.targetObject, "Parade Settings Changed"); - m_MonitorSettings.refreshOnPlay = refreshOnPlay; - m_MonitorSettings.paradeExposure = exposure; - InternalEditorUtility.RepaintAllViews(); - } - } - - public override void OnMonitorGUI(Rect r) - { - if (Event.current.type == EventType.Repaint) - { - // If m_MonitorAreaRect isn't set the preview was just opened so refresh the render to get the waveform data - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) && Mathf.Approximately(m_MonitorAreaRect.height, 0)) - InternalEditorUtility.RepaintAllViews(); - - // Sizing - float width = m_WaveformTexture != null - ? Mathf.Min(m_WaveformTexture.width, r.width - 65f) - : r.width; - float height = m_WaveformTexture != null - ? Mathf.Min(m_WaveformTexture.height, r.height - 45f) - : r.height; - - m_MonitorAreaRect = new Rect( - Mathf.Floor(r.x + r.width / 2f - width / 2f), - Mathf.Floor(r.y + r.height / 2f - height / 2f - 5f), - width, height - ); - - if (m_WaveformTexture != null) - { - m_Material.SetFloat("_Exposure", m_MonitorSettings.paradeExposure); - - var oldActive = RenderTexture.active; - Graphics.Blit(null, m_WaveformTexture, m_Material, 0); - RenderTexture.active = oldActive; - - Graphics.DrawTexture(m_MonitorAreaRect, m_WaveformTexture); - - var color = Color.white; - const float kTickSize = 5f; - - // Rect, lines & ticks points - // A O B P C Q D - // N E - // M F - // L G - // K T J S I R H - - var A = new Vector3(m_MonitorAreaRect.x, m_MonitorAreaRect.y); - var D = new Vector3(A.x + m_MonitorAreaRect.width + 1f, m_MonitorAreaRect.y); - var H = new Vector3(D.x, D.y + m_MonitorAreaRect.height + 1f); - var K = new Vector3(A.x, H.y); - - var F = new Vector3(D.x, D.y + (H.y - D.y) / 2f); - var M = new Vector3(A.x, A.y + (K.y - A.y) / 2f); - - var B = new Vector3(A.x + (D.x - A.x) / 3f, A.y); - var C = new Vector3(A.x + (D.x - A.x) * 2f / 3f, A.y); - var I = new Vector3(K.x + (H.x - K.x) * 2f / 3f, K.y); - var J = new Vector3(K.x + (H.x - K.x) / 3f, K.y); - - var N = new Vector3(A.x, A.y + (M.y - A.y) / 2f); - var L = new Vector3(A.x, M.y + (K.y - M.y) / 2f); - var E = new Vector3(D.x, D.y + (F.y - D.y) / 2f); - var G = new Vector3(D.x, F.y + (H.y - F.y) / 2f); - - var O = new Vector3(A.x + (B.x - A.x) / 2f, A.y); - var P = new Vector3(B.x + (C.x - B.x) / 2f, B.y); - var Q = new Vector3(C.x + (D.x - C.x) / 2f, C.y); - - var R = new Vector3(I.x + (H.x - I.x) / 2f, I.y); - var S = new Vector3(J.x + (I.x - J.x) / 2f, J.y); - var T = new Vector3(K.x + (J.x - K.x) / 2f, K.y); - - // Borders - Handles.color = color; - Handles.DrawLine(A, D); - Handles.DrawLine(D, H); - Handles.DrawLine(H, K); - Handles.DrawLine(K, new Vector3(A.x, A.y - 1f)); - - Handles.DrawLine(B, J); - Handles.DrawLine(C, I); - - // Vertical ticks - Handles.DrawLine(A, new Vector3(A.x - kTickSize, A.y)); - Handles.DrawLine(N, new Vector3(N.x - kTickSize, N.y)); - Handles.DrawLine(M, new Vector3(M.x - kTickSize, M.y)); - Handles.DrawLine(L, new Vector3(L.x - kTickSize, L.y)); - Handles.DrawLine(K, new Vector3(K.x - kTickSize, K.y)); - - Handles.DrawLine(D, new Vector3(D.x + kTickSize, D.y)); - Handles.DrawLine(E, new Vector3(E.x + kTickSize, E.y)); - Handles.DrawLine(F, new Vector3(F.x + kTickSize, F.y)); - Handles.DrawLine(G, new Vector3(G.x + kTickSize, G.y)); - Handles.DrawLine(H, new Vector3(H.x + kTickSize, H.y)); - - // Horizontal ticks - Handles.DrawLine(A, new Vector3(A.x, A.y - kTickSize)); - Handles.DrawLine(B, new Vector3(B.x, B.y - kTickSize)); - Handles.DrawLine(C, new Vector3(C.x, C.y - kTickSize)); - Handles.DrawLine(D, new Vector3(D.x, D.y - kTickSize)); - Handles.DrawLine(O, new Vector3(O.x, O.y - kTickSize)); - Handles.DrawLine(P, new Vector3(P.x, P.y - kTickSize)); - Handles.DrawLine(Q, new Vector3(Q.x, Q.y - kTickSize)); - - Handles.DrawLine(H, new Vector3(H.x, H.y + kTickSize)); - Handles.DrawLine(I, new Vector3(I.x, I.y + kTickSize)); - Handles.DrawLine(J, new Vector3(J.x, J.y + kTickSize)); - Handles.DrawLine(K, new Vector3(K.x, K.y + kTickSize)); - Handles.DrawLine(R, new Vector3(R.x, R.y + kTickSize)); - Handles.DrawLine(S, new Vector3(S.x, S.y + kTickSize)); - Handles.DrawLine(T, new Vector3(T.x, T.y + kTickSize)); - - // Labels - GUI.color = color; - GUI.Label(new Rect(A.x - kTickSize - 34f, A.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleRight); - GUI.Label(new Rect(M.x - kTickSize - 34f, M.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleRight); - GUI.Label(new Rect(K.x - kTickSize - 34f, K.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleRight); - - GUI.Label(new Rect(D.x + kTickSize + 4f, D.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleLeft); - GUI.Label(new Rect(F.x + kTickSize + 4f, F.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleLeft); - GUI.Label(new Rect(H.x + kTickSize + 4f, H.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleLeft); - } - } - } - - public override void OnFrameData(RenderTexture source) - { - if (Application.isPlaying && !m_MonitorSettings.refreshOnPlay) - return; - - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) || Mathf.Approximately(m_MonitorAreaRect.height, 0)) - return; - - float ratio = ((float)source.width / (float)source.height) / 3f; - int h = 384; - int w = Mathf.FloorToInt(h * ratio); - - var rt = RenderTexture.GetTemporary(w, h, 0, source.format); - Graphics.Blit(source, rt); - ComputeWaveform(rt); - m_BaseEditor.Repaint(); - RenderTexture.ReleaseTemporary(rt); - } - - void CreateBuffer(int width, int height) - { - m_Buffer = new ComputeBuffer(width * height, sizeof(uint) << 2); - } - - void ComputeWaveform(RenderTexture source) - { - if (m_Buffer == null) - { - CreateBuffer(source.width, source.height); - } - else if (m_Buffer.count != (source.width * source.height)) - { - m_Buffer.Release(); - CreateBuffer(source.width, source.height); - } - - var channels = m_MonitorSettings.waveformY - ? new Vector4(0f, 0f, 0f, 1f) - : new Vector4(m_MonitorSettings.waveformR ? 1f : 0f, m_MonitorSettings.waveformG ? 1f : 0f, m_MonitorSettings.waveformB ? 1f : 0f, 0f); - - var cs = m_ComputeShader; - - int kernel = cs.FindKernel("KWaveformClear"); - cs.SetBuffer(kernel, "_Waveform", m_Buffer); - cs.Dispatch(kernel, source.width, 1, 1); - - kernel = cs.FindKernel("KWaveform"); - cs.SetBuffer(kernel, "_Waveform", m_Buffer); - cs.SetTexture(kernel, "_Source", source); - cs.SetInt("_IsLinear", GraphicsUtils.isLinearColorSpace ? 1 : 0); - cs.SetVector("_Channels", channels); - cs.Dispatch(kernel, source.width, 1, 1); - - if (m_WaveformTexture == null || m_WaveformTexture.width != (source.width * 3) || m_WaveformTexture.height != source.height) - { - GraphicsUtils.Destroy(m_WaveformTexture); - m_WaveformTexture = new RenderTexture(source.width * 3, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) - { - hideFlags = HideFlags.DontSave, - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - } - - if (m_Material == null) - m_Material = new Material(Shader.Find("Hidden/Post FX/Monitors/Parade Render")) { hideFlags = HideFlags.DontSave }; - - m_Material.SetBuffer("_Waveform", m_Buffer); - m_Material.SetVector("_Size", new Vector2(m_WaveformTexture.width, m_WaveformTexture.height)); - m_Material.SetVector("_Channels", channels); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs.meta deleted file mode 100644 index 50a0a8b69..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/ParadeMonitor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: b1f878f3742072e40a280683573bd0ee -timeCreated: 1460031643 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Monitors/ParadeMonitor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs deleted file mode 100644 index 851454930..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs +++ /dev/null @@ -1,241 +0,0 @@ -using UnityEditorInternal; -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - public class VectorscopeMonitor : PostProcessingMonitor - { - static GUIContent s_MonitorTitle = new GUIContent("Vectorscope"); - - ComputeShader m_ComputeShader; - ComputeBuffer m_Buffer; - Material m_Material; - RenderTexture m_VectorscopeTexture; - Rect m_MonitorAreaRect; - - public VectorscopeMonitor() - { - m_ComputeShader = EditorResources.Load("Monitors/VectorscopeCompute.compute"); - } - - public override void Dispose() - { - GraphicsUtils.Destroy(m_Material); - GraphicsUtils.Destroy(m_VectorscopeTexture); - - if (m_Buffer != null) - m_Buffer.Release(); - - m_Material = null; - m_VectorscopeTexture = null; - m_Buffer = null; - } - - public override bool IsSupported() - { - return m_ComputeShader != null && GraphicsUtils.supportsDX11; - } - - public override GUIContent GetMonitorTitle() - { - return s_MonitorTitle; - } - - public override void OnMonitorSettings() - { - EditorGUI.BeginChangeCheck(); - - bool refreshOnPlay = m_MonitorSettings.refreshOnPlay; - float exposure = m_MonitorSettings.vectorscopeExposure; - bool showBackground = m_MonitorSettings.vectorscopeShowBackground; - - refreshOnPlay = GUILayout.Toggle(refreshOnPlay, new GUIContent(FxStyles.playIcon, "Keep refreshing the vectorscope in play mode; this may impact performances."), FxStyles.preButton); - exposure = GUILayout.HorizontalSlider(exposure, 0.05f, 0.3f, FxStyles.preSlider, FxStyles.preSliderThumb, GUILayout.Width(40f)); - showBackground = GUILayout.Toggle(showBackground, new GUIContent(FxStyles.checkerIcon, "Show an YUV background in the vectorscope."), FxStyles.preButton); - - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(m_BaseEditor.serializedObject.targetObject, "Vectorscope Settings Changed"); - m_MonitorSettings.refreshOnPlay = refreshOnPlay; - m_MonitorSettings.vectorscopeExposure = exposure; - m_MonitorSettings.vectorscopeShowBackground = showBackground; - InternalEditorUtility.RepaintAllViews(); - } - } - - public override void OnMonitorGUI(Rect r) - { - if (Event.current.type == EventType.Repaint) - { - // If m_MonitorAreaRect isn't set the preview was just opened so refresh the render to get the vectoscope data - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) && Mathf.Approximately(m_MonitorAreaRect.height, 0)) - InternalEditorUtility.RepaintAllViews(); - - // Sizing - float size = 0f; - - if (r.width < r.height) - { - size = m_VectorscopeTexture != null - ? Mathf.Min(m_VectorscopeTexture.width, r.width - 35f) - : r.width; - } - else - { - size = m_VectorscopeTexture != null - ? Mathf.Min(m_VectorscopeTexture.height, r.height - 25f) - : r.height; - } - - m_MonitorAreaRect = new Rect( - Mathf.Floor(r.x + r.width / 2f - size / 2f), - Mathf.Floor(r.y + r.height / 2f - size / 2f - 5f), - size, size - ); - - if (m_VectorscopeTexture != null) - { - m_Material.SetFloat("_Exposure", m_MonitorSettings.vectorscopeExposure); - - var oldActive = RenderTexture.active; - Graphics.Blit(null, m_VectorscopeTexture, m_Material, m_MonitorSettings.vectorscopeShowBackground ? 0 : 1); - RenderTexture.active = oldActive; - - Graphics.DrawTexture(m_MonitorAreaRect, m_VectorscopeTexture); - - var color = Color.white; - const float kTickSize = 10f; - const int kTickCount = 24; - - float radius = m_MonitorAreaRect.width / 2f; - float midX = m_MonitorAreaRect.x + radius; - float midY = m_MonitorAreaRect.y + radius; - var center = new Vector2(midX, midY); - - // Cross - color.a *= 0.5f; - Handles.color = color; - Handles.DrawLine(new Vector2(midX, m_MonitorAreaRect.y), new Vector2(midX, m_MonitorAreaRect.y + m_MonitorAreaRect.height)); - Handles.DrawLine(new Vector2(m_MonitorAreaRect.x, midY), new Vector2(m_MonitorAreaRect.x + m_MonitorAreaRect.width, midY)); - - if (m_MonitorAreaRect.width > 100f) - { - color.a = 1f; - - // Ticks - Handles.color = color; - for (int i = 0; i < kTickCount; i++) - { - float a = (float)i / (float)kTickCount; - float theta = a * (Mathf.PI * 2f); - float tx = Mathf.Cos(theta + (Mathf.PI / 2f)); - float ty = Mathf.Sin(theta - (Mathf.PI / 2f)); - var innerVec = center + new Vector2(tx, ty) * (radius - kTickSize); - var outerVec = center + new Vector2(tx, ty) * radius; - Handles.DrawAAPolyLine(3f, innerVec, outerVec); - } - - // Labels (where saturation reaches 75%) - color.a = 1f; - var oldColor = GUI.color; - GUI.color = color * 2f; - - var point = new Vector2(-0.254f, -0.750f) * radius + center; - var rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[R]", FxStyles.tickStyleCenter); - - point = new Vector2(-0.497f, 0.629f) * radius + center; - rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[G]", FxStyles.tickStyleCenter); - - point = new Vector2(0.750f, 0.122f) * radius + center; - rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[B]", FxStyles.tickStyleCenter); - - point = new Vector2(-0.750f, -0.122f) * radius + center; - rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[Y]", FxStyles.tickStyleCenter); - - point = new Vector2(0.254f, 0.750f) * radius + center; - rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[C]", FxStyles.tickStyleCenter); - - point = new Vector2(0.497f, -0.629f) * radius + center; - rect = new Rect(point.x - 10f, point.y - 10f, 20f, 20f); - GUI.Label(rect, "[M]", FxStyles.tickStyleCenter); - GUI.color = oldColor; - } - } - } - } - - public override void OnFrameData(RenderTexture source) - { - if (Application.isPlaying && !m_MonitorSettings.refreshOnPlay) - return; - - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) || Mathf.Approximately(m_MonitorAreaRect.height, 0)) - return; - - float ratio = (float)source.width / (float)source.height; - int h = 384; - int w = Mathf.FloorToInt(h * ratio); - - var rt = RenderTexture.GetTemporary(w, h, 0, source.format); - Graphics.Blit(source, rt); - ComputeVectorscope(rt); - m_BaseEditor.Repaint(); - RenderTexture.ReleaseTemporary(rt); - } - - void CreateBuffer(int width, int height) - { - m_Buffer = new ComputeBuffer(width * height, sizeof(uint)); - } - - void ComputeVectorscope(RenderTexture source) - { - if (m_Buffer == null) - { - CreateBuffer(source.width, source.height); - } - else if (m_Buffer.count != (source.width * source.height)) - { - m_Buffer.Release(); - CreateBuffer(source.width, source.height); - } - - var cs = m_ComputeShader; - - int kernel = cs.FindKernel("KVectorscopeClear"); - cs.SetBuffer(kernel, "_Vectorscope", m_Buffer); - cs.SetVector("_Res", new Vector4(source.width, source.height, 0f, 0f)); - cs.Dispatch(kernel, Mathf.CeilToInt(source.width / 32f), Mathf.CeilToInt(source.height / 32f), 1); - - kernel = cs.FindKernel("KVectorscope"); - cs.SetBuffer(kernel, "_Vectorscope", m_Buffer); - cs.SetTexture(kernel, "_Source", source); - cs.SetInt("_IsLinear", GraphicsUtils.isLinearColorSpace ? 1 : 0); - cs.SetVector("_Res", new Vector4(source.width, source.height, 0f, 0f)); - cs.Dispatch(kernel, Mathf.CeilToInt(source.width / 32f), Mathf.CeilToInt(source.height / 32f), 1); - - if (m_VectorscopeTexture == null || m_VectorscopeTexture.width != source.width || m_VectorscopeTexture.height != source.height) - { - GraphicsUtils.Destroy(m_VectorscopeTexture); - m_VectorscopeTexture = new RenderTexture(source.width, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) - { - hideFlags = HideFlags.DontSave, - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - } - - if (m_Material == null) - m_Material = new Material(Shader.Find("Hidden/Post FX/Monitors/Vectorscope Render")) { hideFlags = HideFlags.DontSave }; - - m_Material.SetBuffer("_Vectorscope", m_Buffer); - m_Material.SetVector("_Size", new Vector2(m_VectorscopeTexture.width, m_VectorscopeTexture.height)); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs.meta deleted file mode 100644 index 1d5092d45..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 805119df0d94800418006c621cc99cc2 -timeCreated: 1461748750 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs deleted file mode 100644 index 98d3f8eb3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs +++ /dev/null @@ -1,280 +0,0 @@ -using UnityEditorInternal; -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - public class WaveformMonitor : PostProcessingMonitor - { - static GUIContent s_MonitorTitle = new GUIContent("Waveform"); - - ComputeShader m_ComputeShader; - ComputeBuffer m_Buffer; - Material m_Material; - RenderTexture m_WaveformTexture; - Rect m_MonitorAreaRect; - - public WaveformMonitor() - { - m_ComputeShader = EditorResources.Load("Monitors/WaveformCompute.compute"); - } - - public override void Dispose() - { - GraphicsUtils.Destroy(m_Material); - GraphicsUtils.Destroy(m_WaveformTexture); - - if (m_Buffer != null) - m_Buffer.Release(); - - m_Material = null; - m_WaveformTexture = null; - m_Buffer = null; - } - - public override bool IsSupported() - { - return m_ComputeShader != null && GraphicsUtils.supportsDX11; - } - - public override GUIContent GetMonitorTitle() - { - return s_MonitorTitle; - } - - public override void OnMonitorSettings() - { - EditorGUI.BeginChangeCheck(); - - bool refreshOnPlay = m_MonitorSettings.refreshOnPlay; - float exposure = m_MonitorSettings.waveformExposure; - bool Y = m_MonitorSettings.waveformY; - bool R = m_MonitorSettings.waveformR; - bool G = m_MonitorSettings.waveformG; - bool B = m_MonitorSettings.waveformB; - - refreshOnPlay = GUILayout.Toggle(refreshOnPlay, new GUIContent(FxStyles.playIcon, "Keep refreshing the waveform in play mode; this may impact performances."), FxStyles.preButton); - - exposure = GUILayout.HorizontalSlider(exposure, 0.05f, 0.3f, FxStyles.preSlider, FxStyles.preSliderThumb, GUILayout.Width(40f)); - - Y = GUILayout.Toggle(Y, new GUIContent("Y", "Show the luminance waveform only."), FxStyles.preButton); - - if (Y) - { - R = false; - G = false; - B = false; - } - - R = GUILayout.Toggle(R, new GUIContent("R", "Show the red waveform."), FxStyles.preButton); - G = GUILayout.Toggle(G, new GUIContent("G", "Show the green waveform."), FxStyles.preButton); - B = GUILayout.Toggle(B, new GUIContent("B", "Show the blue waveform."), FxStyles.preButton); - - if (R || G || B) - Y = false; - - if (!Y && !R && !G && !B) - { - R = true; - G = true; - B = true; - } - - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(m_BaseEditor.serializedObject.targetObject, "Waveforme Settings Changed"); - m_MonitorSettings.refreshOnPlay = refreshOnPlay; - m_MonitorSettings.waveformExposure = exposure; - m_MonitorSettings.waveformY = Y; - m_MonitorSettings.waveformR = R; - m_MonitorSettings.waveformG = G; - m_MonitorSettings.waveformB = B; - InternalEditorUtility.RepaintAllViews(); - } - } - - public override void OnMonitorGUI(Rect r) - { - if (Event.current.type == EventType.Repaint) - { - // If m_MonitorAreaRect isn't set the preview was just opened so refresh the render to get the waveform data - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) && Mathf.Approximately(m_MonitorAreaRect.height, 0)) - InternalEditorUtility.RepaintAllViews(); - - // Sizing - float width = m_WaveformTexture != null - ? Mathf.Min(m_WaveformTexture.width, r.width - 65f) - : r.width; - float height = m_WaveformTexture != null - ? Mathf.Min(m_WaveformTexture.height, r.height - 45f) - : r.height; - - m_MonitorAreaRect = new Rect( - Mathf.Floor(r.x + r.width / 2f - width / 2f), - Mathf.Floor(r.y + r.height / 2f - height / 2f - 5f), - width, height - ); - - if (m_WaveformTexture != null) - { - m_Material.SetFloat("_Exposure", m_MonitorSettings.waveformExposure); - - var oldActive = RenderTexture.active; - Graphics.Blit(null, m_WaveformTexture, m_Material, 0); - RenderTexture.active = oldActive; - - Graphics.DrawTexture(m_MonitorAreaRect, m_WaveformTexture); - - var color = Color.white; - const float kTickSize = 5f; - - // Rect, lines & ticks points - // A B C D E - // P F - // O G - // N H - // M L K J I - - var A = new Vector3(m_MonitorAreaRect.x, m_MonitorAreaRect.y); - var E = new Vector3(A.x + m_MonitorAreaRect.width + 1f, m_MonitorAreaRect.y); - var I = new Vector3(E.x, E.y + m_MonitorAreaRect.height + 1f); - var M = new Vector3(A.x, I.y); - - var C = new Vector3(A.x + (E.x - A.x) / 2f, A.y); - var G = new Vector3(E.x, E.y + (I.y - E.y) / 2f); - var K = new Vector3(M.x + (I.x - M.x) / 2f, M.y); - var O = new Vector3(A.x, A.y + (M.y - A.y) / 2f); - - var P = new Vector3(A.x, A.y + (O.y - A.y) / 2f); - var F = new Vector3(E.x, E.y + (G.y - E.y) / 2f); - var N = new Vector3(A.x, O.y + (M.y - O.y) / 2f); - var H = new Vector3(E.x, G.y + (I.y - G.y) / 2f); - - var B = new Vector3(A.x + (C.x - A.x) / 2f, A.y); - var L = new Vector3(M.x + (K.x - M.x) / 2f, M.y); - var D = new Vector3(C.x + (E.x - C.x) / 2f, A.y); - var J = new Vector3(K.x + (I.x - K.x) / 2f, M.y); - - // Borders - Handles.color = color; - Handles.DrawLine(A, E); - Handles.DrawLine(E, I); - Handles.DrawLine(I, M); - Handles.DrawLine(M, new Vector3(A.x, A.y - 1f)); - - // Vertical ticks - Handles.DrawLine(A, new Vector3(A.x - kTickSize, A.y)); - Handles.DrawLine(P, new Vector3(P.x - kTickSize, P.y)); - Handles.DrawLine(O, new Vector3(O.x - kTickSize, O.y)); - Handles.DrawLine(N, new Vector3(N.x - kTickSize, N.y)); - Handles.DrawLine(M, new Vector3(M.x - kTickSize, M.y)); - - Handles.DrawLine(E, new Vector3(E.x + kTickSize, E.y)); - Handles.DrawLine(F, new Vector3(F.x + kTickSize, F.y)); - Handles.DrawLine(G, new Vector3(G.x + kTickSize, G.y)); - Handles.DrawLine(H, new Vector3(H.x + kTickSize, H.y)); - Handles.DrawLine(I, new Vector3(I.x + kTickSize, I.y)); - - // Horizontal ticks - Handles.DrawLine(A, new Vector3(A.x, A.y - kTickSize)); - Handles.DrawLine(B, new Vector3(B.x, B.y - kTickSize)); - Handles.DrawLine(C, new Vector3(C.x, C.y - kTickSize)); - Handles.DrawLine(D, new Vector3(D.x, D.y - kTickSize)); - Handles.DrawLine(E, new Vector3(E.x, E.y - kTickSize)); - - Handles.DrawLine(M, new Vector3(M.x, M.y + kTickSize)); - Handles.DrawLine(L, new Vector3(L.x, L.y + kTickSize)); - Handles.DrawLine(K, new Vector3(K.x, K.y + kTickSize)); - Handles.DrawLine(J, new Vector3(J.x, J.y + kTickSize)); - Handles.DrawLine(I, new Vector3(I.x, I.y + kTickSize)); - - // Labels - GUI.color = color; - GUI.Label(new Rect(A.x - kTickSize - 34f, A.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleRight); - GUI.Label(new Rect(O.x - kTickSize - 34f, O.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleRight); - GUI.Label(new Rect(M.x - kTickSize - 34f, M.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleRight); - - GUI.Label(new Rect(E.x + kTickSize + 4f, E.y - 15f, 30f, 30f), "1.0", FxStyles.tickStyleLeft); - GUI.Label(new Rect(G.x + kTickSize + 4f, G.y - 15f, 30f, 30f), "0.5", FxStyles.tickStyleLeft); - GUI.Label(new Rect(I.x + kTickSize + 4f, I.y - 15f, 30f, 30f), "0.0", FxStyles.tickStyleLeft); - - GUI.Label(new Rect(M.x - 15f, M.y + kTickSize - 4f, 30f, 30f), "0.0", FxStyles.tickStyleCenter); - GUI.Label(new Rect(K.x - 15f, K.y + kTickSize - 4f, 30f, 30f), "0.5", FxStyles.tickStyleCenter); - GUI.Label(new Rect(I.x - 15f, I.y + kTickSize - 4f, 30f, 30f), "1.0", FxStyles.tickStyleCenter); - } - } - } - - public override void OnFrameData(RenderTexture source) - { - if (Application.isPlaying && !m_MonitorSettings.refreshOnPlay) - return; - - if (Mathf.Approximately(m_MonitorAreaRect.width, 0) || Mathf.Approximately(m_MonitorAreaRect.height, 0)) - return; - - float ratio = (float)source.width / (float)source.height; - int h = 384; - int w = Mathf.FloorToInt(h * ratio); - - var rt = RenderTexture.GetTemporary(w, h, 0, source.format); - Graphics.Blit(source, rt); - ComputeWaveform(rt); - m_BaseEditor.Repaint(); - RenderTexture.ReleaseTemporary(rt); - } - - void CreateBuffer(int width, int height) - { - m_Buffer = new ComputeBuffer(width * height, sizeof(uint) << 2); - } - - void ComputeWaveform(RenderTexture source) - { - if (m_Buffer == null) - { - CreateBuffer(source.width, source.height); - } - else if (m_Buffer.count != (source.width * source.height)) - { - m_Buffer.Release(); - CreateBuffer(source.width, source.height); - } - - var channels = m_MonitorSettings.waveformY - ? new Vector4(0f, 0f, 0f, 1f) - : new Vector4(m_MonitorSettings.waveformR ? 1f : 0f, m_MonitorSettings.waveformG ? 1f : 0f, m_MonitorSettings.waveformB ? 1f : 0f, 0f); - - var cs = m_ComputeShader; - - int kernel = cs.FindKernel("KWaveformClear"); - cs.SetBuffer(kernel, "_Waveform", m_Buffer); - cs.Dispatch(kernel, source.width, 1, 1); - - kernel = cs.FindKernel("KWaveform"); - cs.SetBuffer(kernel, "_Waveform", m_Buffer); - cs.SetTexture(kernel, "_Source", source); - cs.SetInt("_IsLinear", GraphicsUtils.isLinearColorSpace ? 1 : 0); - cs.SetVector("_Channels", channels); - cs.Dispatch(kernel, source.width, 1, 1); - - if (m_WaveformTexture == null || m_WaveformTexture.width != source.width || m_WaveformTexture.height != source.height) - { - GraphicsUtils.Destroy(m_WaveformTexture); - m_WaveformTexture = new RenderTexture(source.width, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear) - { - hideFlags = HideFlags.DontSave, - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - } - - if (m_Material == null) - m_Material = new Material(Shader.Find("Hidden/Post FX/Monitors/Waveform Render")) { hideFlags = HideFlags.DontSave }; - - m_Material.SetBuffer("_Waveform", m_Buffer); - m_Material.SetVector("_Size", new Vector2(m_WaveformTexture.width, m_WaveformTexture.height)); - m_Material.SetVector("_Channels", channels); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs.meta deleted file mode 100644 index a94a4c385..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Monitors/WaveformMonitor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 2d45bc7edb5916446b4fa1ae1b6f9065 -timeCreated: 1459957472 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Monitors/WaveformMonitor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs deleted file mode 100644 index 08550b2e5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Linq.Expressions; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [CustomEditor(typeof(PostProcessingBehaviour))] - public class PostProcessingBehaviourEditor : Editor - { - SerializedProperty m_Profile; - - public void OnEnable() - { - m_Profile = FindSetting((PostProcessingBehaviour x) => x.profile); - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - EditorGUILayout.PropertyField(m_Profile); - - serializedObject.ApplyModifiedProperties(); - } - - SerializedProperty FindSetting(Expression> expr) - { - return serializedObject.FindProperty(ReflectionUtils.GetFieldPath(expr)); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs.meta deleted file mode 100644 index e7f490cf3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 0c12e797b02402246a52aa270c45059b -timeCreated: 1476193645 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PostProcessingBehaviourEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs deleted file mode 100644 index 6ac50f2ad..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs +++ /dev/null @@ -1,35 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; -using UnityEditor.ProjectWindowCallback; -using System.IO; - -namespace UnityEditor.PostProcessing -{ - public class PostProcessingFactory - { - [MenuItem("Assets/Create/Post-Processing Profile", priority = 201)] - static void MenuCreatePostProcessingProfile() - { - var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon"); - ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance(), "New Post-Processing Profile.asset", icon, null); - } - - internal static PostProcessingProfile CreatePostProcessingProfileAtPath(string path) - { - var profile = ScriptableObject.CreateInstance(); - profile.name = Path.GetFileName(path); - profile.fog.enabled = true; - AssetDatabase.CreateAsset(profile, path); - return profile; - } - } - - class DoCreatePostProcessingProfile : EndNameEditAction - { - public override void Action(int instanceId, string pathName, string resourceFile) - { - PostProcessingProfile profile = PostProcessingFactory.CreatePostProcessingProfileAtPath(pathName); - ProjectWindowUtil.ShowCreatedAsset(profile); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs.meta deleted file mode 100644 index b24bee620..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingFactory.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 0dfcadb180d67014cb0a6e18d6b11f90 -timeCreated: 1466586271 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PostProcessingFactory.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs deleted file mode 100644 index b2baa9474..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs +++ /dev/null @@ -1,208 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - -namespace UnityEditor.PostProcessing -{ - //[CanEditMultipleObjects] - [CustomEditor(typeof(PostProcessingProfile))] - public class PostProcessingInspector : Editor - { - static GUIContent s_PreviewTitle = new GUIContent("Monitors"); - - PostProcessingProfile m_ConcreteTarget - { - get { return target as PostProcessingProfile; } - } - - int m_CurrentMonitorID - { - get { return m_ConcreteTarget.monitors.currentMonitorID; } - set { m_ConcreteTarget.monitors.currentMonitorID = value; } - } - - List m_Monitors; - GUIContent[] m_MonitorNames; - Dictionary m_CustomEditors = new Dictionary(); - - public bool IsInteractivePreviewOpened { get; private set; } - - void OnEnable() - { - if (target == null) - return; - - // Aggregate custom post-fx editors - var assembly = Assembly.GetAssembly(typeof(PostProcessingInspector)); - - var editorTypes = assembly.GetTypes() - .Where(x => x.IsDefined(typeof(PostProcessingModelEditorAttribute), false)); - - var customEditors = new Dictionary(); - foreach (var editor in editorTypes) - { - var attr = (PostProcessingModelEditorAttribute)editor.GetCustomAttributes(typeof(PostProcessingModelEditorAttribute), false)[0]; - var effectType = attr.type; - var alwaysEnabled = attr.alwaysEnabled; - - var editorInst = (PostProcessingModelEditor)Activator.CreateInstance(editor); - editorInst.alwaysEnabled = alwaysEnabled; - editorInst.profile = target as PostProcessingProfile; - editorInst.inspector = this; - customEditors.Add(effectType, editorInst); - } - - // ... and corresponding models - var baseType = target.GetType(); - var property = serializedObject.GetIterator(); - - while (property.Next(true)) - { - if (!property.hasChildren) - continue; - - var type = baseType; - var srcObject = ReflectionUtils.GetFieldValueFromPath(serializedObject.targetObject, ref type, property.propertyPath); - - if (srcObject == null) - continue; - - PostProcessingModelEditor editor; - if (customEditors.TryGetValue(type, out editor)) - { - var effect = (PostProcessingModel)srcObject; - - if (editor.alwaysEnabled) - effect.enabled = editor.alwaysEnabled; - - m_CustomEditors.Add(editor, effect); - editor.target = effect; - editor.serializedProperty = property.Copy(); - editor.OnPreEnable(); - } - } - - // Prepare monitors - m_Monitors = new List(); - - var monitors = new List - { - new HistogramMonitor(), - new WaveformMonitor(), - new ParadeMonitor(), - new VectorscopeMonitor() - }; - - var monitorNames = new List(); - - foreach (var monitor in monitors) - { - if (monitor.IsSupported()) - { - monitor.Init(m_ConcreteTarget.monitors, this); - m_Monitors.Add(monitor); - monitorNames.Add(monitor.GetMonitorTitle()); - } - } - - m_MonitorNames = monitorNames.ToArray(); - - if (m_Monitors.Count > 0) - m_ConcreteTarget.monitors.onFrameEndEditorOnly = OnFrameEnd; - } - - void OnDisable() - { - if (m_CustomEditors != null) - { - foreach (var editor in m_CustomEditors.Keys) - editor.OnDisable(); - - m_CustomEditors.Clear(); - } - - if (m_Monitors != null) - { - foreach (var monitor in m_Monitors) - monitor.Dispose(); - - m_Monitors.Clear(); - } - - if (m_ConcreteTarget != null) - m_ConcreteTarget.monitors.onFrameEndEditorOnly = null; - } - - void OnFrameEnd(RenderTexture source) - { - if (!IsInteractivePreviewOpened) - return; - - if (m_CurrentMonitorID < m_Monitors.Count) - m_Monitors[m_CurrentMonitorID].OnFrameData(source); - - IsInteractivePreviewOpened = false; - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - // Handles undo/redo events first (before they get used by the editors' widgets) - var e = Event.current; - if (e.type == EventType.ValidateCommand && e.commandName == "UndoRedoPerformed") - { - foreach (var editor in m_CustomEditors) - editor.Value.OnValidate(); - } - - if (!m_ConcreteTarget.debugViews.IsModeActive(BuiltinDebugViewsModel.Mode.None)) - EditorGUILayout.HelpBox("A debug view is currently enabled. Changes done to an effect might not be visible.", MessageType.Info); - - foreach (var editor in m_CustomEditors) - { - EditorGUI.BeginChangeCheck(); - - editor.Key.OnGUI(); - - if (EditorGUI.EndChangeCheck()) - editor.Value.OnValidate(); - } - - serializedObject.ApplyModifiedProperties(); - } - - public override GUIContent GetPreviewTitle() - { - return s_PreviewTitle; - } - - public override bool HasPreviewGUI() - { - return GraphicsUtils.supportsDX11 && m_Monitors.Count > 0; - } - - public override void OnPreviewSettings() - { - using (new EditorGUILayout.HorizontalScope()) - { - if (m_CurrentMonitorID < m_Monitors.Count) - m_Monitors[m_CurrentMonitorID].OnMonitorSettings(); - - GUILayout.Space(5); - m_CurrentMonitorID = EditorGUILayout.Popup(m_CurrentMonitorID, m_MonitorNames, FxStyles.preDropdown, GUILayout.MaxWidth(100f)); - } - } - - public override void OnInteractivePreviewGUI(Rect r, GUIStyle background) - { - IsInteractivePreviewOpened = true; - - if (m_CurrentMonitorID < m_Monitors.Count) - m_Monitors[m_CurrentMonitorID].OnMonitorGUI(r); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs.meta deleted file mode 100644 index cebe2c016..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingInspector.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 27fa95984763d9d47bbad59e7fdb66fe -timeCreated: 1467188923 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PostProcessingInspector.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs deleted file mode 100644 index 844f9e893..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs +++ /dev/null @@ -1,79 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; -using System; -using System.Linq.Expressions; - -namespace UnityEditor.PostProcessing -{ - public class PostProcessingModelEditor - { - public PostProcessingModel target { get; internal set; } - public SerializedProperty serializedProperty { get; internal set; } - - protected SerializedProperty m_SettingsProperty; - protected SerializedProperty m_EnabledProperty; - - internal bool alwaysEnabled = false; - internal PostProcessingProfile profile; - internal PostProcessingInspector inspector; - - internal void OnPreEnable() - { - m_SettingsProperty = serializedProperty.FindPropertyRelative("m_Settings"); - m_EnabledProperty = serializedProperty.FindPropertyRelative("m_Enabled"); - - OnEnable(); - } - - public virtual void OnEnable() - {} - - public virtual void OnDisable() - {} - - internal void OnGUI() - { - GUILayout.Space(5); - - var display = alwaysEnabled - ? EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty, Reset) - : EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty, m_EnabledProperty, Reset); - - if (display) - { - EditorGUI.indentLevel++; - using (new EditorGUI.DisabledGroupScope(!m_EnabledProperty.boolValue)) - { - OnInspectorGUI(); - } - EditorGUI.indentLevel--; - } - } - - void Reset() - { - var obj = serializedProperty.serializedObject; - Undo.RecordObject(obj.targetObject, "Reset"); - target.Reset(); - EditorUtility.SetDirty(obj.targetObject); - } - - public virtual void OnInspectorGUI() - {} - - public void Repaint() - { - inspector.Repaint(); - } - - protected SerializedProperty FindSetting(Expression> expr) - { - return m_SettingsProperty.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr)); - } - - protected SerializedProperty FindSetting(SerializedProperty prop, Expression> expr) - { - return prop.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr)); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs.meta deleted file mode 100644 index 83fc233ba..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingModelEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: afe296d4ede60a0479734dc8c7df82c2 -timeCreated: 1467188923 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PostProcessingModelEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs deleted file mode 100644 index 04edf8403..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using UnityEngine; - -namespace UnityEditor.PostProcessing -{ - using MonitorSettings = UnityEngine.PostProcessing.PostProcessingProfile.MonitorSettings; - - public abstract class PostProcessingMonitor : IDisposable - { - protected MonitorSettings m_MonitorSettings; - protected PostProcessingInspector m_BaseEditor; - - public void Init(MonitorSettings monitorSettings, PostProcessingInspector baseEditor) - { - m_MonitorSettings = monitorSettings; - m_BaseEditor = baseEditor; - } - - public abstract bool IsSupported(); - - public abstract GUIContent GetMonitorTitle(); - - public virtual void OnMonitorSettings() - {} - - public abstract void OnMonitorGUI(Rect r); - - public virtual void OnFrameData(RenderTexture source) - {} - - public virtual void Dispose() - {} - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs.meta deleted file mode 100644 index 47713100b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PostProcessingMonitor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 801186e9e649457469bcddd8ee391c71 -timeCreated: 1467188912 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PostProcessingMonitor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers.meta deleted file mode 100644 index a44f9e2b1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: ced92f1cc2085ae48acacc79a2b8e196 -folderAsset: yes -timeCreated: 1467189428 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs deleted file mode 100644 index a56c201fa..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs +++ /dev/null @@ -1,36 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [CustomPropertyDrawer(typeof(GetSetAttribute))] - sealed class GetSetDrawer : PropertyDrawer - { - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - var attribute = (GetSetAttribute)base.attribute; - - EditorGUI.BeginChangeCheck(); - EditorGUI.PropertyField(position, property, label); - - if (EditorGUI.EndChangeCheck()) - { - attribute.dirty = true; - } - else if (attribute.dirty) - { - var parent = ReflectionUtils.GetParentObject(property.propertyPath, property.serializedObject.targetObject); - - var type = parent.GetType(); - var info = type.GetProperty(attribute.name); - - if (info == null) - Debug.LogError("Invalid property name \"" + attribute.name + "\""); - else - info.SetValue(parent, fieldInfo.GetValue(parent), null); - - attribute.dirty = false; - } - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs.meta deleted file mode 100644 index bb94271b0..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e1a43b92f2bbd914ca2e6b4c6a5dba48 -timeCreated: 1460383963 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs deleted file mode 100644 index 0d148d850..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs +++ /dev/null @@ -1,29 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [CustomPropertyDrawer(typeof(UnityEngine.PostProcessing.MinAttribute))] - sealed class MinDrawer : PropertyDrawer - { - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - UnityEngine.PostProcessing.MinAttribute attribute = (UnityEngine.PostProcessing.MinAttribute)base.attribute; - - if (property.propertyType == SerializedPropertyType.Integer) - { - int v = EditorGUI.IntField(position, label, property.intValue); - property.intValue = (int)Mathf.Max(v, attribute.min); - } - else if (property.propertyType == SerializedPropertyType.Float) - { - float v = EditorGUI.FloatField(position, label, property.floatValue); - property.floatValue = Mathf.Max(v, attribute.min); - } - else - { - EditorGUI.LabelField(position, label.text, "Use Min with float or int."); - } - } - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs.meta deleted file mode 100644 index 3735d5003..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8995f52f410f0fb4cb1bdaa71a16e04e -timeCreated: 1467364278 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs deleted file mode 100644 index c86c88fdc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs +++ /dev/null @@ -1,244 +0,0 @@ -using System.Collections.Generic; -using System.Reflection; -using UnityEngine; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - [CustomPropertyDrawer(typeof(TrackballGroupAttribute))] - sealed class TrackballGroupDrawer : PropertyDrawer - { - static Material s_Material; - - const int k_MinWheelSize = 80; - const int k_MaxWheelSize = 256; - - bool m_ResetState; - - // Cached trackball computation methods (for speed reasons) - static Dictionary m_TrackballMethods = new Dictionary(); - - internal static int m_Size - { - get - { - int size = Mathf.FloorToInt(EditorGUIUtility.currentViewWidth / 3f) - 18; - size = Mathf.Clamp(size, k_MinWheelSize, k_MaxWheelSize); - return size; - } - } - - public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) - { - if (s_Material == null) - s_Material = new Material(Shader.Find("Hidden/Post FX/UI/Trackball")) { hideFlags = HideFlags.HideAndDontSave }; - - position = new Rect(position.x, position.y, position.width / 3f, position.height); - int size = m_Size; - position.x += 5f; - - var enumerator = property.GetEnumerator(); - while (enumerator.MoveNext()) - { - var prop = enumerator.Current as SerializedProperty; - if (prop == null || prop.propertyType != SerializedPropertyType.Color) - continue; - - OnWheelGUI(position, size, prop.Copy()); - position.x += position.width; - } - } - - void OnWheelGUI(Rect position, int size, SerializedProperty property) - { - if (Event.current.type == EventType.Layout) - return; - - var value = property.colorValue; - float offset = value.a; - - var wheelDrawArea = position; - wheelDrawArea.height = size; - - if (wheelDrawArea.width > wheelDrawArea.height) - { - wheelDrawArea.x += (wheelDrawArea.width - wheelDrawArea.height) / 2.0f; - wheelDrawArea.width = position.height; - } - - wheelDrawArea.width = wheelDrawArea.height; - - float hsize = size / 2f; - float radius = 0.38f * size; - Vector3 hsv; - Color.RGBToHSV(value, out hsv.x, out hsv.y, out hsv.z); - - if (Event.current.type == EventType.Repaint) - { - float scale = EditorGUIUtility.pixelsPerPoint; - - // Wheel texture - var oldRT = RenderTexture.active; - var rt = RenderTexture.GetTemporary((int)(size * scale), (int)(size * scale), 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); - s_Material.SetFloat("_Offset", offset); - s_Material.SetFloat("_DisabledState", GUI.enabled ? 1f : 0.5f); - s_Material.SetVector("_Resolution", new Vector2(size * scale, size * scale / 2f)); - Graphics.Blit(null, rt, s_Material, EditorGUIUtility.isProSkin ? 0 : 1); - RenderTexture.active = oldRT; - - GUI.DrawTexture(wheelDrawArea, rt); - RenderTexture.ReleaseTemporary(rt); - - // Thumb - var thumbPos = Vector2.zero; - float theta = hsv.x * (Mathf.PI * 2f); - float len = hsv.y * radius; - thumbPos.x = Mathf.Cos(theta + (Mathf.PI / 2f)); - thumbPos.y = Mathf.Sin(theta - (Mathf.PI / 2f)); - thumbPos *= len; - var thumbSize = FxStyles.wheelThumbSize; - var thumbSizeH = thumbSize / 2f; - FxStyles.wheelThumb.Draw(new Rect(wheelDrawArea.x + hsize + thumbPos.x - thumbSizeH.x, wheelDrawArea.y + hsize + thumbPos.y - thumbSizeH.y, thumbSize.x, thumbSize.y), false, false, false, false); - } - - var bounds = wheelDrawArea; - bounds.x += hsize - radius; - bounds.y += hsize - radius; - bounds.width = bounds.height = radius * 2f; - hsv = GetInput(bounds, hsv, radius); - value = Color.HSVToRGB(hsv.x, hsv.y, 1f); - value.a = offset; - - // Luminosity booster - position = wheelDrawArea; - float oldX = position.x; - float oldW = position.width; - position.y += position.height + 4f; - position.x += (position.width - (position.width * 0.75f)) / 2f; - position.width = position.width * 0.75f; - position.height = EditorGUIUtility.singleLineHeight; - value.a = GUI.HorizontalSlider(position, value.a, -1f, 1f); - - // Advanced controls - var data = Vector3.zero; - - if (TryGetDisplayValue(value, property, out data)) - { - position.x = oldX; - position.y += position.height; - position.width = oldW / 3f; - - using (new EditorGUI.DisabledGroupScope(true)) - { - GUI.Label(position, data.x.ToString("F2"), EditorStyles.centeredGreyMiniLabel); - position.x += position.width; - GUI.Label(position, data.y.ToString("F2"), EditorStyles.centeredGreyMiniLabel); - position.x += position.width; - GUI.Label(position, data.z.ToString("F2"), EditorStyles.centeredGreyMiniLabel); - position.x += position.width; - } - } - - // Title - position.x = oldX; - position.y += position.height; - position.width = oldW; - GUI.Label(position, property.displayName, EditorStyles.centeredGreyMiniLabel); - - if (m_ResetState) - { - value = Color.clear; - m_ResetState = false; - } - - property.colorValue = value; - } - - bool TryGetDisplayValue(Color color, SerializedProperty property, out Vector3 output) - { - output = Vector3.zero; - MethodInfo method; - - if (!m_TrackballMethods.TryGetValue(property.name, out method)) - { - var field = ReflectionUtils.GetFieldInfoFromPath(property.serializedObject.targetObject, property.propertyPath); - - if (!field.IsDefined(typeof(TrackballAttribute), false)) - return false; - - var attr = (TrackballAttribute)field.GetCustomAttributes(typeof(TrackballAttribute), false)[0]; - const BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static; - method = typeof(ColorGradingComponent).GetMethod(attr.method, flags); - m_TrackballMethods.Add(property.name, method); - } - - if (method == null) - return false; - - output = (Vector3)method.Invoke(property.serializedObject.targetObject, new object[] { color }); - return true; - } - - static readonly int k_ThumbHash = "colorWheelThumb".GetHashCode(); - - Vector3 GetInput(Rect bounds, Vector3 hsv, float radius) - { - var e = Event.current; - var id = GUIUtility.GetControlID(k_ThumbHash, FocusType.Passive, bounds); - - var mousePos = e.mousePosition; - var relativePos = mousePos - new Vector2(bounds.x, bounds.y); - - if (e.type == EventType.MouseDown && GUIUtility.hotControl == 0 && bounds.Contains(mousePos)) - { - if (e.button == 0) - { - var center = new Vector2(bounds.x + radius, bounds.y + radius); - float dist = Vector2.Distance(center, mousePos); - - if (dist <= radius) - { - e.Use(); - GetWheelHueSaturation(relativePos.x, relativePos.y, radius, out hsv.x, out hsv.y); - GUIUtility.hotControl = id; - GUI.changed = true; - } - } - else if (e.button == 1) - { - e.Use(); - GUI.changed = true; - m_ResetState = true; - } - } - else if (e.type == EventType.MouseDrag && e.button == 0 && GUIUtility.hotControl == id) - { - e.Use(); - GUI.changed = true; - GetWheelHueSaturation(relativePos.x, relativePos.y, radius, out hsv.x, out hsv.y); - } - else if (e.rawType == EventType.MouseUp && e.button == 0 && GUIUtility.hotControl == id) - { - e.Use(); - GUIUtility.hotControl = 0; - } - - return hsv; - } - - void GetWheelHueSaturation(float x, float y, float radius, out float hue, out float saturation) - { - float dx = (x - radius) / radius; - float dy = (y - radius) / radius; - float d = Mathf.Sqrt(dx * dx + dy * dy); - hue = Mathf.Atan2(dx, -dy); - hue = 1f - ((hue > 0) ? hue : (Mathf.PI * 2f) + hue) / (Mathf.PI * 2f); - saturation = Mathf.Clamp01(d); - } - - public override float GetPropertyHeight(SerializedProperty property, GUIContent label) - { - return m_Size + 4f * 2f + EditorGUIUtility.singleLineHeight * 3f; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs.meta deleted file mode 100644 index c94208bf3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: a668d493c5ed56d448b53c19b2c3dfd2 -timeCreated: 1460563239 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils.meta deleted file mode 100644 index 7d88e963f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: b52c69ccefdae7545bfb4d0bf9b7df71 -folderAsset: yes -timeCreated: 1467189428 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs deleted file mode 100644 index 98bd4de0d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs +++ /dev/null @@ -1,847 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace UnityEditor.PostProcessing -{ - public sealed class CurveEditor - { - #region Enums - - enum EditMode - { - None, - Moving, - TangentEdit - } - - enum Tangent - { - In, - Out - } - #endregion - - #region Structs - public struct Settings - { - public Rect bounds; - public RectOffset padding; - public Color selectionColor; - public float curvePickingDistance; - public float keyTimeClampingDistance; - - public static Settings defaultSettings - { - get - { - return new Settings - { - bounds = new Rect(0f, 0f, 1f, 1f), - padding = new RectOffset(10, 10, 10, 10), - selectionColor = Color.yellow, - curvePickingDistance = 6f, - keyTimeClampingDistance = 1e-4f - }; - } - } - } - - public struct CurveState - { - public bool visible; - public bool editable; - public uint minPointCount; - public float zeroKeyConstantValue; - public Color color; - public float width; - public float handleWidth; - public bool showNonEditableHandles; - public bool onlyShowHandlesOnSelection; - public bool loopInBounds; - - public static CurveState defaultState - { - get - { - return new CurveState - { - visible = true, - editable = true, - minPointCount = 2, - zeroKeyConstantValue = 0f, - color = Color.white, - width = 2f, - handleWidth = 2f, - showNonEditableHandles = true, - onlyShowHandlesOnSelection = false, - loopInBounds = false - }; - } - } - } - - public struct Selection - { - public SerializedProperty curve; - public int keyframeIndex; - public Keyframe? keyframe; - - public Selection(SerializedProperty curve, int keyframeIndex, Keyframe? keyframe) - { - this.curve = curve; - this.keyframeIndex = keyframeIndex; - this.keyframe = keyframe; - } - } - - internal struct MenuAction - { - internal SerializedProperty curve; - internal int index; - internal Vector3 position; - - internal MenuAction(SerializedProperty curve) - { - this.curve = curve; - this.index = -1; - this.position = Vector3.zero; - } - - internal MenuAction(SerializedProperty curve, int index) - { - this.curve = curve; - this.index = index; - this.position = Vector3.zero; - } - - internal MenuAction(SerializedProperty curve, Vector3 position) - { - this.curve = curve; - this.index = -1; - this.position = position; - } - } - #endregion - - #region Fields & properties - public Settings settings { get; private set; } - - Dictionary m_Curves; - Rect m_CurveArea; - - SerializedProperty m_SelectedCurve; - int m_SelectedKeyframeIndex = -1; - - EditMode m_EditMode = EditMode.None; - Tangent m_TangentEditMode; - - bool m_Dirty; - #endregion - - #region Constructors & destructors - public CurveEditor() - : this(Settings.defaultSettings) - {} - - public CurveEditor(Settings settings) - { - this.settings = settings; - m_Curves = new Dictionary(); - } - - #endregion - - #region Public API - public void Add(params SerializedProperty[] curves) - { - foreach (var curve in curves) - Add(curve, CurveState.defaultState); - } - - public void Add(SerializedProperty curve) - { - Add(curve, CurveState.defaultState); - } - - public void Add(SerializedProperty curve, CurveState state) - { - // Make sure the property is in fact an AnimationCurve - var animCurve = curve.animationCurveValue; - if (animCurve == null) - throw new ArgumentException("curve"); - - if (m_Curves.ContainsKey(curve)) - Debug.LogWarning("Curve has already been added to the editor"); - - m_Curves.Add(curve, state); - } - - public void Remove(SerializedProperty curve) - { - m_Curves.Remove(curve); - } - - public void RemoveAll() - { - m_Curves.Clear(); - } - - public CurveState GetCurveState(SerializedProperty curve) - { - CurveState state; - if (!m_Curves.TryGetValue(curve, out state)) - throw new KeyNotFoundException("curve"); - - return state; - } - - public void SetCurveState(SerializedProperty curve, CurveState state) - { - if (!m_Curves.ContainsKey(curve)) - throw new KeyNotFoundException("curve"); - - m_Curves[curve] = state; - } - - public Selection GetSelection() - { - Keyframe? key = null; - if (m_SelectedKeyframeIndex > -1) - { - var curve = m_SelectedCurve.animationCurveValue; - - if (m_SelectedKeyframeIndex >= curve.length) - m_SelectedKeyframeIndex = -1; - else - key = curve[m_SelectedKeyframeIndex]; - } - - return new Selection(m_SelectedCurve, m_SelectedKeyframeIndex, key); - } - - public void SetKeyframe(SerializedProperty curve, int keyframeIndex, Keyframe keyframe) - { - var animCurve = curve.animationCurveValue; - SetKeyframe(animCurve, keyframeIndex, keyframe); - SaveCurve(curve, animCurve); - } - - public bool OnGUI(Rect rect) - { - if (Event.current.type == EventType.Repaint) - m_Dirty = false; - - GUI.BeginClip(rect); - { - var area = new Rect(Vector2.zero, rect.size); - m_CurveArea = settings.padding.Remove(area); - - foreach (var curve in m_Curves) - OnCurveGUI(area, curve.Key, curve.Value); - - OnGeneralUI(area); - } - GUI.EndClip(); - - return m_Dirty; - } - - #endregion - - #region UI & events - - void OnCurveGUI(Rect rect, SerializedProperty curve, CurveState state) - { - // Discard invisible curves - if (!state.visible) - return; - - var animCurve = curve.animationCurveValue; - var keys = animCurve.keys; - var length = keys.Length; - - // Curve drawing - // Slightly dim non-editable curves - var color = state.color; - if (!state.editable) - color.a *= 0.5f; - - Handles.color = color; - var bounds = settings.bounds; - - if (length == 0) - { - var p1 = CurveToCanvas(new Vector3(bounds.xMin, state.zeroKeyConstantValue)); - var p2 = CurveToCanvas(new Vector3(bounds.xMax, state.zeroKeyConstantValue)); - Handles.DrawAAPolyLine(state.width, p1, p2); - } - else if (length == 1) - { - var p1 = CurveToCanvas(new Vector3(bounds.xMin, keys[0].value)); - var p2 = CurveToCanvas(new Vector3(bounds.xMax, keys[0].value)); - Handles.DrawAAPolyLine(state.width, p1, p2); - } - else - { - var prevKey = keys[0]; - for (int k = 1; k < length; k++) - { - var key = keys[k]; - var pts = BezierSegment(prevKey, key); - - if (float.IsInfinity(prevKey.outTangent) || float.IsInfinity(key.inTangent)) - { - var s = HardSegment(prevKey, key); - Handles.DrawAAPolyLine(state.width, s[0], s[1], s[2]); - } - else Handles.DrawBezier(pts[0], pts[3], pts[1], pts[2], color, null, state.width); - - prevKey = key; - } - - // Curve extents & loops - if (keys[0].time > bounds.xMin) - { - if (state.loopInBounds) - { - var p1 = keys[length - 1]; - p1.time -= settings.bounds.width; - var p2 = keys[0]; - var pts = BezierSegment(p1, p2); - - if (float.IsInfinity(p1.outTangent) || float.IsInfinity(p2.inTangent)) - { - var s = HardSegment(p1, p2); - Handles.DrawAAPolyLine(state.width, s[0], s[1], s[2]); - } - else Handles.DrawBezier(pts[0], pts[3], pts[1], pts[2], color, null, state.width); - } - else - { - var p1 = CurveToCanvas(new Vector3(bounds.xMin, keys[0].value)); - var p2 = CurveToCanvas(keys[0]); - Handles.DrawAAPolyLine(state.width, p1, p2); - } - } - - if (keys[length - 1].time < bounds.xMax) - { - if (state.loopInBounds) - { - var p1 = keys[length - 1]; - var p2 = keys[0]; - p2.time += settings.bounds.width; - var pts = BezierSegment(p1, p2); - - if (float.IsInfinity(p1.outTangent) || float.IsInfinity(p2.inTangent)) - { - var s = HardSegment(p1, p2); - Handles.DrawAAPolyLine(state.width, s[0], s[1], s[2]); - } - else Handles.DrawBezier(pts[0], pts[3], pts[1], pts[2], color, null, state.width); - } - else - { - var p1 = CurveToCanvas(keys[length - 1]); - var p2 = CurveToCanvas(new Vector3(bounds.xMax, keys[length - 1].value)); - Handles.DrawAAPolyLine(state.width, p1, p2); - } - } - } - - // Make sure selection is correct (undo can break it) - bool isCurrentlySelectedCurve = curve == m_SelectedCurve; - - if (isCurrentlySelectedCurve && m_SelectedKeyframeIndex >= length) - m_SelectedKeyframeIndex = -1; - - // Handles & keys - for (int k = 0; k < length; k++) - { - bool isCurrentlySelectedKeyframe = k == m_SelectedKeyframeIndex; - var e = Event.current; - - var pos = CurveToCanvas(keys[k]); - var hitRect = new Rect(pos.x - 8f, pos.y - 8f, 16f, 16f); - var offset = isCurrentlySelectedCurve - ? new RectOffset(5, 5, 5, 5) - : new RectOffset(6, 6, 6, 6); - - var outTangent = pos + CurveTangentToCanvas(keys[k].outTangent).normalized * 40f; - var inTangent = pos - CurveTangentToCanvas(keys[k].inTangent).normalized * 40f; - var inTangentHitRect = new Rect(inTangent.x - 7f, inTangent.y - 7f, 14f, 14f); - var outTangentHitrect = new Rect(outTangent.x - 7f, outTangent.y - 7f, 14f, 14f); - - // Draw - if (state.showNonEditableHandles) - { - if (e.type == EventType.Repaint) - { - var selectedColor = (isCurrentlySelectedCurve && isCurrentlySelectedKeyframe) - ? settings.selectionColor - : state.color; - - // Keyframe - EditorGUI.DrawRect(offset.Remove(hitRect), selectedColor); - - // Tangents - if (isCurrentlySelectedCurve && (!state.onlyShowHandlesOnSelection || (state.onlyShowHandlesOnSelection && isCurrentlySelectedKeyframe))) - { - Handles.color = selectedColor; - - if (k > 0 || state.loopInBounds) - { - Handles.DrawAAPolyLine(state.handleWidth, pos, inTangent); - EditorGUI.DrawRect(offset.Remove(inTangentHitRect), selectedColor); - } - - if (k < length - 1 || state.loopInBounds) - { - Handles.DrawAAPolyLine(state.handleWidth, pos, outTangent); - EditorGUI.DrawRect(offset.Remove(outTangentHitrect), selectedColor); - } - } - } - } - - // Events - if (state.editable) - { - // Keyframe move - if (m_EditMode == EditMode.Moving && e.type == EventType.MouseDrag && isCurrentlySelectedCurve && isCurrentlySelectedKeyframe) - { - EditMoveKeyframe(animCurve, keys, k); - } - - // Tangent editing - if (m_EditMode == EditMode.TangentEdit && e.type == EventType.MouseDrag && isCurrentlySelectedCurve && isCurrentlySelectedKeyframe) - { - bool alreadyBroken = !(Mathf.Approximately(keys[k].inTangent, keys[k].outTangent) || (float.IsInfinity(keys[k].inTangent) && float.IsInfinity(keys[k].outTangent))); - EditMoveTangent(animCurve, keys, k, m_TangentEditMode, e.shift || !(alreadyBroken || e.control)); - } - - // Keyframe selection & context menu - if (e.type == EventType.MouseDown && rect.Contains(e.mousePosition)) - { - if (hitRect.Contains(e.mousePosition)) - { - if (e.button == 0) - { - SelectKeyframe(curve, k); - m_EditMode = EditMode.Moving; - e.Use(); - } - else if (e.button == 1) - { - // Keyframe context menu - var menu = new GenericMenu(); - menu.AddItem(new GUIContent("Delete Key"), false, (x) => - { - var action = (MenuAction)x; - var curveValue = action.curve.animationCurveValue; - action.curve.serializedObject.Update(); - RemoveKeyframe(curveValue, action.index); - m_SelectedKeyframeIndex = -1; - SaveCurve(action.curve, curveValue); - action.curve.serializedObject.ApplyModifiedProperties(); - }, new MenuAction(curve, k)); - menu.ShowAsContext(); - e.Use(); - } - } - } - - // Tangent selection & edit mode - if (e.type == EventType.MouseDown && rect.Contains(e.mousePosition)) - { - if (inTangentHitRect.Contains(e.mousePosition) && (k > 0 || state.loopInBounds)) - { - SelectKeyframe(curve, k); - m_EditMode = EditMode.TangentEdit; - m_TangentEditMode = Tangent.In; - e.Use(); - } - else if (outTangentHitrect.Contains(e.mousePosition) && (k < length - 1 || state.loopInBounds)) - { - SelectKeyframe(curve, k); - m_EditMode = EditMode.TangentEdit; - m_TangentEditMode = Tangent.Out; - e.Use(); - } - } - - // Mouse up - clean up states - if (e.rawType == EventType.MouseUp && m_EditMode != EditMode.None) - { - m_EditMode = EditMode.None; - } - - // Set cursors - { - EditorGUIUtility.AddCursorRect(hitRect, MouseCursor.MoveArrow); - - if (k > 0 || state.loopInBounds) - EditorGUIUtility.AddCursorRect(inTangentHitRect, MouseCursor.RotateArrow); - - if (k < length - 1 || state.loopInBounds) - EditorGUIUtility.AddCursorRect(outTangentHitrect, MouseCursor.RotateArrow); - } - } - } - - Handles.color = Color.white; - SaveCurve(curve, animCurve); - } - - void OnGeneralUI(Rect rect) - { - var e = Event.current; - - // Selection - if (e.type == EventType.MouseDown) - { - GUI.FocusControl(null); - m_SelectedCurve = null; - m_SelectedKeyframeIndex = -1; - bool used = false; - - var hit = CanvasToCurve(e.mousePosition); - float curvePickValue = CurveToCanvas(hit).y; - - // Try and select a curve - foreach (var curve in m_Curves) - { - if (!curve.Value.editable || !curve.Value.visible) - continue; - - var prop = curve.Key; - var state = curve.Value; - var animCurve = prop.animationCurveValue; - float hitY = animCurve.length == 0 - ? state.zeroKeyConstantValue - : animCurve.Evaluate(hit.x); - - var curvePos = CurveToCanvas(new Vector3(hit.x, hitY)); - - if (Mathf.Abs(curvePos.y - curvePickValue) < settings.curvePickingDistance) - { - m_SelectedCurve = prop; - - if (e.clickCount == 2 && e.button == 0) - { - // Create a keyframe on double-click on this curve - EditCreateKeyframe(animCurve, hit, true, state.zeroKeyConstantValue); - SaveCurve(prop, animCurve); - } - else if (e.button == 1) - { - // Curve context menu - var menu = new GenericMenu(); - menu.AddItem(new GUIContent("Add Key"), false, (x) => - { - var action = (MenuAction)x; - var curveValue = action.curve.animationCurveValue; - action.curve.serializedObject.Update(); - EditCreateKeyframe(curveValue, hit, true, 0f); - SaveCurve(action.curve, curveValue); - action.curve.serializedObject.ApplyModifiedProperties(); - }, new MenuAction(prop, hit)); - menu.ShowAsContext(); - e.Use(); - used = true; - } - } - } - - if (e.clickCount == 2 && e.button == 0 && m_SelectedCurve == null) - { - // Create a keyframe on every curve on double-click - foreach (var curve in m_Curves) - { - if (!curve.Value.editable || !curve.Value.visible) - continue; - - var prop = curve.Key; - var state = curve.Value; - var animCurve = prop.animationCurveValue; - EditCreateKeyframe(animCurve, hit, e.alt, state.zeroKeyConstantValue); - SaveCurve(prop, animCurve); - } - } - else if (!used && e.button == 1) - { - // Global context menu - var menu = new GenericMenu(); - menu.AddItem(new GUIContent("Add Key At Position"), false, () => ContextMenuAddKey(hit, false)); - menu.AddItem(new GUIContent("Add Key On Curves"), false, () => ContextMenuAddKey(hit, true)); - menu.ShowAsContext(); - } - - e.Use(); - } - - // Delete selected key(s) - if (e.type == EventType.KeyDown && (e.keyCode == KeyCode.Delete || e.keyCode == KeyCode.Backspace)) - { - if (m_SelectedKeyframeIndex != -1 && m_SelectedCurve != null) - { - var animCurve = m_SelectedCurve.animationCurveValue; - var length = animCurve.length; - - if (m_Curves[m_SelectedCurve].minPointCount < length && length >= 0) - { - EditDeleteKeyframe(animCurve, m_SelectedKeyframeIndex); - m_SelectedKeyframeIndex = -1; - SaveCurve(m_SelectedCurve, animCurve); - } - - e.Use(); - } - } - } - - void SaveCurve(SerializedProperty prop, AnimationCurve curve) - { - prop.animationCurveValue = curve; - } - - void Invalidate() - { - m_Dirty = true; - } - - #endregion - - #region Keyframe manipulations - - void SelectKeyframe(SerializedProperty curve, int keyframeIndex) - { - m_SelectedKeyframeIndex = keyframeIndex; - m_SelectedCurve = curve; - Invalidate(); - } - - void ContextMenuAddKey(Vector3 hit, bool createOnCurve) - { - SerializedObject serializedObject = null; - - foreach (var curve in m_Curves) - { - if (!curve.Value.editable || !curve.Value.visible) - continue; - - var prop = curve.Key; - var state = curve.Value; - - if (serializedObject == null) - { - serializedObject = prop.serializedObject; - serializedObject.Update(); - } - - var animCurve = prop.animationCurveValue; - EditCreateKeyframe(animCurve, hit, createOnCurve, state.zeroKeyConstantValue); - SaveCurve(prop, animCurve); - } - - if (serializedObject != null) - serializedObject.ApplyModifiedProperties(); - - Invalidate(); - } - - void EditCreateKeyframe(AnimationCurve curve, Vector3 position, bool createOnCurve, float zeroKeyConstantValue) - { - float tangent = EvaluateTangent(curve, position.x); - - if (createOnCurve) - { - position.y = curve.length == 0 - ? zeroKeyConstantValue - : curve.Evaluate(position.x); - } - - AddKeyframe(curve, new Keyframe(position.x, position.y, tangent, tangent)); - } - - void EditDeleteKeyframe(AnimationCurve curve, int keyframeIndex) - { - RemoveKeyframe(curve, keyframeIndex); - } - - void AddKeyframe(AnimationCurve curve, Keyframe newValue) - { - curve.AddKey(newValue); - Invalidate(); - } - - void RemoveKeyframe(AnimationCurve curve, int keyframeIndex) - { - curve.RemoveKey(keyframeIndex); - Invalidate(); - } - - void SetKeyframe(AnimationCurve curve, int keyframeIndex, Keyframe newValue) - { - var keys = curve.keys; - - if (keyframeIndex > 0) - newValue.time = Mathf.Max(keys[keyframeIndex - 1].time + settings.keyTimeClampingDistance, newValue.time); - - if (keyframeIndex < keys.Length - 1) - newValue.time = Mathf.Min(keys[keyframeIndex + 1].time - settings.keyTimeClampingDistance, newValue.time); - - curve.MoveKey(keyframeIndex, newValue); - Invalidate(); - } - - void EditMoveKeyframe(AnimationCurve curve, Keyframe[] keys, int keyframeIndex) - { - var key = CanvasToCurve(Event.current.mousePosition); - float inTgt = keys[keyframeIndex].inTangent; - float outTgt = keys[keyframeIndex].outTangent; - SetKeyframe(curve, keyframeIndex, new Keyframe(key.x, key.y, inTgt, outTgt)); - } - - void EditMoveTangent(AnimationCurve curve, Keyframe[] keys, int keyframeIndex, Tangent targetTangent, bool linkTangents) - { - var pos = CanvasToCurve(Event.current.mousePosition); - - float time = keys[keyframeIndex].time; - float value = keys[keyframeIndex].value; - - pos -= new Vector3(time, value); - - if (targetTangent == Tangent.In && pos.x > 0f) - pos.x = 0f; - - if (targetTangent == Tangent.Out && pos.x < 0f) - pos.x = 0f; - - float tangent; - - if (Mathf.Approximately(pos.x, 0f)) - tangent = pos.y < 0f ? float.PositiveInfinity : float.NegativeInfinity; - else - tangent = pos.y / pos.x; - - float inTangent = keys[keyframeIndex].inTangent; - float outTangent = keys[keyframeIndex].outTangent; - - if (targetTangent == Tangent.In || linkTangents) - inTangent = tangent; - if (targetTangent == Tangent.Out || linkTangents) - outTangent = tangent; - - SetKeyframe(curve, keyframeIndex, new Keyframe(time, value, inTangent, outTangent)); - } - - #endregion - - #region Maths utilities - - Vector3 CurveToCanvas(Keyframe keyframe) - { - return CurveToCanvas(new Vector3(keyframe.time, keyframe.value)); - } - - Vector3 CurveToCanvas(Vector3 position) - { - var bounds = settings.bounds; - var output = new Vector3((position.x - bounds.x) / (bounds.xMax - bounds.x), (position.y - bounds.y) / (bounds.yMax - bounds.y)); - output.x = output.x * (m_CurveArea.xMax - m_CurveArea.xMin) + m_CurveArea.xMin; - output.y = (1f - output.y) * (m_CurveArea.yMax - m_CurveArea.yMin) + m_CurveArea.yMin; - return output; - } - - Vector3 CanvasToCurve(Vector3 position) - { - var bounds = settings.bounds; - var output = position; - output.x = (output.x - m_CurveArea.xMin) / (m_CurveArea.xMax - m_CurveArea.xMin); - output.y = (output.y - m_CurveArea.yMin) / (m_CurveArea.yMax - m_CurveArea.yMin); - output.x = Mathf.Lerp(bounds.x, bounds.xMax, output.x); - output.y = Mathf.Lerp(bounds.yMax, bounds.y, output.y); - return output; - } - - Vector3 CurveTangentToCanvas(float tangent) - { - if (!float.IsInfinity(tangent)) - { - var bounds = settings.bounds; - float ratio = (m_CurveArea.width / m_CurveArea.height) / ((bounds.xMax - bounds.x) / (bounds.yMax - bounds.y)); - return new Vector3(1f, -tangent / ratio).normalized; - } - - return float.IsPositiveInfinity(tangent) ? Vector3.up : Vector3.down; - } - - Vector3[] BezierSegment(Keyframe start, Keyframe end) - { - var segment = new Vector3[4]; - - segment[0] = CurveToCanvas(new Vector3(start.time, start.value)); - segment[3] = CurveToCanvas(new Vector3(end.time, end.value)); - - float middle = start.time + ((end.time - start.time) * 0.333333f); - float middle2 = start.time + ((end.time - start.time) * 0.666666f); - - segment[1] = CurveToCanvas(new Vector3(middle, ProjectTangent(start.time, start.value, start.outTangent, middle))); - segment[2] = CurveToCanvas(new Vector3(middle2, ProjectTangent(end.time, end.value, end.inTangent, middle2))); - - return segment; - } - - Vector3[] HardSegment(Keyframe start, Keyframe end) - { - var segment = new Vector3[3]; - - segment[0] = CurveToCanvas(start); - segment[1] = CurveToCanvas(new Vector3(end.time, start.value)); - segment[2] = CurveToCanvas(end); - - return segment; - } - - float ProjectTangent(float inPosition, float inValue, float inTangent, float projPosition) - { - return inValue + ((projPosition - inPosition) * inTangent); - } - - float EvaluateTangent(AnimationCurve curve, float time) - { - int prev = -1, next = 0; - for (int i = 0; i < curve.keys.Length; i++) - { - if (time > curve.keys[i].time) - { - prev = i; - next = i + 1; - } - else break; - } - - if (next == 0) - return 0f; - - if (prev == curve.keys.Length - 1) - return 0f; - - const float kD = 1e-3f; - float tp = Mathf.Max(time - kD, curve.keys[prev].time); - float tn = Mathf.Min(time + kD, curve.keys[next].time); - - float vp = curve.Evaluate(tp); - float vn = curve.Evaluate(tn); - - if (Mathf.Approximately(tn, tp)) - return (vn - vp > 0f) ? float.PositiveInfinity : float.NegativeInfinity; - - return (vn - vp) / (tn - tp); - } - - #endregion - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs.meta deleted file mode 100644 index 6158b3491..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/CurveEditor.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: afb349ef0bffd144db2bdd25630f648e -timeCreated: 1472650750 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Utils/CurveEditor.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs deleted file mode 100644 index c0d4e1ecd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs +++ /dev/null @@ -1,194 +0,0 @@ -using System; -using UnityEngine; -using System.Collections.Generic; -using System.Globalization; -using System.Reflection; -using UnityEngine.PostProcessing; - -namespace UnityEditor.PostProcessing -{ - public static class EditorGUIHelper - { - static EditorGUIHelper() - { - s_GUIContentCache = new Dictionary(); - } - - #region GUIContent caching - - static Dictionary s_GUIContentCache; - - public static GUIContent GetContent(string textAndTooltip) - { - if (string.IsNullOrEmpty(textAndTooltip)) - return GUIContent.none; - - GUIContent content; - - if (!s_GUIContentCache.TryGetValue(textAndTooltip, out content)) - { - var s = textAndTooltip.Split('|'); - content = new GUIContent(s[0]); - - if (s.Length > 1 && !string.IsNullOrEmpty(s[1])) - content.tooltip = s[1]; - - s_GUIContentCache.Add(textAndTooltip, content); - } - - return content; - } - - #endregion - - public static bool Header(string title, SerializedProperty group, Action resetAction) - { - var rect = GUILayoutUtility.GetRect(16f, 22f, FxStyles.header); - GUI.Box(rect, title, FxStyles.header); - - var display = group == null || group.isExpanded; - - var foldoutRect = new Rect(rect.x + 4f, rect.y + 2f, 13f, 13f); - var e = Event.current; - - var popupRect = new Rect(rect.x + rect.width - FxStyles.paneOptionsIcon.width - 5f, rect.y + FxStyles.paneOptionsIcon.height / 2f + 1f, FxStyles.paneOptionsIcon.width, FxStyles.paneOptionsIcon.height); - GUI.DrawTexture(popupRect, FxStyles.paneOptionsIcon); - - if (e.type == EventType.Repaint) - FxStyles.headerFoldout.Draw(foldoutRect, false, false, display, false); - - if (e.type == EventType.MouseDown) - { - if (popupRect.Contains(e.mousePosition)) - { - var popup = new GenericMenu(); - popup.AddItem(GetContent("Reset"), false, () => resetAction()); - popup.AddSeparator(string.Empty); - popup.AddItem(GetContent("Copy Settings"), false, () => CopySettings(group)); - - if (CanPaste(group)) - popup.AddItem(GetContent("Paste Settings"), false, () => PasteSettings(group)); - else - popup.AddDisabledItem(GetContent("Paste Settings")); - - popup.ShowAsContext(); - } - else if (rect.Contains(e.mousePosition) && group != null) - { - display = !display; - - if (group != null) - group.isExpanded = !group.isExpanded; - - e.Use(); - } - } - - return display; - } - - public static bool Header(string title, SerializedProperty group, SerializedProperty enabledField, Action resetAction) - { - var field = ReflectionUtils.GetFieldInfoFromPath(enabledField.serializedObject.targetObject, enabledField.propertyPath); - object parent = null; - PropertyInfo prop = null; - - if (field != null && field.IsDefined(typeof(GetSetAttribute), false)) - { - var attr = (GetSetAttribute)field.GetCustomAttributes(typeof(GetSetAttribute), false)[0]; - parent = ReflectionUtils.GetParentObject(enabledField.propertyPath, enabledField.serializedObject.targetObject); - prop = parent.GetType().GetProperty(attr.name); - } - - var display = group == null || group.isExpanded; - var enabled = enabledField.boolValue; - - var rect = GUILayoutUtility.GetRect(16f, 22f, FxStyles.header); - GUI.Box(rect, title, FxStyles.header); - - var toggleRect = new Rect(rect.x + 4f, rect.y + 4f, 13f, 13f); - var e = Event.current; - - var popupRect = new Rect(rect.x + rect.width - FxStyles.paneOptionsIcon.width - 5f, rect.y + FxStyles.paneOptionsIcon.height / 2f + 1f, FxStyles.paneOptionsIcon.width, FxStyles.paneOptionsIcon.height); - GUI.DrawTexture(popupRect, FxStyles.paneOptionsIcon); - - if (e.type == EventType.Repaint) - FxStyles.headerCheckbox.Draw(toggleRect, false, false, enabled, false); - - if (e.type == EventType.MouseDown) - { - const float kOffset = 2f; - toggleRect.x -= kOffset; - toggleRect.y -= kOffset; - toggleRect.width += kOffset * 2f; - toggleRect.height += kOffset * 2f; - - if (toggleRect.Contains(e.mousePosition)) - { - enabledField.boolValue = !enabledField.boolValue; - - if (prop != null) - prop.SetValue(parent, enabledField.boolValue, null); - - e.Use(); - } - else if (popupRect.Contains(e.mousePosition)) - { - var popup = new GenericMenu(); - popup.AddItem(GetContent("Reset"), false, () => resetAction()); - popup.AddSeparator(string.Empty); - popup.AddItem(GetContent("Copy Settings"), false, () => CopySettings(group)); - - if (CanPaste(group)) - popup.AddItem(GetContent("Paste Settings"), false, () => PasteSettings(group)); - else - popup.AddDisabledItem(GetContent("Paste Settings")); - - popup.ShowAsContext(); - } - else if (rect.Contains(e.mousePosition) && group != null) - { - display = !display; - group.isExpanded = !group.isExpanded; - e.Use(); - } - } - - return display; - } - - static void CopySettings(SerializedProperty settings) - { - var t = typeof(PostProcessingProfile); - var settingsStruct = ReflectionUtils.GetFieldValueFromPath(settings.serializedObject.targetObject, ref t, settings.propertyPath); - var serializedString = t.ToString() + '|' + JsonUtility.ToJson(settingsStruct); - EditorGUIUtility.systemCopyBuffer = serializedString; - } - - static bool CanPaste(SerializedProperty settings) - { - var data = EditorGUIUtility.systemCopyBuffer; - - if (string.IsNullOrEmpty(data)) - return false; - - var parts = data.Split('|'); - - if (string.IsNullOrEmpty(parts[0])) - return false; - - var field = ReflectionUtils.GetFieldInfoFromPath(settings.serializedObject.targetObject, settings.propertyPath); - return parts[0] == field.FieldType.ToString(); - } - - static void PasteSettings(SerializedProperty settings) - { - Undo.RecordObject(settings.serializedObject.targetObject, "Paste effect settings"); - var field = ReflectionUtils.GetFieldInfoFromPath(settings.serializedObject.targetObject, settings.propertyPath); - var json = EditorGUIUtility.systemCopyBuffer.Substring(field.FieldType.ToString().Length + 1); - var obj = JsonUtility.FromJson(json, field.FieldType); - var parent = ReflectionUtils.GetParentObject(settings.propertyPath, settings.serializedObject.targetObject); - field.SetValue(parent, obj, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, CultureInfo.CurrentCulture); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs.meta deleted file mode 100644 index d5bebdf49..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorGUIHelper.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 7226e17fa48c86148a3d15584e21b4cb -timeCreated: 1460477750 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Utils/EditorGUIHelper.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs deleted file mode 100644 index aea193cd8..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs +++ /dev/null @@ -1,58 +0,0 @@ -using UnityEngine; - -namespace UnityEditor.PostProcessing -{ - using UnityObject = Object; - - static class EditorResources - { - static string m_EditorResourcesPath = string.Empty; - - internal static string editorResourcesPath - { - get - { - if (string.IsNullOrEmpty(m_EditorResourcesPath)) - { - string path; - - if (SearchForEditorResourcesPath(out path)) - m_EditorResourcesPath = path; - else - Debug.LogError("Unable to locate editor resources. Make sure the PostProcessing package has been installed correctly."); - } - - return m_EditorResourcesPath; - } - } - - internal static T Load(string name) - where T : UnityObject - { - return AssetDatabase.LoadAssetAtPath(editorResourcesPath + name); - } - - static bool SearchForEditorResourcesPath(out string path) - { - path = string.Empty; - - string searchStr = "/PostProcessing/Editor Resources/"; - string str = null; - - foreach (var assetPath in AssetDatabase.GetAllAssetPaths()) - { - if (assetPath.Contains(searchStr)) - { - str = assetPath; - break; - } - } - - if (str == null) - return false; - - path = str.Substring(0, str.LastIndexOf(searchStr) + searchStr.Length); - return true; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs.meta deleted file mode 100644 index b1585ca4c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/EditorResources.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: a66d7b0165140a1439be89b5afc000fb -timeCreated: 1476177015 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Utils/EditorResources.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs deleted file mode 100644 index e3a4dffc2..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs +++ /dev/null @@ -1,111 +0,0 @@ -using UnityEngine; - -namespace UnityEditor.PostProcessing -{ - public static class FxStyles - { - public static GUIStyle tickStyleRight; - public static GUIStyle tickStyleLeft; - public static GUIStyle tickStyleCenter; - - public static GUIStyle preSlider; - public static GUIStyle preSliderThumb; - public static GUIStyle preButton; - public static GUIStyle preDropdown; - - public static GUIStyle preLabel; - public static GUIStyle hueCenterCursor; - public static GUIStyle hueRangeCursor; - - public static GUIStyle centeredBoldLabel; - public static GUIStyle wheelThumb; - public static Vector2 wheelThumbSize; - - public static GUIStyle header; - public static GUIStyle headerCheckbox; - public static GUIStyle headerFoldout; - - public static Texture2D playIcon; - public static Texture2D checkerIcon; - public static Texture2D paneOptionsIcon; - - public static GUIStyle centeredMiniLabel; - - static FxStyles() - { - tickStyleRight = new GUIStyle("Label") - { - alignment = TextAnchor.MiddleRight, - fontSize = 9 - }; - - tickStyleLeft = new GUIStyle("Label") - { - alignment = TextAnchor.MiddleLeft, - fontSize = 9 - }; - - tickStyleCenter = new GUIStyle("Label") - { - alignment = TextAnchor.MiddleCenter, - fontSize = 9 - }; - - preSlider = new GUIStyle("PreSlider"); - preSliderThumb = new GUIStyle("PreSliderThumb"); - preButton = new GUIStyle("PreButton"); - preDropdown = new GUIStyle("preDropdown"); - - preLabel = new GUIStyle("ShurikenLabel"); - - hueCenterCursor = new GUIStyle("ColorPicker2DThumb") - { - normal = { background = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/ShurikenPlus.png") }, - fixedWidth = 6, - fixedHeight = 6 - }; - - hueRangeCursor = new GUIStyle(hueCenterCursor) - { - normal = { background = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/CircularToggle_ON.png") } - }; - - wheelThumb = new GUIStyle("ColorPicker2DThumb"); - - centeredBoldLabel = new GUIStyle(GUI.skin.GetStyle("Label")) - { - alignment = TextAnchor.UpperCenter, - fontStyle = FontStyle.Bold - }; - - centeredMiniLabel = new GUIStyle(EditorStyles.centeredGreyMiniLabel) - { - alignment = TextAnchor.UpperCenter - }; - - wheelThumbSize = new Vector2( - !Mathf.Approximately(wheelThumb.fixedWidth, 0f) ? wheelThumb.fixedWidth : wheelThumb.padding.horizontal, - !Mathf.Approximately(wheelThumb.fixedHeight, 0f) ? wheelThumb.fixedHeight : wheelThumb.padding.vertical - ); - - header = new GUIStyle("ShurikenModuleTitle") - { - font = (new GUIStyle("Label")).font, - border = new RectOffset(15, 7, 4, 4), - fixedHeight = 22, - contentOffset = new Vector2(20f, -2f) - }; - - headerCheckbox = new GUIStyle("ShurikenCheckMark"); - headerFoldout = new GUIStyle("Foldout"); - - playIcon = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/IN foldout act.png"); - checkerIcon = (Texture2D)EditorGUIUtility.LoadRequired("Icons/CheckerFloor.png"); - - if (EditorGUIUtility.isProSkin) - paneOptionsIcon = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/DarkSkin/Images/pane options.png"); - else - paneOptionsIcon = (Texture2D)EditorGUIUtility.LoadRequired("Builtin Skins/LightSkin/Images/pane options.png"); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs.meta deleted file mode 100644 index f91877f96..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/FxStyles.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8f31cf52f05e80c4ea48570d0c3c8f59 -timeCreated: 1461744717 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Utils/FxStyles.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs deleted file mode 100644 index 0dd92d1bb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq.Expressions; -using System.Reflection; -using System.Text; - -namespace UnityEditor.PostProcessing -{ - public static class ReflectionUtils - { - static Dictionary, FieldInfo> s_FieldInfoFromPaths = new Dictionary, FieldInfo>(); - - public static FieldInfo GetFieldInfoFromPath(object source, string path) - { - FieldInfo field = null; - var kvp = new KeyValuePair(source, path); - - if (!s_FieldInfoFromPaths.TryGetValue(kvp, out field)) - { - var splittedPath = path.Split('.'); - var type = source.GetType(); - - foreach (var t in splittedPath) - { - field = type.GetField(t, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); - - if (field == null) - break; - - type = field.FieldType; - } - - s_FieldInfoFromPaths.Add(kvp, field); - } - - return field; - } - - public static string GetFieldPath(Expression> expr) - { - MemberExpression me; - switch (expr.Body.NodeType) - { - case ExpressionType.Convert: - case ExpressionType.ConvertChecked: - var ue = expr.Body as UnaryExpression; - me = (ue != null ? ue.Operand : null) as MemberExpression; - break; - default: - me = expr.Body as MemberExpression; - break; - } - - var members = new List(); - while (me != null) - { - members.Add(me.Member.Name); - me = me.Expression as MemberExpression; - } - - var sb = new StringBuilder(); - for (int i = members.Count - 1; i >= 0; i--) - { - sb.Append(members[i]); - if (i > 0) sb.Append('.'); - } - - return sb.ToString(); - } - - public static object GetFieldValue(object source, string name) - { - var type = source.GetType(); - - while (type != null) - { - var f = type.GetField(name, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); - if (f != null) - return f.GetValue(source); - - type = type.BaseType; - } - - return null; - } - - public static object GetFieldValueFromPath(object source, ref Type baseType, string path) - { - var splittedPath = path.Split('.'); - object srcObject = source; - - foreach (var t in splittedPath) - { - var fieldInfo = baseType.GetField(t, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); - - if (fieldInfo == null) - { - baseType = null; - break; - } - - baseType = fieldInfo.FieldType; - srcObject = GetFieldValue(srcObject, t); - } - - return baseType == null - ? null - : srcObject; - } - - public static object GetParentObject(string path, object obj) - { - var fields = path.Split('.'); - - if (fields.Length == 1) - return obj; - - var info = obj.GetType().GetField(fields[0], BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - obj = info.GetValue(obj); - - return GetParentObject(string.Join(".", fields, 1, fields.Length - 1), obj); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs.meta deleted file mode 100644 index 41ee1c315..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Editor/Utils/ReflectionUtils.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 71f7e805a7fc35046afbcf5c2639d116 -timeCreated: 1466604313 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Editor/Utils/ReflectionUtils.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset b/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset deleted file mode 100644 index d5fea167f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset +++ /dev/null @@ -1,345 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8a3bdb2cd68f901469e7cc149151eb49, type: 3} - m_Name: Effects - m_EditorClassIdentifier: - debugViews: - m_Enabled: 1 - m_Settings: - mode: 0 - depth: - scale: 1 - motionVectors: - sourceOpacity: 1 - motionImageOpacity: 0 - motionImageAmplitude: 16 - motionVectorsOpacity: 1 - motionVectorsResolution: 24 - motionVectorsAmplitude: 64 - fog: - m_Enabled: 1 - m_Settings: - excludeSkybox: 1 - antialiasing: - m_Enabled: 1 - m_Settings: - method: 0 - fxaaSettings: - preset: 4 - taaSettings: - jitterSpread: 0.75 - sharpen: 0.3 - stationaryBlending: 0.95 - motionBlending: 0.85 - ambientOcclusion: - m_Enabled: 1 - m_Settings: - intensity: 1.17 - radius: 0.08 - sampleCount: 16 - downsampling: 1 - forceForwardCompatibility: 0 - ambientOnly: 1 - highPrecision: 1 - screenSpaceReflection: - m_Enabled: 1 - m_Settings: - reflection: - blendType: 0 - reflectionQuality: 0 - maxDistance: 300 - iterationCount: 256 - stepSize: 3 - widthModifier: 0.5 - reflectionBlur: 1 - reflectBackfaces: 1 - intensity: - reflectionMultiplier: 1 - fadeDistance: 100 - fresnelFade: 0 - fresnelFadePower: 1 - screenEdgeMask: - intensity: 0.03 - depthOfField: - m_Enabled: 0 - m_Settings: - focusDistance: 10 - aperture: 5.6 - focalLength: 50 - useCameraFov: 0 - kernelSize: 1 - motionBlur: - m_Enabled: 0 - m_Settings: - shutterAngle: 270 - sampleCount: 10 - frameBlending: 0 - eyeAdaptation: - m_Enabled: 0 - m_Settings: - lowPercent: 45 - highPercent: 95 - minLuminance: -5 - maxLuminance: 1 - keyValue: 0.25 - dynamicKeyValue: 1 - adaptationType: 0 - speedUp: 2 - speedDown: 1 - logMin: -8 - logMax: 4 - bloom: - m_Enabled: 0 - m_Settings: - bloom: - intensity: 0.5 - threshold: 1.1 - softKnee: 0.5 - radius: 4 - antiFlicker: 0 - lensDirt: - texture: {fileID: 0} - intensity: 3 - colorGrading: - m_Enabled: 0 - m_Settings: - tonemapping: - tonemapper: 2 - neutralBlackIn: 0.02 - neutralWhiteIn: 10 - neutralBlackOut: 0 - neutralWhiteOut: 10 - neutralWhiteLevel: 5.3 - neutralWhiteClip: 10 - basic: - postExposure: 0 - temperature: 0 - tint: 0 - hueShift: 0 - saturation: 1 - contrast: 1 - channelMixer: - red: {x: 1, y: 0, z: 0} - green: {x: 0, y: 1, z: 0} - blue: {x: 0, y: 0, z: 1} - currentEditingChannel: 0 - colorWheels: - mode: 1 - log: - slope: {r: 0, g: 0, b: 0, a: 0} - power: {r: 0, g: 0, b: 0, a: 0} - offset: {r: 0, g: 0, b: 0, a: 0} - linear: - lift: {r: 0, g: 0, b: 0, a: 0} - gamma: {r: 0, g: 0, b: 0, a: 0} - gain: {r: 0, g: 0, b: 0, a: 0} - curves: - master: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - red: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - green: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - blue: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - hueVShue: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 1 - m_ZeroValue: 0.5 - m_Range: 1 - hueVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 1 - m_ZeroValue: 0.5 - m_Range: 1 - satVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0.5 - m_Range: 1 - lumVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0.5 - m_Range: 1 - e_CurrentEditingCurve: 0 - e_CurveY: 1 - e_CurveR: 0 - e_CurveG: 0 - e_CurveB: 0 - userLut: - m_Enabled: 0 - m_Settings: - lut: {fileID: 0} - contribution: 1 - chromaticAberration: - m_Enabled: 0 - m_Settings: - spectralTexture: {fileID: 0} - intensity: 0.1 - grain: - m_Enabled: 0 - m_Settings: - colored: 1 - intensity: 0.5 - size: 1 - luminanceContribution: 0.8 - vignette: - m_Enabled: 0 - m_Settings: - mode: 0 - color: {r: 0, g: 0, b: 0, a: 1} - center: {x: 0.5, y: 0.5} - intensity: 0.45 - smoothness: 0.2 - roundness: 1 - mask: {fileID: 0} - opacity: 1 - rounded: 0 - dithering: - m_Enabled: 0 - monitors: - currentMonitorID: 0 - refreshOnPlay: 0 - histogramMode: 3 - waveformExposure: 0.12 - waveformY: 0 - waveformR: 1 - waveformG: 1 - waveformB: 1 - paradeExposure: 0.12 - vectorscopeExposure: 0.12 - vectorscopeShowBackground: 1 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset.meta deleted file mode 100644 index 25fea70f3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Effects.asset.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 9144f5df4f5e6c84ca714e8db657dccd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Effects.asset" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources.meta index 5c37245e4..288d39874 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 52380717b4884c04ebc31c46dda84909 +guid: 0c54b26f415167e4c95d0db52c6bf019 folderAsset: yes -timeCreated: 1466585230 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64.meta index ef44148aa..2655656b1 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 2be7cf05ee8fb17438022d4869299900 +guid: 511b5167814298e47ae438ff1690e0f9 folderAsset: yes -timeCreated: 1485107615 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/COPYING.txt.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/COPYING.txt.meta index f53ed494e..a4fd075eb 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/COPYING.txt.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/COPYING.txt.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: fa3fc398fe396744c9299e70b63bfdd7 -timeCreated: 1485181015 -licenseType: Store +guid: 189ea1470907d21479979fbcd7e088e2 TextScriptImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Bluenoise64/COPYING.txt" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/LICENSE.txt.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/LICENSE.txt.meta index 3df7e797e..73ef79fc4 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/LICENSE.txt.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Bluenoise64/LICENSE.txt.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: 48ffda675aa0afa4f9eec3a5d5487aeb -timeCreated: 1485181015 -licenseType: Store +guid: 7771b5fae528d2b44a11077a525a8edb TextScriptImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Bluenoise64/LICENSE.txt" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders.meta deleted file mode 100644 index d7992c8c3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e039bcc30d13c9341aa224f4e89f21b3 -folderAsset: yes -timeCreated: 1462199729 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc deleted file mode 100644 index fa996b96e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc +++ /dev/null @@ -1,1333 +0,0 @@ -#ifndef __ACES__ -#define __ACES__ - -/** - * https://github.com/ampas/aces-dev - * - * Academy Color Encoding System (ACES) software and tools are provided by the - * Academy under the following terms and conditions: A worldwide, royalty-free, - * non-exclusive right to copy, modify, create derivatives, and use, in source and - * binary forms, is hereby granted, subject to acceptance of this license. - * - * Copyright 2015 Academy of Motion Picture Arts and Sciences (A.M.P.A.S.). - * Portions contributed by others as indicated. All rights reserved. - * - * Performance of any of the aforementioned acts indicates acceptance to be bound - * by the following terms and conditions: - * - * * Copies of source code, in whole or in part, must retain the above copyright - * notice, this list of conditions and the Disclaimer of Warranty. - * - * * Use in binary form must retain the above copyright notice, this list of - * conditions and the Disclaimer of Warranty in the documentation and/or other - * materials provided with the distribution. - * - * * Nothing in this license shall be deemed to grant any rights to trademarks, - * copyrights, patents, trade secrets or any other intellectual property of - * A.M.P.A.S. or any contributors, except as expressly stated herein. - * - * * Neither the name "A.M.P.A.S." nor the name of any other contributors to this - * software may be used to endorse or promote products derivative of or based on - * this software without express prior written permission of A.M.P.A.S. or the - * contributors, as appropriate. - * - * This license shall be construed pursuant to the laws of the State of - * California, and any disputes related thereto shall be subject to the - * jurisdiction of the courts therein. - * - * Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND - * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., OR ANY - * CONTRIBUTORS OR DISTRIBUTORS, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, RESITUTIONARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, THE ACADEMY SPECIFICALLY - * DISCLAIMS ANY REPRESENTATIONS OR WARRANTIES WHATSOEVER RELATED TO PATENT OR - * OTHER INTELLECTUAL PROPERTY RIGHTS IN THE ACADEMY COLOR ENCODING SYSTEM, OR - * APPLICATIONS THEREOF, HELD BY PARTIES OTHER THAN A.M.P.A.S.,WHETHER DISCLOSED OR - * UNDISCLOSED. - */ - -//#define CUSTOM_WHITE_POINT - -/* - Basic usage : - - half4 color = tex2D(_MainTex, i.uv); - half3 aces = unity_to_ACES(color.rgb); - half3 oces = RRT(aces); - half3 odt = ODT_RGBmonitor_100nits_dim(oces); - return half4(odt, color.a); - - If you want to customize the white point, uncomment the previous define and set uniforms accordingly: - - float whitePoint = 48f; // Default ACES value - material.SetFloat("CINEMA_WHITE", whitePoint); - material.SetFloat("CINEMA_DARK", whitePoint / 2400f); - */ - -#include "Common.cginc" - -#define ACEScc_MAX 1.4679964 -#define ACEScc_MIDGRAY 0.4135884 - -// -// Precomputed matrices (pre-transposed) -// See https://github.com/ampas/aces-dev/blob/master/transforms/ctl/README-MATRIX.md -// -static const half3x3 sRGB_2_AP0 = { - 0.4397010, 0.3829780, 0.1773350, - 0.0897923, 0.8134230, 0.0967616, - 0.0175440, 0.1115440, 0.8707040 -}; - -static const half3x3 sRGB_2_AP1 = { - 0.61319, 0.33951, 0.04737, - 0.07021, 0.91634, 0.01345, - 0.02062, 0.10957, 0.86961 -}; - -static const half3x3 AP0_2_sRGB = { - 2.52169, -1.13413, -0.38756, - -0.27648, 1.37272, -0.09624, - -0.01538, -0.15298, 1.16835, -}; - -static const half3x3 AP1_2_sRGB = { - 1.70505, -0.62179, -0.08326, - -0.13026, 1.14080, -0.01055, - -0.02400, -0.12897, 1.15297, -}; - -static const half3x3 AP0_2_AP1_MAT = { - 1.4514393161, -0.2365107469, -0.2149285693, - -0.0765537734, 1.1762296998, -0.0996759264, - 0.0083161484, -0.0060324498, 0.9977163014 -}; - -static const half3x3 AP1_2_AP0_MAT = { - 0.6954522414, 0.1406786965, 0.1638690622, - 0.0447945634, 0.8596711185, 0.0955343182, - -0.0055258826, 0.0040252103, 1.0015006723 -}; - -static const half3x3 AP1_2_XYZ_MAT = { - 0.6624541811, 0.1340042065, 0.1561876870, - 0.2722287168, 0.6740817658, 0.0536895174, - -0.0055746495, 0.0040607335, 1.0103391003 -}; - -static const half3x3 XYZ_2_AP1_MAT = { - 1.6410233797, -0.3248032942, -0.2364246952, - -0.6636628587, 1.6153315917, 0.0167563477, - 0.0117218943, -0.0082844420, 0.9883948585 -}; - -static const half3x3 XYZ_2_REC709_MAT = { - 3.2409699419, -1.5373831776, -0.4986107603, - -0.9692436363, 1.8759675015, 0.0415550574, - 0.0556300797, -0.2039769589, 1.0569715142 -}; - -static const half3x3 XYZ_2_REC2020_MAT = { - 1.7166511880, -0.3556707838, -0.2533662814, - -0.6666843518, 1.6164812366, 0.0157685458, - 0.0176398574, -0.0427706133, 0.9421031212 -}; - -static const half3x3 XYZ_2_DCIP3_MAT = { - 2.7253940305, -1.0180030062, -0.4401631952, - -0.7951680258, 1.6897320548, 0.0226471906, - 0.0412418914, -0.0876390192, 1.1009293786 -}; - -static const half3 AP1_RGB2Y = half3(0.272229, 0.674082, 0.0536895); - -static const half3x3 RRT_SAT_MAT = { - 0.9708890, 0.0269633, 0.00214758, - 0.0108892, 0.9869630, 0.00214758, - 0.0108892, 0.0269633, 0.96214800 -}; - -static const half3x3 ODT_SAT_MAT = { - 0.949056, 0.0471857, 0.00375827, - 0.019056, 0.9771860, 0.00375827, - 0.019056, 0.0471857, 0.93375800 -}; - -static const half3x3 D60_2_D65_CAT = { - 0.98722400, -0.00611327, 0.0159533, - -0.00759836, 1.00186000, 0.0053302, - 0.00307257, -0.00509595, 1.0816800 -}; - -// -// Unity to ACES -// -// converts Unity raw (sRGB primaries) to -// ACES2065-1 (AP0 w/ linear encoding) -// -half3 unity_to_ACES(half3 x) -{ - x = mul(sRGB_2_AP0, x); - return x; -} - -// -// ACES to Unity -// -// converts ACES2065-1 (AP0 w/ linear encoding) -// Unity raw (sRGB primaries) to -// -half3 ACES_to_unity(half3 x) -{ - x = mul(AP0_2_sRGB, x); - return x; -} - -// -// Unity to ACEScg -// -// converts Unity raw (sRGB primaries) to -// ACEScg (AP1 w/ linear encoding) -// -half3 unity_to_ACEScg(half3 x) -{ - x = mul(sRGB_2_AP1, x); - return x; -} - -// -// ACEScg to Unity -// -// converts ACEScg (AP1 w/ linear encoding) to -// Unity raw (sRGB primaries) -// -half3 ACEScg_to_unity(half3 x) -{ - x = mul(AP1_2_sRGB, x); - return x; -} - -// -// ACES Color Space Conversion - ACES to ACEScc -// -// converts ACES2065-1 (AP0 w/ linear encoding) to -// ACEScc (AP1 w/ logarithmic encoding) -// -// This transform follows the formulas from section 4.4 in S-2014-003 -// -half ACES_to_ACEScc(half x) -{ - if (x <= 0.0) - return -0.35828683; // = (log2(pow(2.0, -15.0) * 0.5) + 9.72) / 17.52 - else if (x < pow(2.0, -15.0)) - return (log2(pow(2.0, -16.0) + x * 0.5) + 9.72) / 17.52; - else // (x >= pow(2.0, -15.0)) - return (log2(x) + 9.72) / 17.52; -} - -half3 ACES_to_ACEScc(half3 x) -{ - x = clamp(x, 0.0, HALF_MAX); - - // x is clamped to [0, HALF_MAX], skip the <= 0 check - return (x < 0.00003051757) ? (log2(0.00001525878 + x * 0.5) + 9.72) / 17.52 : (log2(x) + 9.72) / 17.52; - - /* - return half3( - ACES_to_ACEScc(x.r), - ACES_to_ACEScc(x.g), - ACES_to_ACEScc(x.b) - ); - */ -} - -// -// ACES Color Space Conversion - ACEScc to ACES -// -// converts ACEScc (AP1 w/ ACESlog encoding) to -// ACES2065-1 (AP0 w/ linear encoding) -// -// This transform follows the formulas from section 4.4 in S-2014-003 -// -half ACEScc_to_ACES(half x) -{ - // TODO: Optimize me - if (x < -0.3013698630) // (9.72 - 15) / 17.52 - return (pow(2.0, x * 17.52 - 9.72) - pow(2.0, -16.0)) * 2.0; - else if (x < (log2(HALF_MAX) + 9.72) / 17.52) - return pow(2.0, x * 17.52 - 9.72); - else // (x >= (log2(HALF_MAX) + 9.72) / 17.52) - return HALF_MAX; -} - -half3 ACEScc_to_ACES(half3 x) -{ - return half3( - ACEScc_to_ACES(x.r), - ACEScc_to_ACES(x.g), - ACEScc_to_ACES(x.b) - ); -} - -// -// ACES Color Space Conversion - ACES to ACEScg -// -// converts ACES2065-1 (AP0 w/ linear encoding) to -// ACEScg (AP1 w/ linear encoding) -// -half3 ACES_to_ACEScg(half3 x) -{ - return mul(AP0_2_AP1_MAT, x); -} - -// -// ACES Color Space Conversion - ACEScg to ACES -// -// converts ACEScg (AP1 w/ linear encoding) to -// ACES2065-1 (AP0 w/ linear encoding) -// -half3 ACEScg_to_ACES(half3 x) -{ - return mul(AP1_2_AP0_MAT, x); -} - -// -// Reference Rendering Transform (RRT) -// -// Input is ACES -// Output is OCES -// -half rgb_2_saturation(half3 rgb) -{ - const half TINY = 1e-10; - half mi = Min3(rgb); - half ma = Max3(rgb); - return (max(ma, TINY) - max(mi, TINY)) / max(ma, 1e-2); -} - -half rgb_2_yc(half3 rgb) -{ - const half ycRadiusWeight = 1.75; - - // Converts RGB to a luminance proxy, here called YC - // YC is ~ Y + K * Chroma - // Constant YC is a cone-shaped surface in RGB space, with the tip on the - // neutral axis, towards white. - // YC is normalized: RGB 1 1 1 maps to YC = 1 - // - // ycRadiusWeight defaults to 1.75, although can be overridden in function - // call to rgb_2_yc - // ycRadiusWeight = 1 -> YC for pure cyan, magenta, yellow == YC for neutral - // of same value - // ycRadiusWeight = 2 -> YC for pure red, green, blue == YC for neutral of - // same value. - - half r = rgb.x; - half g = rgb.y; - half b = rgb.z; - half chroma = sqrt(b * (b - g) + g * (g - r) + r * (r - b)); - return (b + g + r + ycRadiusWeight * chroma) / 3.0; -} - -half rgb_2_hue(half3 rgb) -{ - // Returns a geometric hue angle in degrees (0-360) based on RGB values. - // For neutral colors, hue is undefined and the function will return a quiet NaN value. - half hue; - if (rgb.x == rgb.y && rgb.y == rgb.z) - hue = 0.0; // RGB triplets where RGB are equal have an undefined hue - else - hue = (180.0 / UNITY_PI) * atan2(sqrt(3.0) * (rgb.y - rgb.z), 2.0 * rgb.x - rgb.y - rgb.z); - - if (hue < 0.0) hue = hue + 360.0; - - return hue; -} - -half center_hue(half hue, half centerH) -{ - half hueCentered = hue - centerH; - if (hueCentered < -180.0) hueCentered = hueCentered + 360.0; - else if (hueCentered > 180.0) hueCentered = hueCentered - 360.0; - return hueCentered; -} - -half sigmoid_shaper(half x) -{ - // Sigmoid function in the range 0 to 1 spanning -2 to +2. - - half t = max(1.0 - abs(x / 2.0), 0.0); - half y = 1.0 + sign(x) * (1.0 - t * t); - - return y / 2.0; -} - -half glow_fwd(half ycIn, half glowGainIn, half glowMid) -{ - half glowGainOut; - - if (ycIn <= 2.0 / 3.0 * glowMid) - glowGainOut = glowGainIn; - else if (ycIn >= 2.0 * glowMid) - glowGainOut = 0.0; - else - glowGainOut = glowGainIn * (glowMid / ycIn - 1.0 / 2.0); - - return glowGainOut; -} - -/* -half cubic_basis_shaper -( - half x, - half w // full base width of the shaper function (in degrees) -) -{ - half M[4][4] = { - { -1.0 / 6, 3.0 / 6, -3.0 / 6, 1.0 / 6 }, - { 3.0 / 6, -6.0 / 6, 3.0 / 6, 0.0 / 6 }, - { -3.0 / 6, 0.0 / 6, 3.0 / 6, 0.0 / 6 }, - { 1.0 / 6, 4.0 / 6, 1.0 / 6, 0.0 / 6 } - }; - - half knots[5] = { - -w / 2.0, - -w / 4.0, - 0.0, - w / 4.0, - w / 2.0 - }; - - half y = 0.0; - if ((x > knots[0]) && (x < knots[4])) - { - half knot_coord = (x - knots[0]) * 4.0 / w; - int j = knot_coord; - half t = knot_coord - j; - - half monomials[4] = { t*t*t, t*t, t, 1.0 }; - - // (if/else structure required for compatibility with CTL < v1.5.) - if (j == 3) - { - y = monomials[0] * M[0][0] + monomials[1] * M[1][0] + - monomials[2] * M[2][0] + monomials[3] * M[3][0]; - } - else if (j == 2) - { - y = monomials[0] * M[0][1] + monomials[1] * M[1][1] + - monomials[2] * M[2][1] + monomials[3] * M[3][1]; - } - else if (j == 1) - { - y = monomials[0] * M[0][2] + monomials[1] * M[1][2] + - monomials[2] * M[2][2] + monomials[3] * M[3][2]; - } - else if (j == 0) - { - y = monomials[0] * M[0][3] + monomials[1] * M[1][3] + - monomials[2] * M[2][3] + monomials[3] * M[3][3]; - } - else - { - y = 0.0; - } - } - - return y * 3.0 / 2.0; -} -*/ - -static const half3x3 M = { - 0.5, -1.0, 0.5, - -1.0, 1.0, 0.0, - 0.5, 0.5, 0.0 -}; - -half segmented_spline_c5_fwd(half x) -{ - const half coefsLow[6] = { -4.0000000000, -4.0000000000, -3.1573765773, -0.4852499958, 1.8477324706, 1.8477324706 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) - const half coefsHigh[6] = { -0.7185482425, 2.0810307172, 3.6681241237, 4.0000000000, 4.0000000000, 4.0000000000 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) - const half2 minPoint = half2(0.18 * exp2(-15.0), 0.0001); // {luminance, luminance} linear extension below this - const half2 midPoint = half2(0.18, 0.48); // {luminance, luminance} - const half2 maxPoint = half2(0.18 * exp2(18.0), 10000.0); // {luminance, luminance} linear extension above this - const half slopeLow = 0.0; // log-log slope of low linear extension - const half slopeHigh = 0.0; // log-log slope of high linear extension - - const int N_KNOTS_LOW = 4; - const int N_KNOTS_HIGH = 4; - - // Check for negatives or zero before taking the log. If negative or zero, - // set to ACESMIN.1 - float xCheck = x; - if (xCheck <= 0.0) xCheck = 0.00006103515; // = pow(2.0, -14.0); - - half logx = log10(xCheck); - half logy; - - if (logx <= log10(minPoint.x)) - { - logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); - } - else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) - { - half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); - int j = knot_coord; - half t = knot_coord - j; - - half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); - half3 monomials = half3(t * t, t, 1.0); - logy = dot(monomials, mul(M, cf)); - } - else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) - { - half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); - int j = knot_coord; - half t = knot_coord - j; - - half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); - half3 monomials = half3(t * t, t, 1.0); - logy = dot(monomials, mul(M, cf)); - } - else - { //if (logIn >= log10(maxPoint.x)) { - logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); - } - - return pow(10.0, logy); -} - -half segmented_spline_c9_fwd(half x) -{ - const half coefsLow[10] = { -1.6989700043, -1.6989700043, -1.4779000000, -1.2291000000, -0.8648000000, -0.4480000000, 0.0051800000, 0.4511080334, 0.9113744414, 0.9113744414 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) - const half coefsHigh[10] = { 0.5154386965, 0.8470437783, 1.1358000000, 1.3802000000, 1.5197000000, 1.5985000000, 1.6467000000, 1.6746091357, 1.6878733390, 1.6878733390 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) - const half2 minPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(-6.5)), 0.02); // {luminance, luminance} linear extension below this - const half2 midPoint = half2(segmented_spline_c5_fwd(0.18), 4.8); // {luminance, luminance} - const half2 maxPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(6.5)), 48.0); // {luminance, luminance} linear extension above this - const half slopeLow = 0.0; // log-log slope of low linear extension - const half slopeHigh = 0.04; // log-log slope of high linear extension - - const int N_KNOTS_LOW = 8; - const int N_KNOTS_HIGH = 8; - - // Check for negatives or zero before taking the log. If negative or zero, - // set to OCESMIN. - half xCheck = x; - if (xCheck <= 0.0) xCheck = 1e-4; - - half logx = log10(xCheck); - half logy; - - if (logx <= log10(minPoint.x)) - { - logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); - } - else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) - { - half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); - int j = knot_coord; - half t = knot_coord - j; - - half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); - half3 monomials = half3(t * t, t, 1.0); - logy = dot(monomials, mul(M, cf)); - } - else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) - { - half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); - int j = knot_coord; - half t = knot_coord - j; - - half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); - half3 monomials = half3(t * t, t, 1.0); - logy = dot(monomials, mul(M, cf)); - } - else - { //if (logIn >= log10(maxPoint.x)) { - logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); - } - - return pow(10.0, logy); -} - -static const half RRT_GLOW_GAIN = 0.05; -static const half RRT_GLOW_MID = 0.08; - -static const half RRT_RED_SCALE = 0.82; -static const half RRT_RED_PIVOT = 0.03; -static const half RRT_RED_HUE = 0.0; -static const half RRT_RED_WIDTH = 135.0; - -static const half RRT_SAT_FACTOR = 0.96; - -half3 RRT(half3 aces) -{ - // --- Glow module --- // - half saturation = rgb_2_saturation(aces); - half ycIn = rgb_2_yc(aces); - half s = sigmoid_shaper((saturation - 0.4) / 0.2); - half addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); - aces *= addedGlow; - - // --- Red modifier --- // - half hue = rgb_2_hue(aces); - half centeredHue = center_hue(hue, RRT_RED_HUE); - half hueWeight; - { - //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); - hueWeight = smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH)); - hueWeight *= hueWeight; - } - - aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); - - // --- ACES to RGB rendering space --- // - aces = clamp(aces, 0.0, HALF_MAX); // avoids saturated negative colors from becoming positive in the matrix - half3 rgbPre = mul(AP0_2_AP1_MAT, aces); - rgbPre = clamp(rgbPre, 0, HALF_MAX); - - // --- Global desaturation --- // - //rgbPre = mul(RRT_SAT_MAT, rgbPre); - rgbPre = lerp(dot(rgbPre, AP1_RGB2Y).xxx, rgbPre, RRT_SAT_FACTOR.xxx); - - // --- Apply the tonescale independently in rendering-space RGB --- // - half3 rgbPost; - rgbPost.x = segmented_spline_c5_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c5_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c5_fwd(rgbPre.z); - - // --- RGB rendering space to OCES --- // - half3 rgbOces = mul(AP1_2_AP0_MAT, rgbPost); - - return rgbOces; -} - -// -// Output Device Transform -// -half3 Y_2_linCV(half3 Y, half Ymax, half Ymin) -{ - return (Y - Ymin) / (Ymax - Ymin); -} - -half3 XYZ_2_xyY(half3 XYZ) -{ - half divisor = max(dot(XYZ, (1.0).xxx), 1e-4); - return half3(XYZ.xy / divisor, XYZ.y); -} - -half3 xyY_2_XYZ(half3 xyY) -{ - half m = xyY.z / max(xyY.y, 1e-4); - half3 XYZ = half3(xyY.xz, (1.0 - xyY.x - xyY.y)); - XYZ.xz *= m; - return XYZ; -} - -static const half DIM_SURROUND_GAMMA = 0.9811; - -half3 darkSurround_to_dimSurround(half3 linearCV) -{ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - half3 xyY = XYZ_2_xyY(XYZ); - xyY.z = clamp(xyY.z, 0.0, HALF_MAX); - xyY.z = pow(xyY.z, DIM_SURROUND_GAMMA); - XYZ = xyY_2_XYZ(xyY); - - return mul(XYZ_2_AP1_MAT, XYZ); -} - -half moncurve_r(half y, half gamma, half offs) -{ - // Reverse monitor curve - half x; - const half yb = pow(offs * gamma / ((gamma - 1.0) * (1.0 + offs)), gamma); - const half rs = pow((gamma - 1.0) / offs, gamma - 1.0) * pow((1.0 + offs) / gamma, gamma); - if (y >= yb) - x = (1.0 + offs) * pow(y, 1.0 / gamma) - offs; - else - x = y * rs; - return x; -} - -half bt1886_r(half L, half gamma, half Lw, half Lb) -{ - // The reference EOTF specified in Rec. ITU-R BT.1886 - // L = a(max[(V+b),0])^g - half a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); - half b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); - half V = pow(max(L / a, 0.0), 1.0 / gamma) - b; - return V; -} - -half roll_white_fwd( - half x, // color value to adjust (white scaled to around 1.0) - half new_wht, // white adjustment (e.g. 0.9 for 10% darkening) - half width // adjusted width (e.g. 0.25 for top quarter of the tone scale) - ) -{ - const half x0 = -1.0; - const half x1 = x0 + width; - const half y0 = -new_wht; - const half y1 = x1; - const half m1 = (x1 - x0); - const half a = y0 - y1 + m1; - const half b = 2.0 * (y1 - y0) - m1; - const half c = y0; - const half t = (-x - x0) / (x1 - x0); - half o = 0.0; - if (t < 0.0) - o = -(t * b + c); - else if (t > 1.0) - o = x; - else - o = -((t * a + b) * t + c); - return o; -} - -half3 linear_to_sRGB(half3 x) -{ - return (x <= 0.0031308 ? (x * 12.9232102) : 1.055 * pow(x, 1.0 / 2.4) - 0.055); -} - -half3 linear_to_bt1886(half3 x, half gamma, half Lw, half Lb) -{ - // Good enough approximation for now, may consider using the exact formula instead - // TODO: Experiment - return pow(max(x, 0.0), 1.0 / 2.4); - - // Correct implementation (Reference EOTF specified in Rec. ITU-R BT.1886) : - // L = a(max[(V+b),0])^g - half invgamma = 1.0 / gamma; - half p_Lw = pow(Lw, invgamma); - half p_Lb = pow(Lb, invgamma); - half3 a = pow(p_Lw - p_Lb, gamma).xxx; - half3 b = (p_Lb / p_Lw - p_Lb).xxx; - half3 V = pow(max(x / a, 0.0), invgamma.xxx) - b; - return V; -} - -#if defined(CUSTOM_WHITE_POINT) -half CINEMA_WHITE; -half CINEMA_BLACK; -#else -static const half CINEMA_WHITE = 48.0; -static const half CINEMA_BLACK = CINEMA_WHITE / 2400.0; -#endif - -static const half ODT_SAT_FACTOR = 0.93; - -// ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 -// ACES 1.0 Output - sRGB - -// -// Output Device Transform - RGB computer monitor -// - -// -// Summary : -// This transform is intended for mapping OCES onto a desktop computer monitor -// typical of those used in motion picture visual effects production. These -// monitors may occasionally be referred to as "sRGB" displays, however, the -// monitor for which this transform is designed does not exactly match the -// specifications in IEC 61966-2-1:1999. -// -// The assumed observer adapted white is D65, and the viewing environment is -// that of a dim surround. -// -// The monitor specified is intended to be more typical of those found in -// visual effects production. -// -// Device Primaries : -// Primaries are those specified in Rec. ITU-R BT.709 -// CIE 1931 chromaticities: x y Y -// Red: 0.64 0.33 -// Green: 0.3 0.6 -// Blue: 0.15 0.06 -// White: 0.3127 0.329 100 cd/m^2 -// -// Display EOTF : -// The reference electro-optical transfer function specified in -// IEC 61966-2-1:1999. -// -// Signal Range: -// This transform outputs full range code values. -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.3127 0.329 -// -// Viewing Environment: -// This ODT has a compensation for viewing environment variables more typical -// of those associated with video mastering. -// -half3 ODT_RGBmonitor_100nits_dim(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // Apply gamma adjustment to compensate for dim surround - linearCV = darkSurround_to_dimSurround(linearCV); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, linearCV); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // Apply CAT from ACES white point to assumed observer adapted white point - XYZ = mul(D60_2_D65_CAT, XYZ); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC709_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding - // with sRGB opto-electrical transfer function (OETF). - /* - // Encode linear code values with transfer function - half3 outputCV; - // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) - const half DISPGAMMA = 2.4; - const half OFFSET = 0.055; - outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); - outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); - outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); - - outputCV = linear_to_sRGB(linearCV); - */ - - // Unity already draws to a sRGB target - return linearCV; -} - -// ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 -// ACES 1.0 Output - sRGB (D60 sim.) - -// -// Output Device Transform - RGB computer monitor (D60 simulation) -// - -// -// Summary : -// This transform is intended for mapping OCES onto a desktop computer monitor -// typical of those used in motion picture visual effects production. These -// monitors may occasionally be referred to as "sRGB" displays, however, the -// monitor for which this transform is designed does not exactly match the -// specifications in IEC 61966-2-1:1999. -// -// The assumed observer adapted white is D60, and the viewing environment is -// that of a dim surround. -// -// The monitor specified is intended to be more typical of those found in -// visual effects production. -// -// Device Primaries : -// Primaries are those specified in Rec. ITU-R BT.709 -// CIE 1931 chromaticities: x y Y -// Red: 0.64 0.33 -// Green: 0.3 0.6 -// Blue: 0.15 0.06 -// White: 0.3127 0.329 100 cd/m^2 -// -// Display EOTF : -// The reference electro-optical transfer function specified in -// IEC 61966-2-1:1999. -// -// Signal Range: -// This transform outputs full range code values. -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.32168 0.33767 -// -// Viewing Environment: -// This ODT has a compensation for viewing environment variables more typical -// of those associated with video mastering. -// -half3 ODT_RGBmonitor_D60sim_100nits_dim(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // --- Compensate for different white point being darker --- // - // This adjustment is to correct an issue that exists in ODTs where the device - // is calibrated to a white chromaticity other than D60. In order to simulate - // D60 on such devices, unequal code values are sent to the display to achieve - // neutrals at D60. In order to produce D60 on a device calibrated to the DCI - // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, - // 0.351) the red channel is higher than green and blue to compensate for the - // "greenish" DCI white. This is the correct behavior but it means that as - // highlight increase, the red channel will hit the device maximum first and - // clip, resulting in a chromaticity shift as the green and blue channels - // continue to increase. - // To avoid this clipping error, a slight scale factor is applied to allow the - // ODTs to simulate D60 within the D65 calibration white point. - - // Scale and clamp white to avoid casted highlights due to D60 simulation - const half SCALE = 0.955; - linearCV = min(linearCV, 1.0) * SCALE; - - // Apply gamma adjustment to compensate for dim surround - linearCV = darkSurround_to_dimSurround(linearCV); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, linearCV); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC709_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding - // with sRGB opto-electrical transfer function (OETF). - /* - // Encode linear code values with transfer function - half3 outputCV; - // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) - const half DISPGAMMA = 2.4; - const half OFFSET = 0.055; - outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); - outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); - outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); - - outputCV = linear_to_sRGB(linearCV); - */ - - // Unity already draws to a sRGB target - return linearCV; -} - -// ODT.Academy.Rec709_100nits_dim.a1.0.3 -// ACES 1.0 Output - Rec.709 - -// -// Output Device Transform - Rec709 -// - -// -// Summary : -// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor -// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer -// adapted white is D65, and the viewing environment is a dim surround. -// -// A possible use case for this transform would be HDTV/video mastering. -// -// Device Primaries : -// Primaries are those specified in Rec. ITU-R BT.709 -// CIE 1931 chromaticities: x y Y -// Red: 0.64 0.33 -// Green: 0.3 0.6 -// Blue: 0.15 0.06 -// White: 0.3127 0.329 100 cd/m^2 -// -// Display EOTF : -// The reference electro-optical transfer function specified in -// Rec. ITU-R BT.1886. -// -// Signal Range: -// By default, this transform outputs full range code values. If instead a -// SMPTE "legal" signal is desired, there is a runtime flag to output -// SMPTE legal signal. In ctlrender, this can be achieved by appending -// '-param1 legalRange 1' after the '-ctl odt.ctl' string. -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.3127 0.329 -// -// Viewing Environment: -// This ODT has a compensation for viewing environment variables more typical -// of those associated with video mastering. -// -half3 ODT_Rec709_100nits_dim(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // Apply gamma adjustment to compensate for dim surround - linearCV = darkSurround_to_dimSurround(linearCV); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, linearCV); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // Apply CAT from ACES white point to assumed observer adapted white point - XYZ = mul(D60_2_D65_CAT, XYZ); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC709_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // Encode linear code values with transfer function - const half DISPGAMMA = 2.4; - const half L_W = 1.0; - const half L_B = 0.0; - half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); - - // TODO: Implement support for legal range. - - // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) - // by default which will result in double perceptual encoding, thus for now if one want to use - // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to - // compensate for Unity default behaviour. - - return outputCV; -} - -// ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 -// ACES 1.0 Output - Rec.709 (D60 sim.) - -// -// Output Device Transform - Rec709 (D60 simulation) -// - -// -// Summary : -// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor -// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer -// adapted white is D60, and the viewing environment is a dim surround. -// -// A possible use case for this transform would be cinema "soft-proofing". -// -// Device Primaries : -// Primaries are those specified in Rec. ITU-R BT.709 -// CIE 1931 chromaticities: x y Y -// Red: 0.64 0.33 -// Green: 0.3 0.6 -// Blue: 0.15 0.06 -// White: 0.3127 0.329 100 cd/m^2 -// -// Display EOTF : -// The reference electro-optical transfer function specified in -// Rec. ITU-R BT.1886. -// -// Signal Range: -// By default, this transform outputs full range code values. If instead a -// SMPTE "legal" signal is desired, there is a runtime flag to output -// SMPTE legal signal. In ctlrender, this can be achieved by appending -// '-param1 legalRange 1' after the '-ctl odt.ctl' string. -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.32168 0.33767 -// -// Viewing Environment: -// This ODT has a compensation for viewing environment variables more typical -// of those associated with video mastering. -// -half3 ODT_Rec709_D60sim_100nits_dim(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // --- Compensate for different white point being darker --- // - // This adjustment is to correct an issue that exists in ODTs where the device - // is calibrated to a white chromaticity other than D60. In order to simulate - // D60 on such devices, unequal code values must be sent to the display to achieve - // the chromaticities of D60. More specifically, in order to produce D60 on a device - // calibrated to a D65 white point (i.e. equal code values yield CIE x,y - // chromaticities of 0.3127, 0.329) the red channel must be slightly higher than - // that of green and blue in order to compensate for the relatively more "blue-ish" - // D65 white. This unequalness of color channels is the correct behavior but it - // means that as neutral highlights increase, the red channel will hit the - // device maximum first and clip, resulting in a small chromaticity shift as the - // green and blue channels continue to increase to their maximums. - // To avoid this clipping error, a slight scale factor is applied to allow the - // ODTs to simulate D60 within the D65 calibration white point. - - // Scale and clamp white to avoid casted highlights due to D60 simulation - const half SCALE = 0.955; - linearCV = min(linearCV, 1.0) * SCALE; - - // Apply gamma adjustment to compensate for dim surround - linearCV = darkSurround_to_dimSurround(linearCV); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, linearCV); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC709_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // Encode linear code values with transfer function - const half DISPGAMMA = 2.4; - const half L_W = 1.0; - const half L_B = 0.0; - half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); - - // TODO: Implement support for legal range. - - // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) - // by default which will result in double perceptual encoding, thus for now if one want to use - // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to - // compensate for Unity default behaviour. - - return outputCV; -} - -// ODT.Academy.Rec2020_100nits_dim.a1.0.3 -// ACES 1.0 Output - Rec.2020 - -// -// Output Device Transform - Rec2020 -// - -// -// Summary : -// This transform is intended for mapping OCES onto a Rec.2020 broadcast -// monitor that is calibrated to a D65 white point at 100 cd/m^2. The assumed -// observer adapted white is D65, and the viewing environment is that of a dim -// surround. -// -// A possible use case for this transform would be UHDTV/video mastering. -// -// Device Primaries : -// Primaries are those specified in Rec. ITU-R BT.2020 -// CIE 1931 chromaticities: x y Y -// Red: 0.708 0.292 -// Green: 0.17 0.797 -// Blue: 0.131 0.046 -// White: 0.3127 0.329 100 cd/m^2 -// -// Display EOTF : -// The reference electro-optical transfer function specified in -// Rec. ITU-R BT.1886. -// -// Signal Range: -// By default, this transform outputs full range code values. If instead a -// SMPTE "legal" signal is desired, there is a runtime flag to output -// SMPTE legal signal. In ctlrender, this can be achieved by appending -// '-param1 legalRange 1' after the '-ctl odt.ctl' string. -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.3127 0.329 -// -// Viewing Environment: -// This ODT has a compensation for viewing environment variables more typical -// of those associated with video mastering. -// - -half3 ODT_Rec2020_100nits_dim(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // Apply gamma adjustment to compensate for dim surround - linearCV = darkSurround_to_dimSurround(linearCV); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, linearCV); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // Apply CAT from ACES white point to assumed observer adapted white point - XYZ = mul(D60_2_D65_CAT, XYZ); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC2020_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // Encode linear code values with transfer function - const half DISPGAMMA = 2.4; - const half L_W = 1.0; - const half L_B = 0.0; - half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); - - // TODO: Implement support for legal range. - - // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) - // by default which will result in double perceptual encoding, thus for now if one want to use - // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to - // compensate for Unity default behaviour. - - return outputCV; -} - -// ODT.Academy.P3DCI_48nits.a1.0.3 -// ACES 1.0 Output - P3-DCI - -// -// Output Device Transform - P3DCI (D60 Simulation) -// - -// -// Summary : -// This transform is intended for mapping OCES onto a P3 digital cinema -// projector that is calibrated to a DCI white point at 48 cd/m^2. The assumed -// observer adapted white is D60, and the viewing environment is that of a dark -// theater. -// -// Device Primaries : -// CIE 1931 chromaticities: x y Y -// Red: 0.68 0.32 -// Green: 0.265 0.69 -// Blue: 0.15 0.06 -// White: 0.314 0.351 48 cd/m^2 -// -// Display EOTF : -// Gamma: 2.6 -// -// Assumed observer adapted white point: -// CIE 1931 chromaticities: x y -// 0.32168 0.33767 -// -// Viewing Environment: -// Environment specified in SMPTE RP 431-2-2007 -// -half3 ODT_P3DCI_48nits(half3 oces) -{ - // OCES to RGB rendering space - half3 rgbPre = mul(AP0_2_AP1_MAT, oces); - - // Apply the tonescale independently in rendering-space RGB - half3 rgbPost; - rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); - rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); - rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); - - // Scale luminance to linear code value - half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // --- Compensate for different white point being darker --- // - // This adjustment is to correct an issue that exists in ODTs where the device - // is calibrated to a white chromaticity other than D60. In order to simulate - // D60 on such devices, unequal code values are sent to the display to achieve - // neutrals at D60. In order to produce D60 on a device calibrated to the DCI - // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, - // 0.351) the red channel is higher than green and blue to compensate for the - // "greenish" DCI white. This is the correct behavior but it means that as - // highlight increase, the red channel will hit the device maximum first and - // clip, resulting in a chromaticity shift as the green and blue channels - // continue to increase. - // To avoid this clipping error, a slight scale factor is applied to allow the - // ODTs to simulate D60 within the D65 calibration white point. However, the - // magnitude of the scale factor required for the P3DCI ODT was considered too - // large. Therefore, the scale factor was reduced and the additional required - // compression was achieved via a reshaping of the highlight rolloff in - // conjunction with the scale. The shape of this rolloff was determined - // throught subjective experiments and deemed to best reproduce the - // "character" of the highlights in the P3D60 ODT. - - // Roll off highlights to avoid need for as much scaling - const half NEW_WHT = 0.918; - const half ROLL_WIDTH = 0.5; - linearCV.x = roll_white_fwd(linearCV.x, NEW_WHT, ROLL_WIDTH); - linearCV.y = roll_white_fwd(linearCV.y, NEW_WHT, ROLL_WIDTH); - linearCV.z = roll_white_fwd(linearCV.z, NEW_WHT, ROLL_WIDTH); - - // Scale and clamp white to avoid casted highlights due to D60 simulation - const half SCALE = 0.96; - linearCV = min(linearCV, NEW_WHT) * SCALE; - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_DCIP3_MAT, XYZ); - - // Handle out-of-gamut values - // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) - linearCV = saturate(linearCV); - - // Encode linear code values with transfer function - const half DISPGAMMA = 2.6; - half3 outputCV = pow(linearCV, 1.0 / DISPGAMMA); - - // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) - // by default which will result in double perceptual encoding, thus for now if one want to use - // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to - // compensate for Unity default behaviour. - - return outputCV; -} - -#endif // __ACES__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc.meta deleted file mode 100644 index 61c31b4d5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ACES.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: b8d56fc3449f426408c23c723b58d7b5 -timeCreated: 1460363486 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/ACES.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc deleted file mode 100644 index 5a66bc1fd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc +++ /dev/null @@ -1,500 +0,0 @@ -// Upgrade NOTE: commented out 'float4x4 _WorldToCamera', a built-in variable -// Upgrade NOTE: replaced '_WorldToCamera' with 'unity_WorldToCamera' - -#ifndef __AMBIENT_OCCLUSION__ -#define __AMBIENT_OCCLUSION__ - -#include "UnityCG.cginc" -#include "Common.cginc" - -// -------- -// Options for further customization -// -------- - -// By default, a 5-tap Gaussian with the linear sampling technique is used -// in the bilateral noise filter. It can be replaced with a 7-tap Gaussian -// with adaptive sampling by enabling the macro below. Although the -// differences are not noticeable in most cases, it may provide preferable -// results with some special usage (e.g. NPR without textureing). -// #define BLUR_HIGH_QUALITY - -// By default, a fixed sampling pattern is used in the AO estimator. Although -// this gives preferable results in most cases, a completely random sampling -// pattern could give aesthetically better results. Disable the macro below -// to use such a random pattern instead of the fixed one. -#define FIX_SAMPLING_PATTERN - -// The SampleNormal function normalizes samples from G-buffer because -// they're possibly unnormalized. We can eliminate this if it can be said -// that there is no wrong shader that outputs unnormalized normals. -// #define VALIDATE_NORMALS - -// The constant below determines the contrast of occlusion. This allows -// users to control over/under occlusion. At the moment, this is not exposed -// to the editor because it�s rarely useful. -static const float kContrast = 0.6; - -// The constant below controls the geometry-awareness of the bilateral -// filter. The higher value, the more sensitive it is. -static const float kGeometryCoeff = 0.8; - -// The constants below are used in the AO estimator. Beta is mainly used -// for suppressing self-shadowing noise, and Epsilon is used to prevent -// calculation underflow. See the paper (Morgan 2011 http://goo.gl/2iz3P) -// for further details of these constants. -static const float kBeta = 0.002; - -// -------- - -// System built-in variables -sampler2D _CameraGBufferTexture2; -sampler2D_float _CameraDepthTexture; -sampler2D _CameraDepthNormalsTexture; - -float4 _CameraDepthTexture_ST; - -// Sample count -#if !defined(SHADER_API_GLES) -int _SampleCount; -#else -// GLES2: In many cases, dynamic looping is not supported. -static const int _SampleCount = 3; -#endif - -// Source texture properties -sampler2D _OcclusionTexture; -float4 _OcclusionTexture_TexelSize; - -// Other parameters -half _Intensity; -float _Radius; -float _Downsample; -float3 _FogParams; // x: density, y: start, z: end - -// Accessors for packed AO/normal buffer -fixed4 PackAONormal(fixed ao, fixed3 n) -{ - return fixed4(ao, n * 0.5 + 0.5); -} - -fixed GetPackedAO(fixed4 p) -{ - return p.r; -} - -fixed3 GetPackedNormal(fixed4 p) -{ - return p.gba * 2.0 - 1.0; -} - -// Boundary check for depth sampler -// (returns a very large value if it lies out of bounds) -float CheckBounds(float2 uv, float d) -{ - float ob = any(uv < 0) + any(uv > 1); -#if defined(UNITY_REVERSED_Z) - ob += (d <= 0.00001); -#else - ob += (d >= 0.99999); -#endif - return ob * 1e8; -} - -// Depth/normal sampling functions -float SampleDepth(float2 uv) -{ -#if defined(SOURCE_GBUFFER) || defined(SOURCE_DEPTH) - float d = LinearizeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv)); -#else - float4 cdn = tex2D(_CameraDepthNormalsTexture, uv); - float d = DecodeFloatRG(cdn.zw); -#endif - return d * _ProjectionParams.z + CheckBounds(uv, d); -} - -float3 SampleNormal(float2 uv) -{ -#if defined(SOURCE_GBUFFER) - float3 norm = tex2D(_CameraGBufferTexture2, uv).xyz; - norm = norm * 2 - any(norm); // gets (0,0,0) when norm == 0 - norm = mul((float3x3)unity_WorldToCamera, norm); -#if defined(VALIDATE_NORMALS) - norm = normalize(norm); -#endif - return norm; -#else - float4 cdn = tex2D(_CameraDepthNormalsTexture, uv); - return DecodeViewNormalStereo(cdn) * float3(1.0, 1.0, -1.0); -#endif -} - -float SampleDepthNormal(float2 uv, out float3 normal) -{ -#if defined(SOURCE_GBUFFER) || defined(SOURCE_DEPTH) - normal = SampleNormal(uv); - return SampleDepth(uv); -#else - float4 cdn = tex2D(_CameraDepthNormalsTexture, uv); - normal = DecodeViewNormalStereo(cdn) * float3(1.0, 1.0, -1.0); - float d = DecodeFloatRG(cdn.zw); - return d * _ProjectionParams.z + CheckBounds(uv, d); -#endif -} - -// Normal vector comparer (for geometry-aware weighting) -half CompareNormal(half3 d1, half3 d2) -{ - return smoothstep(kGeometryCoeff, 1.0, dot(d1, d2)); -} - -// Common vertex shader -struct VaryingsMultitex -{ - float4 pos : SV_POSITION; - half2 uv : TEXCOORD0; // Original UV - half2 uv01 : TEXCOORD1; // Alternative UV (supports v-flip case) - half2 uvSPR : TEXCOORD2; // Single pass stereo rendering UV -}; - -VaryingsMultitex VertMultitex(AttributesDefault v) -{ - half2 uvAlt = v.texcoord.xy; - -#if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0.0) uvAlt.y = 1.0 - uvAlt.y; -#endif - - VaryingsMultitex o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.texcoord.xy; - o.uv01 = uvAlt; - o.uvSPR = UnityStereoTransformScreenSpaceTex(uvAlt); - - return o; -} - -// Trigonometric function utility -float2 CosSin(float theta) -{ - float sn, cs; - sincos(theta, sn, cs); - return float2(cs, sn); -} - -// Pseudo random number generator with 2D coordinates -float UVRandom(float u, float v) -{ - float f = dot(float2(12.9898, 78.233), float2(u, v)); - return frac(43758.5453 * sin(f)); -} - -// Check if the camera is perspective. -// (returns 1.0 when orthographic) -float CheckPerspective(float x) -{ - return lerp(x, 1.0, unity_OrthoParams.w); -} - -// Reconstruct view-space position from UV and depth. -// p11_22 = (unity_CameraProjection._11, unity_CameraProjection._22) -// p13_31 = (unity_CameraProjection._13, unity_CameraProjection._23) -float3 ReconstructViewPos(float2 uv, float depth, float2 p11_22, float2 p13_31) -{ - return float3((uv * 2.0 - 1.0 - p13_31) / p11_22 * CheckPerspective(depth), depth); -} - -// Sample point picker -float3 PickSamplePoint(float2 uv, float index) -{ - // Uniformaly distributed points on a unit sphere http://goo.gl/X2F1Ho -#if defined(FIX_SAMPLING_PATTERN) - float gn = GradientNoise(uv * _Downsample); - // FIXME: This was added to avoid a NVIDIA driver issue. - // vvvvvvvvvvvv - float u = frac(UVRandom(0.0, index + uv.x * 1e-10) + gn) * 2.0 - 1.0; - float theta = (UVRandom(1.0, index + uv.x * 1e-10) + gn) * UNITY_PI_2; -#else - float u = UVRandom(uv.x + _Time.x, uv.y + index) * 2.0 - 1.0; - float theta = UVRandom(-uv.x - _Time.x, uv.y + index) * UNITY_PI_2; -#endif - float3 v = float3(CosSin(theta) * sqrt(1.0 - u * u), u); - // Make them distributed between [0, _Radius] - float l = sqrt((index + 1.0) / _SampleCount) * _Radius; - return v * l; -} - -// Fog handling in forward -half ComputeFog(float z) -{ - half fog = 0.0; -#if FOG_LINEAR - fog = (_FogParams.z - z) / (_FogParams.z - _FogParams.y); -#elif FOG_EXP - fog = exp2(-_FogParams.x * z); -#else // FOG_EXP2 - fog = _FogParams.x * z; - fog = exp2(-fog * fog); -#endif - return saturate(fog); -} - -float ComputeDistance(float depth) -{ - float dist = depth * _ProjectionParams.z; - dist -= _ProjectionParams.y; - return dist; -} - -// -// Distance-based AO estimator based on Morgan 2011 http://goo.gl/2iz3P -// -half4 FragAO(VaryingsMultitex i) : SV_Target -{ - float2 uv = i.uv; - - // Parameters used in coordinate conversion - float3x3 proj = (float3x3)unity_CameraProjection; - float2 p11_22 = float2(unity_CameraProjection._11, unity_CameraProjection._22); - float2 p13_31 = float2(unity_CameraProjection._13, unity_CameraProjection._23); - - // View space normal and depth - float3 norm_o; - float depth_o = SampleDepthNormal(UnityStereoScreenSpaceUVAdjust(uv, _CameraDepthTexture_ST), norm_o); - -#if defined(SOURCE_DEPTHNORMALS) - // Offset the depth value to avoid precision error. - // (depth in the DepthNormals mode has only 16-bit precision) - depth_o -= _ProjectionParams.z / 65536; -#endif - - // Reconstruct the view-space position. - float3 vpos_o = ReconstructViewPos(i.uv01, depth_o, p11_22, p13_31); - - float ao = 0.0; - - for (int s = 0; s < _SampleCount; s++) - { - // Sample point -#if defined(SHADER_API_D3D11) - // This 'floor(1.0001 * s)' operation is needed to avoid a NVidia - // shader issue. This issue is only observed on DX11. - float3 v_s1 = PickSamplePoint(uv, floor(1.0001 * s)); -#else - float3 v_s1 = PickSamplePoint(uv, s); -#endif - v_s1 = faceforward(v_s1, -norm_o, v_s1); - float3 vpos_s1 = vpos_o + v_s1; - - // Reproject the sample point - float3 spos_s1 = mul(proj, vpos_s1); - float2 uv_s1_01 = (spos_s1.xy / CheckPerspective(vpos_s1.z) + 1.0) * 0.5; - - // Depth at the sample point - float depth_s1 = SampleDepth(UnityStereoScreenSpaceUVAdjust(uv_s1_01, _CameraDepthTexture_ST)); - - // Relative position of the sample point - float3 vpos_s2 = ReconstructViewPos(uv_s1_01, depth_s1, p11_22, p13_31); - float3 v_s2 = vpos_s2 - vpos_o; - - // Estimate the obscurance value - float a1 = max(dot(v_s2, norm_o) - kBeta * depth_o, 0.0); - float a2 = dot(v_s2, v_s2) + EPSILON; - ao += a1 / a2; - } - - ao *= _Radius; // intensity normalization - - // Apply other parameters. - ao = pow(ao * _Intensity / _SampleCount, kContrast); - - // Apply fog when enabled (forward-only) -#if !FOG_OFF - float d = Linear01Depth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv)); - d = ComputeDistance(d); - ao *= ComputeFog(d); -#endif - - return PackAONormal(ao, norm_o); -} - -// Geometry-aware separable bilateral filter -half4 FragBlur(VaryingsMultitex i) : SV_Target -{ -#if defined(BLUR_HORIZONTAL) - // Horizontal pass: Always use 2 texels interval to match to - // the dither pattern. - float2 delta = float2(_MainTex_TexelSize.x * 2.0, 0.0); -#else - // Vertical pass: Apply _Downsample to match to the dither - // pattern in the original occlusion buffer. - float2 delta = float2(0.0, _MainTex_TexelSize.y / _Downsample * 2.0); -#endif - -#if defined(BLUR_HIGH_QUALITY) - - // High quality 7-tap Gaussian with adaptive sampling - - fixed4 p0 = tex2D(_MainTex, i.uvSPR); - fixed4 p1a = tex2D(_MainTex, i.uvSPR - delta); - fixed4 p1b = tex2D(_MainTex, i.uvSPR + delta); - fixed4 p2a = tex2D(_MainTex, i.uvSPR - delta * 2.0); - fixed4 p2b = tex2D(_MainTex, i.uvSPR + delta * 2.0); - fixed4 p3a = tex2D(_MainTex, i.uvSPR - delta * 3.2307692308); - fixed4 p3b = tex2D(_MainTex, i.uvSPR + delta * 3.2307692308); - -#if defined(BLUR_SAMPLE_CENTER_NORMAL) - fixed3 n0 = SampleNormal(i.uvSPR); -#else - fixed3 n0 = GetPackedNormal(p0); -#endif - - half w0 = 0.37004405286; - half w1a = CompareNormal(n0, GetPackedNormal(p1a)) * 0.31718061674; - half w1b = CompareNormal(n0, GetPackedNormal(p1b)) * 0.31718061674; - half w2a = CompareNormal(n0, GetPackedNormal(p2a)) * 0.19823788546; - half w2b = CompareNormal(n0, GetPackedNormal(p2b)) * 0.19823788546; - half w3a = CompareNormal(n0, GetPackedNormal(p3a)) * 0.11453744493; - half w3b = CompareNormal(n0, GetPackedNormal(p3b)) * 0.11453744493; - - half s; - s = GetPackedAO(p0) * w0; - s += GetPackedAO(p1a) * w1a; - s += GetPackedAO(p1b) * w1b; - s += GetPackedAO(p2a) * w2a; - s += GetPackedAO(p2b) * w2b; - s += GetPackedAO(p3a) * w3a; - s += GetPackedAO(p3b) * w3b; - - s /= w0 + w1a + w1b + w2a + w2b + w3a + w3b; - -#else - - // Fater 5-tap Gaussian with linear sampling - fixed4 p0 = tex2D(_MainTex, i.uvSPR); - fixed4 p1a = tex2D(_MainTex, i.uvSPR - delta * 1.3846153846); - fixed4 p1b = tex2D(_MainTex, i.uvSPR + delta * 1.3846153846); - fixed4 p2a = tex2D(_MainTex, i.uvSPR - delta * 3.2307692308); - fixed4 p2b = tex2D(_MainTex, i.uvSPR + delta * 3.2307692308); - -#if defined(BLUR_SAMPLE_CENTER_NORMAL) - fixed3 n0 = SampleNormal(i.uvSPR); -#else - fixed3 n0 = GetPackedNormal(p0); -#endif - - half w0 = 0.2270270270; - half w1a = CompareNormal(n0, GetPackedNormal(p1a)) * 0.3162162162; - half w1b = CompareNormal(n0, GetPackedNormal(p1b)) * 0.3162162162; - half w2a = CompareNormal(n0, GetPackedNormal(p2a)) * 0.0702702703; - half w2b = CompareNormal(n0, GetPackedNormal(p2b)) * 0.0702702703; - - half s; - s = GetPackedAO(p0) * w0; - s += GetPackedAO(p1a) * w1a; - s += GetPackedAO(p1b) * w1b; - s += GetPackedAO(p2a) * w2a; - s += GetPackedAO(p2b) * w2b; - - s /= w0 + w1a + w1b + w2a + w2b; - -#endif - - return PackAONormal(s, n0); -} - -// Gamma encoding (only needed in gamma lighting mode) -half EncodeAO(half x) -{ - half x_g = 1.0 - max(1.055 * pow(1.0 - x, 0.416666667) - 0.055, 0.0); - // ColorSpaceLuminance.w == 0 (gamma) or 1 (linear) - return lerp(x_g, x, unity_ColorSpaceLuminance.w); -} - -// Geometry-aware bilateral filter (single pass/small kernel) -half BlurSmall(sampler2D tex, float2 uv, float2 delta) -{ - fixed4 p0 = tex2D(tex, uv); - fixed4 p1 = tex2D(tex, uv + float2(-delta.x, -delta.y)); - fixed4 p2 = tex2D(tex, uv + float2(+delta.x, -delta.y)); - fixed4 p3 = tex2D(tex, uv + float2(-delta.x, +delta.y)); - fixed4 p4 = tex2D(tex, uv + float2(+delta.x, +delta.y)); - - fixed3 n0 = GetPackedNormal(p0); - - half w0 = 1.0; - half w1 = CompareNormal(n0, GetPackedNormal(p1)); - half w2 = CompareNormal(n0, GetPackedNormal(p2)); - half w3 = CompareNormal(n0, GetPackedNormal(p3)); - half w4 = CompareNormal(n0, GetPackedNormal(p4)); - - half s; - s = GetPackedAO(p0) * w0; - s += GetPackedAO(p1) * w1; - s += GetPackedAO(p2) * w2; - s += GetPackedAO(p3) * w3; - s += GetPackedAO(p4) * w4; - - return s / (w0 + w1 + w2 + w3 + w4); -} - -// Final composition shader -half4 FragComposition(VaryingsMultitex i) : SV_Target -{ - float2 delta = _MainTex_TexelSize.xy / _Downsample; - half ao = BlurSmall(_OcclusionTexture, i.uvSPR, delta); - half4 color = tex2D(_MainTex, i.uvSPR); - -#if !defined(DEBUG_COMPOSITION) - color.rgb *= 1.0 - EncodeAO(ao); -#else - color.rgb = 1.0 - EncodeAO(ao); -#endif - - return color; -} - -// Final composition shader (ambient-only mode) -VaryingsDefault VertCompositionGBuffer(AttributesDefault v) -{ - VaryingsDefault o; - o.pos = v.vertex; -#if UNITY_UV_STARTS_AT_TOP - o.uv = v.texcoord.xy * float2(1.0, -1.0) + float2(0.0, 1.0); -#else - o.uv = v.texcoord.xy; -#endif - o.uvSPR = UnityStereoTransformScreenSpaceTex(o.uv); - return o; -} - -#if !SHADER_API_GLES // excluding the MRT pass under GLES2 - -struct CompositionOutput -{ - half4 gbuffer0 : SV_Target0; - half4 gbuffer3 : SV_Target1; -}; - -CompositionOutput FragCompositionGBuffer(VaryingsDefault i) -{ - // Workaround: _OcclusionTexture_Texelsize hasn't been set properly - // for some reasons. Use _ScreenParams instead. - float2 delta = (_ScreenParams.zw - 1.0) / _Downsample; - half ao = BlurSmall(_OcclusionTexture, i.uvSPR, delta); - - CompositionOutput o; - o.gbuffer0 = half4(0.0, 0.0, 0.0, ao); - o.gbuffer3 = half4((half3)EncodeAO(ao), 0.0); - return o; -} - -#else - -fixed4 FragCompositionGBuffer(VaryingsDefault i) : SV_Target0 -{ - return 0.0; -} - -#endif - -#endif // __AMBIENT_OCCLUSION__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc.meta deleted file mode 100644 index 6398fb654..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 447591ee3d9d4204899be5fe25968ea0 -timeCreated: 1473323470 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader deleted file mode 100644 index 40bdf7bbf..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader +++ /dev/null @@ -1,119 +0,0 @@ -Shader "Hidden/Post FX/Ambient Occlusion" -{ - CGINCLUDE - - #pragma target 3.0 - - ENDCG - - SubShader - { - ZTest Always Cull Off ZWrite Off - - // 0: Occlusion estimation with CameraDepthTexture - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragAO - #pragma multi_compile FOG_OFF FOG_LINEAR FOG_EXP FOG_EXP2 - #define SOURCE_DEPTH - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 1: Occlusion estimation with CameraDepthNormalsTexture - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragAO - #pragma multi_compile FOG_OFF FOG_LINEAR FOG_EXP FOG_EXP2 - #define SOURCE_DEPTHNORMALS - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 2: Occlusion estimation with G-Buffer - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragAO - #pragma multi_compile FOG_OFF FOG_LINEAR FOG_EXP FOG_EXP2 - #define SOURCE_GBUFFER - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 3: Separable blur (horizontal pass) with CameraDepthNormalsTexture - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragBlur - #define SOURCE_DEPTHNORMALS - #define BLUR_HORIZONTAL - #define BLUR_SAMPLE_CENTER_NORMAL - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 4: Separable blur (horizontal pass) with G-Buffer - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragBlur - #define SOURCE_GBUFFER - #define BLUR_HORIZONTAL - #define BLUR_SAMPLE_CENTER_NORMAL - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 5: Separable blur (vertical pass) - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragBlur - #define BLUR_VERTICAL - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 6: Final composition - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragComposition - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 7: Final composition (ambient only mode) - Pass - { - Blend Zero OneMinusSrcColor, Zero OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex VertCompositionGBuffer - #pragma fragment FragCompositionGBuffer - #include "AmbientOcclusion.cginc" - ENDCG - } - - // 8: Debug visualization - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragComposition - #define DEBUG_COMPOSITION - #include "AmbientOcclusion.cginc" - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader.meta deleted file mode 100644 index ced2a98de..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: e881ae5627d1cc84395303acfbca6fb2 -timeCreated: 1462280790 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/AmbientOcclusion.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader deleted file mode 100644 index 3a6c07ff5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader +++ /dev/null @@ -1,49 +0,0 @@ -Shader "Hidden/Post FX/Blit" -{ - Properties - { - _MainTex("Main Texture", 2D) = "white" {} - } - - CGINCLUDE - - #include "UnityCG.cginc" - #include "Common.cginc" - - struct Varyings - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - }; - - Varyings VertBlit(AttributesDefault v) - { - Varyings o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST); - return o; - } - - half4 FragBlit(Varyings i) : SV_Target - { - half4 col = tex2D(_MainTex, i.uv); - return col; - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass - { - CGPROGRAM - - #pragma vertex VertBlit - #pragma fragment FragBlit - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader.meta deleted file mode 100644 index 897275161..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Blit.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 7d89469544dfa214eabdbf37fca76f40 -timeCreated: 1474297975 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Blit.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc deleted file mode 100644 index 6e1086a62..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef __BLOOM__ -#define __BLOOM__ - -#include "Common.cginc" - -// Brightness function -half Brightness(half3 c) -{ - return Max3(c); -} - -// 3-tap median filter -half3 Median(half3 a, half3 b, half3 c) -{ - return a + b + c - min(min(a, b), c) - max(max(a, b), c); -} - -// Downsample with a 4x4 box filter -half3 DownsampleFilter(sampler2D tex, float2 uv, float2 texelSize) -{ - float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); - - half3 s; - s = DecodeHDR(tex2D(tex, uv + d.xy)); - s += DecodeHDR(tex2D(tex, uv + d.zy)); - s += DecodeHDR(tex2D(tex, uv + d.xw)); - s += DecodeHDR(tex2D(tex, uv + d.zw)); - - return s * (1.0 / 4.0); -} - -// Downsample with a 4x4 box filter + anti-flicker filter -half3 DownsampleAntiFlickerFilter(sampler2D tex, float2 uv, float2 texelSize) -{ - float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); - - half3 s1 = DecodeHDR(tex2D(tex, uv + d.xy)); - half3 s2 = DecodeHDR(tex2D(tex, uv + d.zy)); - half3 s3 = DecodeHDR(tex2D(tex, uv + d.xw)); - half3 s4 = DecodeHDR(tex2D(tex, uv + d.zw)); - - // Karis's luma weighted average (using brightness instead of luma) - half s1w = 1.0 / (Brightness(s1) + 1.0); - half s2w = 1.0 / (Brightness(s2) + 1.0); - half s3w = 1.0 / (Brightness(s3) + 1.0); - half s4w = 1.0 / (Brightness(s4) + 1.0); - half one_div_wsum = 1.0 / (s1w + s2w + s3w + s4w); - - return (s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * one_div_wsum; -} - -half3 UpsampleFilter(sampler2D tex, float2 uv, float2 texelSize, float sampleScale) -{ -#if MOBILE_OR_CONSOLE - // 4-tap bilinear upsampler - float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0) * (sampleScale * 0.5); - - half3 s; - s = DecodeHDR(tex2D(tex, uv + d.xy)); - s += DecodeHDR(tex2D(tex, uv + d.zy)); - s += DecodeHDR(tex2D(tex, uv + d.xw)); - s += DecodeHDR(tex2D(tex, uv + d.zw)); - - return s * (1.0 / 4.0); -#else - // 9-tap bilinear upsampler (tent filter) - float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0) * sampleScale; - - half3 s; - s = DecodeHDR(tex2D(tex, uv - d.xy)); - s += DecodeHDR(tex2D(tex, uv - d.wy)) * 2.0; - s += DecodeHDR(tex2D(tex, uv - d.zy)); - - s += DecodeHDR(tex2D(tex, uv + d.zw)) * 2.0; - s += DecodeHDR(tex2D(tex, uv)) * 4.0; - s += DecodeHDR(tex2D(tex, uv + d.xw)) * 2.0; - - s += DecodeHDR(tex2D(tex, uv + d.zy)); - s += DecodeHDR(tex2D(tex, uv + d.wy)) * 2.0; - s += DecodeHDR(tex2D(tex, uv + d.xy)); - - return s * (1.0 / 16.0); -#endif -} - -#endif // __BLOOM__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc.meta deleted file mode 100644 index 8742726ae..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 7d1f4dd94c8e6e940b0730076ea7d6d9 -timeCreated: 1462980395 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Bloom.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader deleted file mode 100644 index d3004bb90..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader +++ /dev/null @@ -1,182 +0,0 @@ -// -// Kino/Bloom v2 - Bloom filter for Unity -// -// Copyright (C) 2015, 2016 Keijiro Takahashi -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// -Shader "Hidden/Post FX/Bloom" -{ - Properties - { - _MainTex ("", 2D) = "" {} - _BaseTex ("", 2D) = "" {} - _AutoExposure ("", 2D) = "" {} - } - - CGINCLUDE - - #pragma target 3.0 - #include "UnityCG.cginc" - #include "Bloom.cginc" - #include "Common.cginc" - - sampler2D _BaseTex; - float2 _BaseTex_TexelSize; - - sampler2D _AutoExposure; - - float _PrefilterOffs; - float _Threshold; - float3 _Curve; - float _SampleScale; - - // ----------------------------------------------------------------------------- - // Vertex shaders - - struct VaryingsMultitex - { - float4 pos : SV_POSITION; - float2 uvMain : TEXCOORD0; - float2 uvBase : TEXCOORD1; - }; - - VaryingsMultitex VertMultitex(AttributesDefault v) - { - VaryingsMultitex o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uvMain = UnityStereoScreenSpaceUVAdjust(v.texcoord.xy, _MainTex_ST); - o.uvBase = o.uvMain; - - #if UNITY_UV_STARTS_AT_TOP - if (_BaseTex_TexelSize.y < 0.0) - o.uvBase.y = 1.0 - o.uvBase.y; - #endif - - return o; - } - - // ----------------------------------------------------------------------------- - // Fragment shaders - - half4 FetchAutoExposed(sampler2D tex, float2 uv) - { - float autoExposure = 1.0; - uv = UnityStereoScreenSpaceUVAdjust(uv, _MainTex_ST); - autoExposure = tex2D(_AutoExposure, uv).r; - return tex2D(tex, uv) * autoExposure; - } - - half4 FragPrefilter(VaryingsDefault i) : SV_Target - { - float2 uv = i.uv + _MainTex_TexelSize.xy * _PrefilterOffs; - - #if ANTI_FLICKER - float3 d = _MainTex_TexelSize.xyx * float3(1.0, 1.0, 0.0); - half4 s0 = SafeHDR(FetchAutoExposed(_MainTex, uv)); - half3 s1 = SafeHDR(FetchAutoExposed(_MainTex, uv - d.xz).rgb); - half3 s2 = SafeHDR(FetchAutoExposed(_MainTex, uv + d.xz).rgb); - half3 s3 = SafeHDR(FetchAutoExposed(_MainTex, uv - d.zy).rgb); - half3 s4 = SafeHDR(FetchAutoExposed(_MainTex, uv + d.zy).rgb); - half3 m = Median(Median(s0.rgb, s1, s2), s3, s4); - #else - half4 s0 = SafeHDR(FetchAutoExposed(_MainTex, uv)); - half3 m = s0.rgb; - #endif - - #if UNITY_COLORSPACE_GAMMA - m = GammaToLinearSpace(m); - #endif - - // Pixel brightness - half br = Brightness(m); - - // Under-threshold part: quadratic curve - half rq = clamp(br - _Curve.x, 0.0, _Curve.y); - rq = _Curve.z * rq * rq; - - // Combine and apply the brightness response curve. - m *= max(rq, br - _Threshold) / max(br, 1e-5); - - return EncodeHDR(m); - } - - half4 FragDownsample1(VaryingsDefault i) : SV_Target - { - #if ANTI_FLICKER - return EncodeHDR(DownsampleAntiFlickerFilter(_MainTex, i.uvSPR, _MainTex_TexelSize.xy)); - #else - return EncodeHDR(DownsampleFilter(_MainTex, i.uvSPR, _MainTex_TexelSize.xy)); - #endif - } - - half4 FragDownsample2(VaryingsDefault i) : SV_Target - { - return EncodeHDR(DownsampleFilter(_MainTex, i.uvSPR, _MainTex_TexelSize.xy)); - } - - half4 FragUpsample(VaryingsMultitex i) : SV_Target - { - half3 base = DecodeHDR(tex2D(_BaseTex, i.uvBase)); - half3 blur = UpsampleFilter(_MainTex, i.uvMain, _MainTex_TexelSize.xy, _SampleScale); - return EncodeHDR(base + blur); - } - - ENDCG - - SubShader - { - ZTest Always Cull Off ZWrite Off - - Pass - { - CGPROGRAM - #pragma multi_compile __ ANTI_FLICKER - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #pragma vertex VertDefault - #pragma fragment FragPrefilter - ENDCG - } - - Pass - { - CGPROGRAM - #pragma multi_compile __ ANTI_FLICKER - #pragma vertex VertDefault - #pragma fragment FragDownsample1 - ENDCG - } - - Pass - { - CGPROGRAM - #pragma vertex VertDefault - #pragma fragment FragDownsample2 - ENDCG - } - - Pass - { - CGPROGRAM - #pragma vertex VertMultitex - #pragma fragment FragUpsample - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader.meta deleted file mode 100644 index d69327bae..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Bloom.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 4ceb73bc148699b469361531d6062548 -timeCreated: 1462953634 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Bloom.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader deleted file mode 100644 index 337128e48..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader +++ /dev/null @@ -1,257 +0,0 @@ -Shader "Hidden/Post FX/Builtin Debug Views" -{ - CGINCLUDE - - #include "UnityCG.cginc" - #include "Common.cginc" - - #pragma exclude_renderers d3d11_9x - - sampler2D_float _CameraDepthTexture; - sampler2D_float _CameraDepthNormalsTexture; - sampler2D_float _CameraMotionVectorsTexture; - - float4 _CameraDepthTexture_ST; - float4 _CameraDepthNormalsTexture_ST; - float4 _CameraMotionVectorsTexture_ST; - - #if SOURCE_GBUFFER - sampler2D _CameraGBufferTexture2; - float4 _CameraGBufferTexture2_ST; - #endif - - // ----------------------------------------------------------------------------- - // Depth - - float _DepthScale; - - float4 FragDepth(VaryingsDefault i) : SV_Target - { - float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, UnityStereoScreenSpaceUVAdjust(i.uv, _CameraDepthTexture_ST)); - depth = Linear01Depth(depth) * _DepthScale; - float3 d = depth.xxx; - - #if !UNITY_COLORSPACE_GAMMA - d = GammaToLinearSpace(d); - #endif - - return float4(d, 1.0); - } - - // ----------------------------------------------------------------------------- - // Normals - - float3 SampleNormal(float2 uv) - { - #if SOURCE_GBUFFER - float3 norm = tex2D(_CameraGBufferTexture2, uv).xyz * 2.0 - 1.0; - return mul((float3x3)unity_WorldToCamera, norm); - #else - float4 cdn = tex2D(_CameraDepthNormalsTexture, uv); - return DecodeViewNormalStereo(cdn) * float3(1.0, 1.0, -1.0); - #endif - } - - float4 FragNormals(VaryingsDefault i) : SV_Target - { - float3 n = SampleNormal(UnityStereoScreenSpaceUVAdjust(i.uv, _CameraDepthNormalsTexture_ST)); - - #if UNITY_COLORSPACE_GAMMA - n = LinearToGammaSpace(n); - #endif - - return float4(n, 1.0); - } - - // ----------------------------------------------------------------------------- - // Motion vectors - - float _Opacity; - float _Amplitude; - float4 _Scale; - - float4 FragMovecsOpacity(VaryingsDefault i) : SV_Target - { - float4 src = tex2D(_MainTex, i.uv); - return float4(src.rgb * _Opacity, src.a); - } - - // Convert a motion vector into RGBA color. - float4 VectorToColor(float2 mv) - { - float phi = atan2(mv.x, mv.y); - float hue = (phi / UNITY_PI + 1.0) * 0.5; - - float r = abs(hue * 6.0 - 3.0) - 1.0; - float g = 2.0 - abs(hue * 6.0 - 2.0); - float b = 2.0 - abs(hue * 6.0 - 4.0); - float a = length(mv); - - return saturate(float4(r, g, b, a)); - } - - float4 FragMovecsImaging(VaryingsDefault i) : SV_Target - { - float4 src = tex2D(_MainTex, i.uv); - - float2 mv = tex2D(_CameraMotionVectorsTexture, i.uv).rg * _Amplitude; - - #if UNITY_UV_STARTS_AT_TOP - mv.y *= -1.0; - #endif - - float4 mc = VectorToColor(mv); - - float3 rgb = src.rgb; - - #if !UNITY_COLORSPACE_GAMMA - rgb = LinearToGammaSpace(rgb); - #endif - - rgb = lerp(rgb, mc.rgb, mc.a * _Opacity); - - #if !UNITY_COLORSPACE_GAMMA - rgb = GammaToLinearSpace(rgb); - #endif - - return float4(rgb, src.a); - } - - struct VaryingsArrows - { - float4 vertex : SV_POSITION; - float2 scoord : TEXCOORD; - float4 color : COLOR; - }; - - VaryingsArrows VertArrows(AttributesDefault v) - { - // Retrieve the motion vector. - float4 uv = float4(v.texcoord.xy, 0.0, 0.0); - - #if UNITY_UV_STARTS_AT_TOP - uv.y = 1.0 - uv.y; - #endif - - float2 mv = tex2Dlod(_CameraMotionVectorsTexture, uv).rg * _Amplitude; - - #if UNITY_UV_STARTS_AT_TOP - mv.y *= -1.0; - #endif - - // Arrow color - float4 color = VectorToColor(mv); - - // Make a rotation matrix based on the motion vector. - float2x2 rot = float2x2(mv.y, mv.x, -mv.x, mv.y); - - // Rotate and scale the body of the arrow. - float2 pos = mul(rot, v.vertex.zy) * _Scale.xy; - - // Normalized variant of the motion vector and the rotation matrix. - float2 mv_n = normalize(mv); - float2x2 rot_n = float2x2(mv_n.y, mv_n.x, -mv_n.x, mv_n.y); - - // Rotate and scale the head of the arrow. - float2 head = float2(v.vertex.x, -abs(v.vertex.x)) * 0.3; - head *= saturate(color.a); - pos += mul(rot_n, head) * _Scale.xy; - - // Offset the arrow position. - pos += v.texcoord.xy * 2.0 - 1.0; - - // Convert to the screen coordinates. - float2 scoord = (pos + 1.0) * 0.5 * _ScreenParams.xy; - - // Snap to a pixel-perfect position. - scoord = round(scoord); - - // Bring back to the normalized screen space. - pos = (scoord + 0.5) * (_ScreenParams.zw - 1.0) * 2.0 - 1.0; - - // Color tweaks - color.rgb = GammaToLinearSpace(lerp(color.rgb, 1.0, 0.5)); - color.a *= _Opacity; - - // Output - VaryingsArrows o; - o.vertex = float4(pos, 0.0, 1.0); - o.scoord = scoord; - o.color = saturate(color); - return o; - } - - float4 FragMovecsArrows(VaryingsArrows i) : SV_Target - { - // Pseudo anti-aliasing. - float aa = length(frac(i.scoord) - 0.5) / 0.707; - aa *= (aa * (aa * 0.305306011 + 0.682171111) + 0.012522878); // gamma - return float4(i.color.rgb, i.color.a * aa); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) - Depth - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragDepth - - ENDCG - } - - // (1) - Normals - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragNormals - #pragma multi_compile __ SOURCE_GBUFFER - - ENDCG - } - - // (2) - Motion vectors - Opacity - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragMovecsOpacity - - ENDCG - } - - // (3) - Motion vectors - Imaging - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragMovecsImaging - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - - ENDCG - } - - // (4) - Motion vectors - Arrows - Pass - { - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - - #pragma vertex VertArrows - #pragma fragment FragMovecsArrows - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader.meta deleted file mode 100644 index a37a5a2e4..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 72127ba7dd8c6b04bb3f29c7ee669813 -timeCreated: 1468224802 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc deleted file mode 100644 index 2a8c5a35a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc +++ /dev/null @@ -1,290 +0,0 @@ -#ifndef __COLOR_GRADING__ -#define __COLOR_GRADING__ - -#include "ACES.cginc" -#include "Common.cginc" - -// Set to 1 to use more precise but more expensive log/linear conversions. I haven't found a proper -// use case for the high precision version yet so I'm leaving this to 0. -#define COLOR_GRADING_PRECISE_LOG 0 - -// -// Alexa LogC converters (El 1000) -// See http://www.vocas.nl/webfm_send/964 -// It's a good fit to store HDR values in log as the range is pretty wide (1 maps to ~58.85666) and -// is quick enough to compute. -// -struct ParamsLogC -{ - half cut; - half a, b, c, d, e, f; -}; - -static const ParamsLogC LogC = -{ - 0.011361, // cut - 5.555556, // a - 0.047996, // b - 0.244161, // c - 0.386036, // d - 5.301883, // e - 0.092819 // f -}; - -half LinearToLogC_Precise(half x) -{ - half o; - if (x > LogC.cut) - o = LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; - else - o = LogC.e * x + LogC.f; - return o; -} - -half3 LinearToLogC(half3 x) -{ -#if COLOR_GRADING_PRECISE_LOG - return half3( - LinearToLogC_Precise(x.x), - LinearToLogC_Precise(x.y), - LinearToLogC_Precise(x.z) - ); -#else - return LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; -#endif -} - -half LogCToLinear_Precise(half x) -{ - half o; - if (x > LogC.e * LogC.cut + LogC.f) - o = (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; - else - o = (x - LogC.f) / LogC.e; - return o; -} - -half3 LogCToLinear(half3 x) -{ -#if COLOR_GRADING_PRECISE_LOG - return half3( - LogCToLinear_Precise(x.x), - LogCToLinear_Precise(x.y), - LogCToLinear_Precise(x.z) - ); -#else - return (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; -#endif -} - -// -// White balance -// Recommended workspace: ACEScg (linear) -// -static const half3x3 LIN_2_LMS_MAT = { - 3.90405e-1, 5.49941e-1, 8.92632e-3, - 7.08416e-2, 9.63172e-1, 1.35775e-3, - 2.31082e-2, 1.28021e-1, 9.36245e-1 -}; - -static const half3x3 LMS_2_LIN_MAT = { - 2.85847e+0, -1.62879e+0, -2.48910e-2, - -2.10182e-1, 1.15820e+0, 3.24281e-4, - -4.18120e-2, -1.18169e-1, 1.06867e+0 -}; - -half3 WhiteBalance(half3 c, half3 balance) -{ - half3 lms = mul(LIN_2_LMS_MAT, c); - lms *= balance; - return mul(LMS_2_LIN_MAT, lms); -} - -// -// Luminance (Rec.709 primaries according to ACES specs) -// -half AcesLuminance(half3 c) -{ - return dot(c, half3(0.2126, 0.7152, 0.0722)); -} - -// -// Offset, Power, Slope (ASC-CDL) -// Works in Log & Linear. Results will be different but still correct. -// -half3 OffsetPowerSlope(half3 c, half3 offset, half3 power, half3 slope) -{ - half3 so = c * slope + offset; - so = so > (0.0).xxx ? pow(so, power) : so; - return so; -} - -// -// Lift, Gamma (pre-inverted), Gain -// Recommended workspace: ACEScg (linear) -// -half3 LiftGammaGain(half3 c, half3 lift, half3 invgamma, half3 gain) -{ - //return gain * (lift * (1.0 - c) + pow(max(c, kEpsilon), invgamma)); - //return pow(gain * (c + lift * (1.0 - c)), invgamma); - - half3 power = invgamma; - half3 offset = lift * gain; - half3 slope = ((1.0).xxx - lift) * gain; - return OffsetPowerSlope(c, offset, power, slope); -} - -// -// Saturation (should be used after offset/power/slope) -// Recommended workspace: ACEScc (log) -// Optimal range: [0.0, 2.0] -// -half3 Saturation(half3 c, half sat) -{ - half luma = AcesLuminance(c); - return luma.xxx + sat * (c - luma.xxx); -} - -// -// Basic contrast curve -// Recommended workspace: ACEScc (log) -// Optimal range: [0.0, 2.0] -// -half3 ContrastLog(half3 c, half con) -{ - return (c - ACEScc_MIDGRAY) * con + ACEScc_MIDGRAY; -} - -// -// Hue, Saturation, Value -// Ranges: -// Hue [0.0, 1.0] -// Sat [0.0, 1.0] -// Lum [0.0, HALF_MAX] -// -half3 RgbToHsv(half3 c) -{ - half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); - half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); - half d = q.x - min(q.w, q.y); - half e = EPSILON; - return half3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); -} - -half3 HsvToRgb(half3 c) -{ - half4 K = half4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - half3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); -} - -half RotateHue(half value, half low, half hi) -{ - return (value < low) - ? value + hi - : (value > hi) - ? value - hi - : value; -} - -// -// Remaps Y/R/G/B values -// -half3 YrgbCurve(half3 c, sampler2D curveTex) -{ - const float kHalfPixel = (1.0 / 128.0) / 2.0; - - // Y - c += kHalfPixel.xxx; - float mr = tex2D(curveTex, float2(c.r, 0.75)).a; - float mg = tex2D(curveTex, float2(c.g, 0.75)).a; - float mb = tex2D(curveTex, float2(c.b, 0.75)).a; - c = saturate(float3(mr, mg, mb)); - - // RGB - c += kHalfPixel.xxx; - float r = tex2D(curveTex, float2(c.r, 0.75)).r; - float g = tex2D(curveTex, float2(c.g, 0.75)).g; - float b = tex2D(curveTex, float2(c.b, 0.75)).b; - return saturate(half3(r, g, b)); -} - -// -// (X) Hue VS Hue - Remaps hue on a curve according to the current hue -// Input is Hue [0.0, 1.0] -// Output is Hue [0.0, 1.0] -// -half SecondaryHueHue(half hue, sampler2D curveTex) -{ - half offset = saturate(tex2D(curveTex, half2(hue, 0.25)).x) - 0.5; - hue += offset; - hue = RotateHue(hue, 0.0, 1.0); - return hue; -} - -// -// (Y) Hue VS Saturation - Remaps saturation on a curve according to the current hue -// Input is Hue [0.0, 1.0] -// Output is Saturation multiplier [0.0, 2.0] -// -half SecondaryHueSat(half hue, sampler2D curveTex) -{ - return saturate(tex2D(curveTex, half2(hue, 0.25)).y) * 2.0; -} - -// -// (Z) Saturation VS Saturation - Remaps saturation on a curve according to the current saturation -// Input is Saturation [0.0, 1.0] -// Output is Saturation multiplier [0.0, 2.0] -// -half SecondarySatSat(half sat, sampler2D curveTex) -{ - return saturate(tex2D(curveTex, half2(sat, 0.25)).z) * 2.0; -} - -// -// (W) Luminance VS Saturation - Remaps saturation on a curve according to the current luminance -// Input is Luminance [0.0, 1.0] -// Output is Saturation multiplier [0.0, 2.0] -// -half SecondaryLumSat(half lum, sampler2D curveTex) -{ - return saturate(tex2D(curveTex, half2(lum, 0.25)).w) * 2.0; -} - -// -// Channel mixing (same as Photoshop's and DaVinci's Resolve) -// Recommended workspace: ACEScg (linear) -// Input mixers should be in range [-2.0;2.0] -// -half3 ChannelMixer(half3 c, half3 red, half3 green, half3 blue) -{ - return half3( - dot(c, red), - dot(c, green), - dot(c, blue) - ); -} - -// -// LUT grading -// scaleOffset = (1 / lut_width, 1 / lut_height, lut_height - 1) -// -half3 ApplyLut2d(sampler2D tex, half3 uvw, half3 scaleOffset) -{ - // Strip format where `height = sqrt(width)` - uvw.z *= scaleOffset.z; - half shift = floor(uvw.z); - uvw.xy = uvw.xy * scaleOffset.z * scaleOffset.xy + scaleOffset.xy * 0.5; - uvw.x += shift * scaleOffset.y; - uvw.xyz = lerp(tex2D(tex, uvw.xy).rgb, tex2D(tex, uvw.xy + half2(scaleOffset.y, 0)).rgb, uvw.z - shift); - return uvw; -} - -half3 ApplyLut3d(sampler3D tex, half3 uvw) -{ - return tex3D(tex, uvw).rgb; -} - -#endif // __COLOR_GRADING__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc.meta deleted file mode 100644 index 4c42c719b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ColorGrading.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 26a62c2e30be83547bdfa9fe837165e3 -timeCreated: 1460363486 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/ColorGrading.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc deleted file mode 100644 index 20280ff2a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef __COMMON__ -#define __COMMON__ - -#include "UnityCG.cginc" - -// Mobile: use RGBM instead of float/half RGB -#define USE_RGBM defined(SHADER_API_MOBILE) - -#define MOBILE_OR_CONSOLE (defined(SHADER_API_MOBILE) || defined(SHADER_API_PSSL) || defined(SHADER_API_XBOXONE) || defined(SHADER_API_WIIU)) - -#if defined(SHADER_API_PSSL) -// No support for sampler2D_half on PS4 in 5.4 -#define sampler2D_half sampler2D_float -#endif - -// ----------------------------------------------------------------------------- -// Uniforms - -#if defined(SEPARATE_TEXTURE_SAMPLER) -Texture2D _MainTex; -SamplerState sampler_MainTex; -#else -sampler2D _MainTex; -#endif -float4 _MainTex_TexelSize; -float4 _MainTex_ST; - -// ----------------------------------------------------------------------------- -// Vertex shaders - -struct AttributesDefault -{ - float4 vertex : POSITION; - float4 texcoord : TEXCOORD0; -}; - -struct VaryingsDefault -{ - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float2 uvSPR : TEXCOORD1; // Single Pass Stereo UVs -}; - -VaryingsDefault VertDefault(AttributesDefault v) -{ - VaryingsDefault o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.texcoord.xy; - o.uvSPR = UnityStereoScreenSpaceUVAdjust(v.texcoord.xy, _MainTex_ST); - return o; -} - -// ----------------------------------------------------------------------------- -// Maths stuff - -#define HALF_MAX 65504.0 -#define EPSILON 1.0e-4 -#define UNITY_PI_2 (UNITY_PI * 2.0) - -inline half Min3(half3 x) { return min(x.x, min(x.y, x.z)); } -inline half Min3(half x, half y, half z) { return min(x, min(y, z)); } - -inline half Max3(half3 x) { return max(x.x, max(x.y, x.z)); } -inline half Max3(half x, half y, half z) { return max(x, max(y, z)); } - -inline half Min4(half4 x) { return min(x.x, min(x.y, min(x.z, x.w))); } -inline half Min4(half x, half y, half z, half w) { return min(x, min(y, min(z, w))); } - -inline half Max4(half4 x) { return max(x.x, max(x.y, max(x.z, x.w))); } -inline half Max4(half x, half y, half z, half w) { return max(x, max(y, min(z, w))); } - -inline half Pow2(half x) { return x * x; } -inline half2 Pow2(half2 x) { return x * x; } -inline half3 Pow2(half3 x) { return x * x; } -inline half4 Pow2(half4 x) { return x * x; } - -inline half Pow3(half x) { return x * x * x; } -inline half2 Pow3(half2 x) { return x * x * x; } -inline half3 Pow3(half3 x) { return x * x * x; } -inline half4 Pow3(half4 x) { return x * x * x; } - -#ifndef UNITY_STANDARD_BRDF_INCLUDED -inline half Pow4(half x) { return x * x * x * x; } -inline half2 Pow4(half2 x) { return x * x * x * x; } -inline half3 Pow4(half3 x) { return x * x * x * x; } -inline half4 Pow4(half4 x) { return x * x * x * x; } -#endif - -// Returns the largest vector of v1 and v2 -inline half2 MaxV(half2 v1, half2 v2) { return dot(v1, v1) < dot(v2, v2) ? v2 : v1; } -inline half3 MaxV(half3 v1, half3 v2) { return dot(v1, v1) < dot(v2, v2) ? v2 : v1; } -inline half4 MaxV(half4 v1, half4 v2) { return dot(v1, v1) < dot(v2, v2) ? v2 : v1; } - -// Clamp HDR value within a safe range -inline half SafeHDR(half c) { return min(c, HALF_MAX); } -inline half2 SafeHDR(half2 c) { return min(c, HALF_MAX); } -inline half3 SafeHDR(half3 c) { return min(c, HALF_MAX); } -inline half4 SafeHDR(half4 c) { return min(c, HALF_MAX); } - -// Compatibility function -#if (SHADER_TARGET < 50 && !defined(SHADER_API_PSSL)) -float rcp(float value) -{ - return 1.0 / value; -} -#endif - -// Tonemapper from http://gpuopen.com/optimized-reversible-tonemapper-for-resolve/ -float4 FastToneMap(in float4 color) -{ - return float4(color.rgb * rcp(Max3(color.rgb) + 1.), color.a); -} - -float4 FastToneMap(in float4 color, in float weight) -{ - return float4(color.rgb * rcp(weight * Max3(color.rgb) + 1.), color.a); -} - -float4 FastToneUnmap(in float4 color) -{ - return float4(color.rgb * rcp(1. - Max3(color.rgb)), color.a); -} - -// Interleaved gradient function from Jimenez 2014 http://goo.gl/eomGso -float GradientNoise(float2 uv) -{ - uv = floor(uv * _ScreenParams.xy); - float f = dot(float2(0.06711056, 0.00583715), uv); - return frac(52.9829189 * frac(f)); -} - -// Z buffer depth to linear 0-1 depth -// Handles orthographic projection correctly -float LinearizeDepth(float z) -{ - float isOrtho = unity_OrthoParams.w; - float isPers = 1.0 - unity_OrthoParams.w; - z *= _ZBufferParams.x; - return (1.0 - isOrtho * z) / (isPers * z + _ZBufferParams.y); -} - -// ----------------------------------------------------------------------------- -// RGBM encoding/decoding - -half4 EncodeHDR(float3 rgb) -{ -#if USE_RGBM - rgb *= 1.0 / 8.0; - float m = max(max(rgb.r, rgb.g), max(rgb.b, 1e-6)); - m = ceil(m * 255.0) / 255.0; - return half4(rgb / m, m); -#else - return half4(rgb, 0.0); -#endif -} - -float3 DecodeHDR(half4 rgba) -{ -#if USE_RGBM - return rgba.rgb * rgba.a * 8.0; -#else - return rgba.rgb; -#endif -} - -#endif // __COMMON__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc.meta deleted file mode 100644 index 0a615f4a1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Common.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: eb88496804341c648b32a75843d92ccb -timeCreated: 1465205118 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Common.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc deleted file mode 100644 index dad9b4eb4..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc +++ /dev/null @@ -1,243 +0,0 @@ -#ifndef __DEPTH_OF_FIELD__ -#define __DEPTH_OF_FIELD__ - -#if SHADER_TARGET >= 50 - // Use separate texture/sampler objects on Shader Model 5.0 - #define SEPARATE_TEXTURE_SAMPLER - #define DOF_DECL_TEX2D(tex) Texture2D tex; SamplerState sampler##tex - #define DOF_TEX2D(tex, coord) tex.Sample(sampler##tex, coord) -#else - #define DOF_DECL_TEX2D(tex) sampler2D tex - #define DOF_TEX2D(tex, coord) tex2D(tex, coord) -#endif - -#include "Common.cginc" -#include "DiskKernels.cginc" - -DOF_DECL_TEX2D(_CameraDepthTexture); -DOF_DECL_TEX2D(_CameraMotionVectorsTexture); -DOF_DECL_TEX2D(_CoCTex); - -// Camera parameters -float _Distance; -float _LensCoeff; // f^2 / (N * (S1 - f) * film_width * 2) -float _MaxCoC; -float _RcpMaxCoC; -float _RcpAspect; -half3 _TaaParams; // Jitter.x, Jitter.y, Blending - -struct VaryingsDOF -{ - float4 pos : SV_POSITION; - half2 uv : TEXCOORD0; - half2 uvAlt : TEXCOORD1; -}; - -// Common vertex shader with single pass stereo rendering support -VaryingsDOF VertDOF(AttributesDefault v) -{ - half2 uvAlt = v.texcoord; -#if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0.0) uvAlt.y = 1.0 - uvAlt.y; -#endif - - VaryingsDOF o; - o.pos = UnityObjectToClipPos(v.vertex); - -#if defined(UNITY_SINGLE_PASS_STEREO) - o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST); - o.uvAlt = UnityStereoScreenSpaceUVAdjust(uvAlt, _MainTex_ST); -#else - o.uv = v.texcoord; - o.uvAlt = uvAlt; -#endif - - return o; -} - -// CoC calculation -half4 FragCoC(VaryingsDOF i) : SV_Target -{ - float depth = LinearEyeDepth(DOF_TEX2D(_CameraDepthTexture, i.uv)); - half coc = (depth - _Distance) * _LensCoeff / max(depth, 1e-5); - return saturate(coc * 0.5 * _RcpMaxCoC + 0.5); -} - -// Temporal filter -half4 FragTempFilter(VaryingsDOF i) : SV_Target -{ - float3 uvOffs = _MainTex_TexelSize.xyy * float3(1, 1, 0); - -#if defined(SEPARATE_TEXTURE_SAMPLER) - - half4 cocTL = _CoCTex.GatherRed(sampler_CoCTex, i.uv - uvOffs.xy * 0.5); // top-left - half4 cocBR = _CoCTex.GatherRed(sampler_CoCTex, i.uv + uvOffs.xy * 0.5); // bottom-right - half coc1 = cocTL.x; // top - half coc2 = cocTL.z; // left - half coc3 = cocBR.x; // bottom - half coc4 = cocBR.z; // right - -#else - - half coc1 = DOF_TEX2D(_CoCTex, i.uv - uvOffs.xz).r; // top - half coc2 = DOF_TEX2D(_CoCTex, i.uv - uvOffs.zy).r; // left - half coc3 = DOF_TEX2D(_CoCTex, i.uv + uvOffs.zy).r; // bottom - half coc4 = DOF_TEX2D(_CoCTex, i.uv + uvOffs.xz).r; // right - -#endif - - // Dejittered center sample. - half coc0 = DOF_TEX2D(_CoCTex, i.uv - _TaaParams.xy).r; - - // CoC dilation: determine the closest point in the four neighbors. - float3 closest = float3(0, 0, coc0); - closest = coc1 < closest.z ? float3(-uvOffs.xz, coc1) : closest; - closest = coc2 < closest.z ? float3(-uvOffs.zy, coc2) : closest; - closest = coc3 < closest.z ? float3(+uvOffs.zy, coc3) : closest; - closest = coc4 < closest.z ? float3(+uvOffs.xz, coc4) : closest; - - // Sample the history buffer with the motion vector at the closest point. - float2 motion = DOF_TEX2D(_CameraMotionVectorsTexture, i.uv + closest.xy).xy; - half cocHis = DOF_TEX2D(_MainTex, i.uv - motion).r; - - // Neighborhood clamping. - half cocMin = closest.z; - half cocMax = max(max(max(max(coc0, coc1), coc2), coc3), coc4); - cocHis = clamp(cocHis, cocMin, cocMax); - - // Blend with the history. - return lerp(coc0, cocHis, _TaaParams.z); -} - -// Prefilter: downsampling and premultiplying. -half4 FragPrefilter(VaryingsDOF i) : SV_Target -{ -#if defined(SEPARATE_TEXTURE_SAMPLER) - - // Sample source colors. - half4 c_r = _MainTex.GatherRed (sampler_MainTex, i.uv); - half4 c_g = _MainTex.GatherGreen(sampler_MainTex, i.uv); - half4 c_b = _MainTex.GatherBlue (sampler_MainTex, i.uv); - - half3 c0 = half3(c_r.x, c_g.x, c_b.x); - half3 c1 = half3(c_r.y, c_g.y, c_b.y); - half3 c2 = half3(c_r.z, c_g.z, c_b.z); - half3 c3 = half3(c_r.w, c_g.w, c_b.w); - - // Sample CoCs. - half4 cocs = _CoCTex.Gather(sampler_CoCTex, i.uvAlt) * 2.0 - 1.0; - half coc0 = cocs.x; - half coc1 = cocs.y; - half coc2 = cocs.z; - half coc3 = cocs.w; - -#else - - float3 duv = _MainTex_TexelSize.xyx * float3(0.5, 0.5, -0.5); - - // Sample source colors. - half3 c0 = DOF_TEX2D(_MainTex, i.uv - duv.xy).rgb; - half3 c1 = DOF_TEX2D(_MainTex, i.uv - duv.zy).rgb; - half3 c2 = DOF_TEX2D(_MainTex, i.uv + duv.zy).rgb; - half3 c3 = DOF_TEX2D(_MainTex, i.uv + duv.xy).rgb; - - // Sample CoCs. - half coc0 = DOF_TEX2D(_CoCTex, i.uvAlt - duv.xy).r * 2.0 - 1.0; - half coc1 = DOF_TEX2D(_CoCTex, i.uvAlt - duv.zy).r * 2.0 - 1.0; - half coc2 = DOF_TEX2D(_CoCTex, i.uvAlt + duv.zy).r * 2.0 - 1.0; - half coc3 = DOF_TEX2D(_CoCTex, i.uvAlt + duv.xy).r * 2.0 - 1.0; - -#endif - - // Apply CoC and luma weights to reduce bleeding and flickering. - float w0 = abs(coc0) / (Max3(c0) + 1.0); - float w1 = abs(coc1) / (Max3(c1) + 1.0); - float w2 = abs(coc2) / (Max3(c2) + 1.0); - float w3 = abs(coc3) / (Max3(c3) + 1.0); - - // Weighted average of the color samples - half3 avg = c0 * w0 + c1 * w1 + c2 * w2 + c3 * w3; - avg /= max(w0 + w1 + w2 + w3, 1e-5); - - // Select the largest CoC value. - half coc_min = Min4(coc0, coc1, coc2, coc3); - half coc_max = Max4(coc0, coc1, coc2, coc3); - half coc = (-coc_min > coc_max ? coc_min : coc_max) * _MaxCoC; - - // Premultiply CoC again. - avg *= smoothstep(0, _MainTex_TexelSize.y * 2, abs(coc)); - -#if defined(UNITY_COLORSPACE_GAMMA) - avg = GammaToLinearSpace(avg); -#endif - - return half4(avg, coc); -} - -// Bokeh filter with disk-shaped kernels -half4 FragBlur(VaryingsDOF i) : SV_Target -{ - half4 samp0 = DOF_TEX2D(_MainTex, i.uv); - - half4 bgAcc = 0.0; // Background: far field bokeh - half4 fgAcc = 0.0; // Foreground: near field bokeh - - UNITY_LOOP for (int si = 0; si < kSampleCount; si++) - { - float2 disp = kDiskKernel[si] * _MaxCoC; - float dist = length(disp); - - float2 duv = float2(disp.x * _RcpAspect, disp.y); - half4 samp = DOF_TEX2D(_MainTex, i.uv + duv); - - // BG: Compare CoC of the current sample and the center sample - // and select smaller one. - half bgCoC = max(min(samp0.a, samp.a), 0.0); - - // Compare the CoC to the sample distance. - // Add a small margin to smooth out. - const half margin = _MainTex_TexelSize.y * 2; - half bgWeight = saturate((bgCoC - dist + margin) / margin); - half fgWeight = saturate((-samp.a - dist + margin) / margin); - - // Cut influence from focused areas because they're darkened by CoC - // premultiplying. This is only needed for near field. - fgWeight *= step(_MainTex_TexelSize.y, -samp.a); - - // Accumulation - bgAcc += half4(samp.rgb, 1.0) * bgWeight; - fgAcc += half4(samp.rgb, 1.0) * fgWeight; - } - - // Get the weighted average. - bgAcc.rgb /= bgAcc.a + (bgAcc.a == 0.0); // zero-div guard - fgAcc.rgb /= fgAcc.a + (fgAcc.a == 0.0); - - // BG: Calculate the alpha value only based on the center CoC. - // This is a rather aggressive approximation but provides stable results. - bgAcc.a = smoothstep(_MainTex_TexelSize.y, _MainTex_TexelSize.y * 2.0, samp0.a); - - // FG: Normalize the total of the weights. - fgAcc.a *= UNITY_PI / kSampleCount; - - // Alpha premultiplying - half alpha = saturate(fgAcc.a); - half3 rgb = lerp(bgAcc.rgb, fgAcc.rgb, alpha); - - return half4(rgb, alpha); -} - -// Postfilter blur -half4 FragPostBlur(VaryingsDOF i) : SV_Target -{ - // 9 tap tent filter with 4 bilinear samples - const float4 duv = _MainTex_TexelSize.xyxy * float4(0.5, 0.5, -0.5, 0); - half4 acc; - acc = DOF_TEX2D(_MainTex, i.uv - duv.xy); - acc += DOF_TEX2D(_MainTex, i.uv - duv.zy); - acc += DOF_TEX2D(_MainTex, i.uv + duv.zy); - acc += DOF_TEX2D(_MainTex, i.uv + duv.xy); - return acc / 4.0; -} - -#endif // __DEPTH_OF_FIELD__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc.meta deleted file mode 100644 index 741be14d2..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: ddc2c19b8a216d748a357ffe32ba4dc1 -timeCreated: 1472211508 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/DepthOfField.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader deleted file mode 100644 index ca9830cb7..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader +++ /dev/null @@ -1,212 +0,0 @@ -Shader "Hidden/Post FX/Depth Of Field" -{ - Properties - { - _MainTex ("", 2D) = "black" - } - - CGINCLUDE - #pragma exclude_renderers d3d11_9x - ENDCG - - // SubShader with SM 5.0 support - // Gather intrinsics are used to reduce texture sample count. - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass // 0 - { - Name "CoC Calculation" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragCoC - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 1 - { - Name "CoC Temporal Filter" - CGPROGRAM - #pragma target 5.0 - #pragma vertex VertDOF - #pragma fragment FragTempFilter - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 2 - { - Name "Downsample and Prefilter" - CGPROGRAM - #pragma target 5.0 - #pragma vertex VertDOF - #pragma fragment FragPrefilter - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 3 - { - Name "Bokeh Filter (small)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_SMALL - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 4 - { - Name "Bokeh Filter (medium)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_MEDIUM - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 5 - { - Name "Bokeh Filter (large)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_LARGE - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 6 - { - Name "Bokeh Filter (very large)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_VERYLARGE - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 7 - { - Name "Postfilter" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragPostBlur - #include "DepthOfField.cginc" - ENDCG - } - } - - // Fallback SubShader with SM 3.0 - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass // 0 - { - Name "CoC Calculation" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragCoC - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 1 - { - Name "CoC Temporal Filter" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragTempFilter - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 2 - { - Name "Downsample and Prefilter" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragPrefilter - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 3 - { - Name "Bokeh Filter (small)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_SMALL - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 4 - { - Name "Bokeh Filter (medium)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_MEDIUM - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 5 - { - Name "Bokeh Filter (large)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_LARGE - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 6 - { - Name "Bokeh Filter (very large)" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragBlur - #define KERNEL_VERYLARGE - #include "DepthOfField.cginc" - ENDCG - } - - Pass // 7 - { - Name "Postfilter" - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDOF - #pragma fragment FragPostBlur - #include "DepthOfField.cginc" - ENDCG - } - } - - FallBack Off -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader.meta deleted file mode 100644 index 750f32201..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DepthOfField.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: ac8ed710934a3564686a096bb351caee -timeCreated: 1465484939 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/DepthOfField.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc deleted file mode 100644 index 6a8d12e5b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc +++ /dev/null @@ -1,204 +0,0 @@ -#ifndef __DISK_KERNELS__ -#define __DISK_KERNELS__ - -#if !defined(KERNEL_SMALL) && !defined(KERNEL_MEDIUM) && \ - !defined(KERNEL_LARGE) && !defined(KERNEL_VERYLARGE) - -static const int kSampleCount = 1; -static const float2 kDiskKernel[1] = { float2(0, 0) }; - -#endif - -#if defined(KERNEL_SMALL) - -// rings = 2 -// points per ring = 5 -static const int kSampleCount = 16; -static const float2 kDiskKernel[kSampleCount] = { - float2(0,0), - float2(0.54545456,0), - float2(0.16855472,0.5187581), - float2(-0.44128203,0.3206101), - float2(-0.44128197,-0.3206102), - float2(0.1685548,-0.5187581), - float2(1,0), - float2(0.809017,0.58778524), - float2(0.30901697,0.95105654), - float2(-0.30901703,0.9510565), - float2(-0.80901706,0.5877852), - float2(-1,0), - float2(-0.80901694,-0.58778536), - float2(-0.30901664,-0.9510566), - float2(0.30901712,-0.9510565), - float2(0.80901694,-0.5877853), -}; - -#endif - -#if defined(KERNEL_MEDIUM) - -// rings = 3 -// points per ring = 7 -static const int kSampleCount = 22; -static const float2 kDiskKernel[kSampleCount] = { - float2(0,0), - float2(0.53333336,0), - float2(0.3325279,0.4169768), - float2(-0.11867785,0.5199616), - float2(-0.48051673,0.2314047), - float2(-0.48051673,-0.23140468), - float2(-0.11867763,-0.51996166), - float2(0.33252785,-0.4169769), - float2(1,0), - float2(0.90096885,0.43388376), - float2(0.6234898,0.7818315), - float2(0.22252098,0.9749279), - float2(-0.22252095,0.9749279), - float2(-0.62349,0.7818314), - float2(-0.90096885,0.43388382), - float2(-1,0), - float2(-0.90096885,-0.43388376), - float2(-0.6234896,-0.7818316), - float2(-0.22252055,-0.974928), - float2(0.2225215,-0.9749278), - float2(0.6234897,-0.7818316), - float2(0.90096885,-0.43388376), -}; - -#endif - -#if defined(KERNEL_LARGE) - -// rings = 4 -// points per ring = 7 -static const int kSampleCount = 43; -static const float2 kDiskKernel[kSampleCount] = { - float2(0,0), - float2(0.36363637,0), - float2(0.22672357,0.28430238), - float2(-0.08091671,0.35451925), - float2(-0.32762504,0.15777594), - float2(-0.32762504,-0.15777591), - float2(-0.08091656,-0.35451928), - float2(0.22672352,-0.2843024), - float2(0.6818182,0), - float2(0.614297,0.29582983), - float2(0.42510667,0.5330669), - float2(0.15171885,0.6647236), - float2(-0.15171883,0.6647236), - float2(-0.4251068,0.53306687), - float2(-0.614297,0.29582986), - float2(-0.6818182,0), - float2(-0.614297,-0.29582983), - float2(-0.42510656,-0.53306705), - float2(-0.15171856,-0.66472363), - float2(0.1517192,-0.6647235), - float2(0.4251066,-0.53306705), - float2(0.614297,-0.29582983), - float2(1,0), - float2(0.9555728,0.2947552), - float2(0.82623875,0.5633201), - float2(0.6234898,0.7818315), - float2(0.36534098,0.93087375), - float2(0.07473,0.9972038), - float2(-0.22252095,0.9749279), - float2(-0.50000006,0.8660254), - float2(-0.73305196,0.6801727), - float2(-0.90096885,0.43388382), - float2(-0.98883086,0.14904208), - float2(-0.9888308,-0.14904249), - float2(-0.90096885,-0.43388376), - float2(-0.73305184,-0.6801728), - float2(-0.4999999,-0.86602545), - float2(-0.222521,-0.9749279), - float2(0.07473029,-0.99720377), - float2(0.36534148,-0.9308736), - float2(0.6234897,-0.7818316), - float2(0.8262388,-0.56332), - float2(0.9555729,-0.29475483), -}; - -#endif - -#if defined(KERNEL_VERYLARGE) - -// rings = 5 -// points per ring = 7 -static const int kSampleCount = 71; -static const float2 kDiskKernel[kSampleCount] = { - float2(0,0), - float2(0.2758621,0), - float2(0.1719972,0.21567768), - float2(-0.061385095,0.26894566), - float2(-0.24854316,0.1196921), - float2(-0.24854316,-0.11969208), - float2(-0.061384983,-0.2689457), - float2(0.17199717,-0.21567771), - float2(0.51724136,0), - float2(0.46601835,0.22442262), - float2(0.32249472,0.40439558), - float2(0.11509705,0.50427306), - float2(-0.11509704,0.50427306), - float2(-0.3224948,0.40439552), - float2(-0.46601835,0.22442265), - float2(-0.51724136,0), - float2(-0.46601835,-0.22442262), - float2(-0.32249463,-0.40439564), - float2(-0.11509683,-0.5042731), - float2(0.11509732,-0.504273), - float2(0.32249466,-0.40439564), - float2(0.46601835,-0.22442262), - float2(0.7586207,0), - float2(0.7249173,0.22360738), - float2(0.6268018,0.4273463), - float2(0.47299224,0.59311354), - float2(0.27715522,0.7061801), - float2(0.056691725,0.75649947), - float2(-0.168809,0.7396005), - float2(-0.3793104,0.65698475), - float2(-0.55610836,0.51599306), - float2(-0.6834936,0.32915324), - float2(-0.7501475,0.113066405), - float2(-0.7501475,-0.11306671), - float2(-0.6834936,-0.32915318), - float2(-0.5561083,-0.5159932), - float2(-0.37931028,-0.6569848), - float2(-0.16880904,-0.7396005), - float2(0.056691945,-0.7564994), - float2(0.2771556,-0.7061799), - float2(0.47299215,-0.59311366), - float2(0.62680185,-0.4273462), - float2(0.72491735,-0.22360711), - float2(1,0), - float2(0.9749279,0.22252093), - float2(0.90096885,0.43388376), - float2(0.7818315,0.6234898), - float2(0.6234898,0.7818315), - float2(0.43388364,0.9009689), - float2(0.22252098,0.9749279), - float2(0,1), - float2(-0.22252095,0.9749279), - float2(-0.43388385,0.90096885), - float2(-0.62349,0.7818314), - float2(-0.7818317,0.62348956), - float2(-0.90096885,0.43388382), - float2(-0.9749279,0.22252093), - float2(-1,0), - float2(-0.9749279,-0.22252087), - float2(-0.90096885,-0.43388376), - float2(-0.7818314,-0.6234899), - float2(-0.6234896,-0.7818316), - float2(-0.43388346,-0.900969), - float2(-0.22252055,-0.974928), - float2(0,-1), - float2(0.2225215,-0.9749278), - float2(0.4338835,-0.90096897), - float2(0.6234897,-0.7818316), - float2(0.78183144,-0.62348986), - float2(0.90096885,-0.43388376), - float2(0.9749279,-0.22252086), -}; - -#endif - -#endif // __DISK_KERNELS__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc.meta deleted file mode 100644 index 96dfffeec..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/DiskKernels.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: faeb738b5a2c3ff43bd104dd5b1a275c -timeCreated: 1476954194 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/DiskKernels.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc deleted file mode 100644 index f2d1e1def..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __EYE_ADAPTATION__ -#define __EYE_ADAPTATION__ - -// Optimal values for PS4/GCN -// Using a group size of 32x32 seems to be a bit faster on Kepler/Maxwell -// Don't forget to update 'EyeAdaptationController.cs' if you change these values ! -#define HISTOGRAM_BINS 64 -#define HISTOGRAM_TEXELS HISTOGRAM_BINS / 4 -#define HISTOGRAM_THREAD_X 16 -#define HISTOGRAM_THREAD_Y 16 - -float GetHistogramBinFromLuminance(float value, float2 scaleOffset) -{ - return saturate(log2(value) * scaleOffset.x + scaleOffset.y); -} - -float GetLuminanceFromHistogramBin(float bin, float2 scaleOffset) -{ - return exp2((bin - scaleOffset.y) / scaleOffset.x); -} - -#endif // __EYE_ADAPTATION__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc.meta deleted file mode 100644 index 8b9d827d3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: d2f406cad28afda489b94594fb3ce0af -timeCreated: 1465898178 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/EyeAdaptation.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader deleted file mode 100644 index 8ec509d6f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader +++ /dev/null @@ -1,218 +0,0 @@ -Shader "Hidden/Post FX/Eye Adaptation" -{ - Properties - { - _MainTex("Texture", 2D) = "white" {} - } - - CGINCLUDE - - #pragma target 4.5 - #pragma multi_compile __ AUTO_KEY_VALUE - #include "UnityCG.cginc" - #include "Common.cginc" - #include "EyeAdaptation.cginc" - - // Eye adaptation pass - float4 _Params; // x: lowPercent, y: highPercent, z: minBrightness, w: maxBrightness - float2 _Speed; // x: down, y: up - float4 _ScaleOffsetRes; // x: scale, y: offset, w: histogram pass width, h: histogram pass height - float _ExposureCompensation; - - StructuredBuffer _Histogram; - - float GetBinValue(uint index, float maxHistogramValue) - { - return float(_Histogram[index]) * maxHistogramValue; - } - - // Done in the vertex shader - float FindMaxHistogramValue() - { - uint maxValue = 0u; - - for (uint i = 0; i < HISTOGRAM_BINS; i++) - { - uint h = _Histogram[i]; - maxValue = max(maxValue, h); - } - - return float(maxValue); - } - - void FilterLuminance(uint i, float maxHistogramValue, inout float4 filter) - { - float binValue = GetBinValue(i, maxHistogramValue); - - // Filter dark areas - float offset = min(filter.z, binValue); - binValue -= offset; - filter.zw -= offset.xx; - - // Filter highlights - binValue = min(filter.w, binValue); - filter.w -= binValue; - - // Luminance at the bin - float luminance = GetLuminanceFromHistogramBin(float(i) / float(HISTOGRAM_BINS), _ScaleOffsetRes.xy); - - filter.xy += float2(luminance * binValue, binValue); - } - - float GetAverageLuminance(float maxHistogramValue) - { - // Sum of all bins - uint i; - float totalSum = 0.0; - - UNITY_LOOP - for (i = 0; i < HISTOGRAM_BINS; i++) - totalSum += GetBinValue(i, maxHistogramValue); - - // Skip darker and lighter parts of the histogram to stabilize the auto exposure - // x: filtered sum - // y: accumulator - // zw: fractions - float4 filter = float4(0.0, 0.0, totalSum * _Params.xy); - - UNITY_LOOP - for (i = 0; i < HISTOGRAM_BINS; i++) - FilterLuminance(i, maxHistogramValue, filter); - - // Clamp to user brightness range - return clamp(filter.x / max(filter.y, EPSILON), _Params.z, _Params.w); - } - - float GetExposureMultiplier(float avgLuminance) - { - avgLuminance = max(EPSILON, avgLuminance); - - #if AUTO_KEY_VALUE - half keyValue = 1.03 - (2.0 / (2.0 + log2(avgLuminance + 1.0))); - #else - half keyValue = _ExposureCompensation; - #endif - - half exposure = keyValue / avgLuminance; - - return exposure; - } - - float InterpolateExposure(float newExposure, float oldExposure) - { - float delta = newExposure - oldExposure; - float speed = delta > 0.0 ? _Speed.x : _Speed.y; - float exposure = oldExposure + delta * (1.0 - exp2(-unity_DeltaTime.x * speed)); - //float exposure = oldExposure + delta * (unity_DeltaTime.x * speed); - return exposure; - } - - float4 FragAdaptProgressive(VaryingsDefault i) : SV_Target - { - float maxValue = 1.0 / FindMaxHistogramValue(); - float avgLuminance = GetAverageLuminance(maxValue); - float exposure = GetExposureMultiplier(avgLuminance); - float prevExposure = tex2D(_MainTex, (0.5).xx); - exposure = InterpolateExposure(exposure, prevExposure); - return exposure.xxxx; - } - - float4 FragAdaptFixed(VaryingsDefault i) : SV_Target - { - float maxValue = 1.0 / FindMaxHistogramValue(); - float avgLuminance = GetAverageLuminance(maxValue); - float exposure = GetExposureMultiplier(avgLuminance); - return exposure.xxxx; - } - - // ---- Editor stuff - int _DebugWidth; - - struct VaryingsEditorHisto - { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float maxValue : TEXCOORD1; - float avgLuminance : TEXCOORD2; - }; - - VaryingsEditorHisto VertEditorHisto(AttributesDefault v) - { - VaryingsEditorHisto o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.texcoord.xy; - o.maxValue = 1.0 / FindMaxHistogramValue(); - o.avgLuminance = GetAverageLuminance(o.maxValue); - return o; - } - - float4 FragEditorHisto(VaryingsEditorHisto i) : SV_Target - { - const float3 kRangeColor = float3(0.05, 0.4, 0.6); - const float3 kAvgColor = float3(0.8, 0.3, 0.05); - - float4 color = float4(0.0, 0.0, 0.0, 0.7); - - uint ix = (uint)(round(i.uv.x * HISTOGRAM_BINS)); - float bin = saturate(float(_Histogram[ix]) * i.maxValue); - float fill = step(i.uv.y, bin); - - // Min / max brightness markers - float luminanceMin = GetHistogramBinFromLuminance(_Params.z, _ScaleOffsetRes.xy); - float luminanceMax = GetHistogramBinFromLuminance(_Params.w, _ScaleOffsetRes.xy); - - color.rgb += fill.rrr; - - if (i.uv.x > luminanceMin && i.uv.x < luminanceMax) - { - color.rgb = fill.rrr * kRangeColor; - color.rgb += kRangeColor; - } - - // Current average luminance marker - float luminanceAvg = GetHistogramBinFromLuminance(i.avgLuminance, _ScaleOffsetRes.xy); - float avgPx = luminanceAvg * _DebugWidth; - - if (abs(i.pos.x - avgPx) < 2) - color.rgb = kAvgColor; - - return color; - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragAdaptProgressive - - ENDCG - } - - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragAdaptFixed - - ENDCG - } - - Pass - { - CGPROGRAM - - #pragma vertex VertEditorHisto - #pragma fragment FragEditorHisto - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader.meta deleted file mode 100644 index c38a33bd6..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeAdaptation.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 81899cddfbc72494497a6db0ae045f2c -timeCreated: 1465903628 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/EyeAdaptation.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute deleted file mode 100644 index d36ddc535..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute +++ /dev/null @@ -1,58 +0,0 @@ -// Put the following line to 0 or comment it to disable vignette weighting -#define USE_VIGNETTE_WEIGHTING 1 - -#include "Common.cginc" -#include "EyeAdaptation.cginc" - -RWStructuredBuffer _Histogram; -Texture2D _Source; - -CBUFFER_START(Params) - float4 _ScaleOffsetRes; // x: scale, y: offset, z: width, w: height -CBUFFER_END - -groupshared uint gs_histogram[HISTOGRAM_BINS]; - -#pragma kernel KEyeHistogram -[numthreads(HISTOGRAM_THREAD_X,HISTOGRAM_THREAD_Y,1)] -void KEyeHistogram(uint2 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID) -{ - // Pretty straightforward implementation of histogram gathering using atomic ops. - // I tried a few methods (no atomic ops / heavy LDS leveraging) but this one turned out to be - // the fastest on desktop (Nvidia - Kepler/Maxwell) and PS4. Still need to try it on GCN/desktop - // but considering it runs very fast on PS4 we can expect it to run well (?). - - const uint localThreadId = groupThreadId.y * HISTOGRAM_THREAD_X + groupThreadId.x; - - // Clears the shared memory - if (localThreadId < HISTOGRAM_BINS) - gs_histogram[localThreadId] = 0u; - - GroupMemoryBarrierWithGroupSync(); - - // Gather local group histogram - if (dispatchThreadId.x < (uint)_ScaleOffsetRes.z && dispatchThreadId.y < (uint)_ScaleOffsetRes.w) - { -#if USE_VIGNETTE_WEIGHTING - // Vignette weighting to put more focus on what's in the center of the screen - float2 uv01 = float2(dispatchThreadId) / float2(_ScaleOffsetRes.z, _ScaleOffsetRes.w); - float2 d = abs(uv01 - (0.5).xx); - float vfactor = Pow2(saturate(1.0 - dot(d, d))); - uint weight = (uint)(64.0 * vfactor); -#else - uint weight = 1u; -#endif - - float3 color = _Source[dispatchThreadId].xyz; - float luminance = Max3(color); // Looks more natural than using a Rec.709 luminance for some reason - float logLuminance = GetHistogramBinFromLuminance(luminance, _ScaleOffsetRes.xy); - uint idx = (uint)(logLuminance * (HISTOGRAM_BINS - 1u)); - InterlockedAdd(gs_histogram[idx], weight); - } - - GroupMemoryBarrierWithGroupSync(); - - // Merge everything - if (localThreadId < HISTOGRAM_BINS) - InterlockedAdd(_Histogram[localThreadId], gs_histogram[localThreadId]); -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute.meta deleted file mode 100644 index a34e29637..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/EyeHistogram.compute.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: e213272ad8ff213409a6e13b5c26b4e4 -timeCreated: 1464341416 -licenseType: Store -ComputeShaderImporter: - currentAPIMask: 4 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/EyeHistogram.compute" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader deleted file mode 100644 index bc5f88d10..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader +++ /dev/null @@ -1,85 +0,0 @@ -Shader "Hidden/Post FX/FXAA" -{ - Properties - { - _MainTex ("Texture", 2D) = "white" {} - } - - CGINCLUDE - - #include "UnityCG.cginc" - #include "Common.cginc" - #include "UberSecondPass.cginc" - #pragma multi_compile __ GRAIN - #pragma multi_compile __ DITHERING - - #if defined(SHADER_API_PS3) - #define FXAA_PS3 1 - - // Shaves off 2 cycles from the shader - #define FXAA_EARLY_EXIT 0 - #elif defined(SHADER_API_XBOX360) - #define FXAA_360 1 - - // Shaves off 10ms from the shader's execution time - #define FXAA_EARLY_EXIT 1 - #else - #define FXAA_PC 1 - #endif - - #define FXAA_HLSL_3 1 - #define FXAA_QUALITY__PRESET 39 - - #define FXAA_GREEN_AS_LUMA 1 - - #pragma target 3.0 - #include "FXAA3.cginc" - - float3 _QualitySettings; - float4 _ConsoleSettings; - - half4 Frag(VaryingsDefault i) : SV_Target - { - const float4 consoleUV = i.uv.xyxy + 0.5 * float4(-_MainTex_TexelSize.xy, _MainTex_TexelSize.xy); - const float4 consoleSubpixelFrame = _ConsoleSettings.x * float4(-1.0, -1.0, 1.0, 1.0) * - _MainTex_TexelSize.xyxy; - - const float4 consoleSubpixelFramePS3 = float4(-2.0, -2.0, 2.0, 2.0) * _MainTex_TexelSize.xyxy; - const float4 consoleSubpixelFrameXBOX = float4(8.0, 8.0, -4.0, -4.0) * _MainTex_TexelSize.xyxy; - - #if defined(SHADER_API_XBOX360) - const float4 consoleConstants = float4(1.0, -1.0, 0.25, -0.25); - #else - const float4 consoleConstants = float4(0.0, 0.0, 0.0, 0.0); - #endif - - half4 color = FxaaPixelShader( - UnityStereoScreenSpaceUVAdjust(i.uv, _MainTex_ST), - UnityStereoScreenSpaceUVAdjust(consoleUV, _MainTex_ST), - _MainTex, _MainTex, _MainTex, _MainTex_TexelSize.xy, - consoleSubpixelFrame, consoleSubpixelFramePS3, consoleSubpixelFrameXBOX, - _QualitySettings.x, _QualitySettings.y, _QualitySettings.z, - _ConsoleSettings.y, _ConsoleSettings.z, _ConsoleSettings.w, consoleConstants); - - color.rgb = UberSecondPass(color.rgb, i.uv); - - return half4(color.rgb, 1.0); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment Frag - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader.meta deleted file mode 100644 index 26162ffc0..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 291f0d5b6045f4646847c59b4ce13ac5 -timeCreated: 1462350540 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/FXAA.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc deleted file mode 100644 index 8b70f5d8b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc +++ /dev/null @@ -1,2073 +0,0 @@ -#ifndef __FXAA3_INC__ -#define __FXAA3_INC__ - -/*============================================================================ - - -NVIDIA FXAA 3.11 by TIMOTHY LOTTES - - ------------------------------------------------------------------------------- -COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. ------------------------------------------------------------------------------- -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED -*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA -OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR -CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR -LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, -OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE -THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - ------------------------------------------------------------------------------- -INTEGRATION CHECKLIST ------------------------------------------------------------------------------- -(1.) -In the shader source, setup defines for the desired configuration. -When providing multiple shaders (for different presets), -simply setup the defines differently in multiple files. -Example, - -#define FXAA_PC 1 -#define FXAA_HLSL_5 1 -#define FXAA_QUALITY__PRESET 12 - -Or, - -#define FXAA_360 1 - -Or, - -#define FXAA_PS3 1 - -Etc. - -(2.) -Then include this file, - -#include "Fxaa3_11.h" - -(3.) -Then call the FXAA pixel shader from within your desired shader. -Look at the FXAA Quality FxaaPixelShader() for docs on inputs. -As for FXAA 3.11 all inputs for all shaders are the same -to enable easy porting between platforms. - -return FxaaPixelShader(...); - -(4.) -Insure pass prior to FXAA outputs RGBL (see next section). -Or use, - -#define FXAA_GREEN_AS_LUMA 1 - -(5.) -Setup engine to provide the following constants -which are used in the FxaaPixelShader() inputs, - -FxaaFloat2 fxaaQualityRcpFrame, -FxaaFloat4 fxaaConsoleRcpFrameOpt, -FxaaFloat4 fxaaConsoleRcpFrameOpt2, -FxaaFloat4 fxaaConsole360RcpFrameOpt2, -FxaaFloat fxaaQualitySubpix, -FxaaFloat fxaaQualityEdgeThreshold, -FxaaFloat fxaaQualityEdgeThresholdMin, -FxaaFloat fxaaConsoleEdgeSharpness, -FxaaFloat fxaaConsoleEdgeThreshold, -FxaaFloat fxaaConsoleEdgeThresholdMin, -FxaaFloat4 fxaaConsole360ConstDir - -Look at the FXAA Quality FxaaPixelShader() for docs on inputs. - -(6.) -Have FXAA vertex shader run as a full screen triangle, -and output "pos" and "fxaaConsolePosPos" -such that inputs in the pixel shader provide, - -// {xy} = center of pixel -FxaaFloat2 pos, - -// {xy__} = upper left of pixel -// {__zw} = lower right of pixel -FxaaFloat4 fxaaConsolePosPos, - -(7.) -Insure the texture sampler(s) used by FXAA are set to bilinear filtering. - - ------------------------------------------------------------------------------- -INTEGRATION - RGBL AND COLORSPACE ------------------------------------------------------------------------------- -FXAA3 requires RGBL as input unless the following is set, - -#define FXAA_GREEN_AS_LUMA 1 - -In which case the engine uses green in place of luma, -and requires RGB input is in a non-linear colorspace. - -RGB should be LDR (low dynamic range). -Specifically do FXAA after tonemapping. - -RGB data as returned by a texture fetch can be non-linear, -or linear when FXAA_GREEN_AS_LUMA is not set. -Note an "sRGB format" texture counts as linear, -because the result of a texture fetch is linear data. -Regular "RGBA8" textures in the sRGB colorspace are non-linear. - -If FXAA_GREEN_AS_LUMA is not set, -luma must be stored in the alpha channel prior to running FXAA. -This luma should be in a perceptual space (could be gamma 2.0). -Example pass before FXAA where output is gamma 2.0 encoded, - -color.rgb = ToneMap(color.rgb); // linear color output -color.rgb = sqrt(color.rgb); // gamma 2.0 color output -return color; - -To use FXAA, - -color.rgb = ToneMap(color.rgb); // linear color output -color.rgb = sqrt(color.rgb); // gamma 2.0 color output -color.a = dot(color.rgb, FxaaFloat3(0.299, 0.587, 0.114)); // compute luma -return color; - -Another example where output is linear encoded, -say for instance writing to an sRGB formated render target, -where the render target does the conversion back to sRGB after blending, - -color.rgb = ToneMap(color.rgb); // linear color output -return color; - -To use FXAA, - -color.rgb = ToneMap(color.rgb); // linear color output -color.a = sqrt(dot(color.rgb, FxaaFloat3(0.299, 0.587, 0.114))); // compute luma -return color; - -Getting luma correct is required for the algorithm to work correctly. - - ------------------------------------------------------------------------------- -BEING LINEARLY CORRECT? ------------------------------------------------------------------------------- -Applying FXAA to a framebuffer with linear RGB color will look worse. -This is very counter intuitive, but happends to be true in this case. -The reason is because dithering artifacts will be more visiable -in a linear colorspace. - - ------------------------------------------------------------------------------- -COMPLEX INTEGRATION ------------------------------------------------------------------------------- -Q. What if the engine is blending into RGB before wanting to run FXAA? - -A. In the last opaque pass prior to FXAA, -have the pass write out luma into alpha. -Then blend into RGB only. -FXAA should be able to run ok -assuming the blending pass did not any add aliasing. -This should be the common case for particles and common blending passes. - -A. Or use FXAA_GREEN_AS_LUMA. - -============================================================================*/ - -/*============================================================================ - -INTEGRATION KNOBS - -============================================================================*/ -// -// FXAA_PS3 and FXAA_360 choose the console algorithm (FXAA3 CONSOLE). -// FXAA_360_OPT is a prototype for the new optimized 360 version. -// -// 1 = Use API. -// 0 = Don't use API. -// -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_PS3 -#define FXAA_PS3 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_360 -#define FXAA_360 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_360_OPT -#define FXAA_360_OPT 0 -#endif -/*==========================================================================*/ -#ifndef FXAA_PC -// -// FXAA Quality -// The high quality PC algorithm. -// -#define FXAA_PC 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_PC_CONSOLE -// -// The console algorithm for PC is included -// for developers targeting really low spec machines. -// Likely better to just run FXAA_PC, and use a really low preset. -// -#define FXAA_PC_CONSOLE 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GLSL_120 -#define FXAA_GLSL_120 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GLSL_130 -#define FXAA_GLSL_130 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_3 -#define FXAA_HLSL_3 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_4 -#define FXAA_HLSL_4 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_5 -#define FXAA_HLSL_5 0 -#endif -/*==========================================================================*/ -#ifndef FXAA_GREEN_AS_LUMA -// -// For those using non-linear color, -// and either not able to get luma in alpha, or not wanting to, -// this enables FXAA to run using green as a proxy for luma. -// So with this enabled, no need to pack luma in alpha. -// -// This will turn off AA on anything which lacks some amount of green. -// Pure red and blue or combination of only R and B, will get no AA. -// -// Might want to lower the settings for both, -// fxaaConsoleEdgeThresholdMin -// fxaaQualityEdgeThresholdMin -// In order to insure AA does not get turned off on colors -// which contain a minor amount of green. -// -// 1 = On. -// 0 = Off. -// -#define FXAA_GREEN_AS_LUMA 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_EARLY_EXIT -// -// Controls algorithm's early exit path. -// On PS3 turning this ON adds 2 cycles to the shader. -// On 360 turning this OFF adds 10ths of a millisecond to the shader. -// Turning this off on console will result in a more blurry image. -// So this defaults to on. -// -// 1 = On. -// 0 = Off. -// -#define FXAA_EARLY_EXIT 1 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_DISCARD -// -// Only valid for PC OpenGL currently. -// Probably will not work when FXAA_GREEN_AS_LUMA = 1. -// -// 1 = Use discard on pixels which don't need AA. -// For APIs which enable concurrent TEX+ROP from same surface. -// 0 = Return unchanged color on pixels which don't need AA. -// -#define FXAA_DISCARD 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_FAST_PIXEL_OFFSET -// -// Used for GLSL 120 only. -// -// 1 = GL API supports fast pixel offsets -// 0 = do not use fast pixel offsets -// -#ifdef GL_EXT_gpu_shader4 -#define FXAA_FAST_PIXEL_OFFSET 1 -#endif -#ifdef GL_NV_gpu_shader5 -#define FXAA_FAST_PIXEL_OFFSET 1 -#endif -#ifdef GL_ARB_gpu_shader5 -#define FXAA_FAST_PIXEL_OFFSET 1 -#endif -#ifndef FXAA_FAST_PIXEL_OFFSET -#define FXAA_FAST_PIXEL_OFFSET 0 -#endif -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GATHER4_ALPHA -// -// 1 = API supports gather4 on alpha channel. -// 0 = API does not support gather4 on alpha channel. -// -#if (FXAA_HLSL_5 == 1) -#define FXAA_GATHER4_ALPHA 1 -#endif -#ifdef GL_ARB_gpu_shader5 -#define FXAA_GATHER4_ALPHA 1 -#endif -#ifdef GL_NV_gpu_shader5 -#define FXAA_GATHER4_ALPHA 1 -#endif -#ifndef FXAA_GATHER4_ALPHA -#define FXAA_GATHER4_ALPHA 0 -#endif -#endif - -/*============================================================================ -FXAA CONSOLE PS3 - TUNING KNOBS -============================================================================*/ -#ifndef FXAA_CONSOLE__PS3_EDGE_SHARPNESS -// -// Consoles the sharpness of edges on PS3 only. -// Non-PS3 tuning is done with shader input. -// -// Due to the PS3 being ALU bound, -// there are only two safe values here: 4 and 8. -// These options use the shaders ability to a free *|/ by 2|4|8. -// -// 8.0 is sharper -// 4.0 is softer -// 2.0 is really soft (good for vector graphics inputs) -// -#if 1 -#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 8.0 -#endif -#if 0 -#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 4.0 -#endif -#if 0 -#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 2.0 -#endif -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_CONSOLE__PS3_EDGE_THRESHOLD -// -// Only effects PS3. -// Non-PS3 tuning is done with shader input. -// -// The minimum amount of local contrast required to apply algorithm. -// The console setting has a different mapping than the quality setting. -// -// This only applies when FXAA_EARLY_EXIT is 1. -// -// Due to the PS3 being ALU bound, -// there are only two safe values here: 0.25 and 0.125. -// These options use the shaders ability to a free *|/ by 2|4|8. -// -// 0.125 leaves less aliasing, but is softer -// 0.25 leaves more aliasing, and is sharper -// -#if 1 -#define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.125 -#else -#define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.25 -#endif -#endif - -/*============================================================================ -FXAA QUALITY - TUNING KNOBS ------------------------------------------------------------------------------- -NOTE the other tuning knobs are now in the shader function inputs! -============================================================================*/ -#ifndef FXAA_QUALITY__PRESET -// -// Choose the quality preset. -// This needs to be compiled into the shader as it effects code. -// Best option to include multiple presets is to -// in each shader define the preset, then include this file. -// -// OPTIONS -// ----------------------------------------------------------------------- -// 10 to 15 - default medium dither (10=fastest, 15=highest quality) -// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) -// 39 - no dither, very expensive -// -// NOTES -// ----------------------------------------------------------------------- -// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) -// 13 = about same speed as FXAA 3.9 and better than 12 -// 23 = closest to FXAA 3.9 visually and performance wise -// _ = the lowest digit is directly related to performance -// _ = the highest digit is directly related to style -// -#define FXAA_QUALITY__PRESET 12 -#endif - - -/*============================================================================ - -FXAA QUALITY - PRESETS - -============================================================================*/ - -/*============================================================================ -FXAA QUALITY - MEDIUM DITHER PRESETS -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 10) -#define FXAA_QUALITY__PS 3 -#define FXAA_QUALITY__P0 1.5 -#define FXAA_QUALITY__P1 3.0 -#define FXAA_QUALITY__P2 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 11) -#define FXAA_QUALITY__PS 4 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 3.0 -#define FXAA_QUALITY__P3 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 12) -#define FXAA_QUALITY__PS 5 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 4.0 -#define FXAA_QUALITY__P4 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 13) -#define FXAA_QUALITY__PS 6 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 4.0 -#define FXAA_QUALITY__P5 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 14) -#define FXAA_QUALITY__PS 7 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 4.0 -#define FXAA_QUALITY__P6 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 15) -#define FXAA_QUALITY__PS 8 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 4.0 -#define FXAA_QUALITY__P7 12.0 -#endif - -/*============================================================================ -FXAA QUALITY - LOW DITHER PRESETS -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 20) -#define FXAA_QUALITY__PS 3 -#define FXAA_QUALITY__P0 1.5 -#define FXAA_QUALITY__P1 2.0 -#define FXAA_QUALITY__P2 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 21) -#define FXAA_QUALITY__PS 4 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 22) -#define FXAA_QUALITY__PS 5 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 23) -#define FXAA_QUALITY__PS 6 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 24) -#define FXAA_QUALITY__PS 7 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 3.0 -#define FXAA_QUALITY__P6 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 25) -#define FXAA_QUALITY__PS 8 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 4.0 -#define FXAA_QUALITY__P7 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 26) -#define FXAA_QUALITY__PS 9 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 4.0 -#define FXAA_QUALITY__P8 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 27) -#define FXAA_QUALITY__PS 10 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 2.0 -#define FXAA_QUALITY__P8 4.0 -#define FXAA_QUALITY__P9 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 28) -#define FXAA_QUALITY__PS 11 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 2.0 -#define FXAA_QUALITY__P8 2.0 -#define FXAA_QUALITY__P9 4.0 -#define FXAA_QUALITY__P10 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 29) -#define FXAA_QUALITY__PS 12 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.5 -#define FXAA_QUALITY__P2 2.0 -#define FXAA_QUALITY__P3 2.0 -#define FXAA_QUALITY__P4 2.0 -#define FXAA_QUALITY__P5 2.0 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 2.0 -#define FXAA_QUALITY__P8 2.0 -#define FXAA_QUALITY__P9 2.0 -#define FXAA_QUALITY__P10 4.0 -#define FXAA_QUALITY__P11 8.0 -#endif - -/*============================================================================ -FXAA QUALITY - EXTREME QUALITY -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 39) -#define FXAA_QUALITY__PS 12 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.0 -#define FXAA_QUALITY__P2 1.0 -#define FXAA_QUALITY__P3 1.0 -#define FXAA_QUALITY__P4 1.0 -#define FXAA_QUALITY__P5 1.5 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 2.0 -#define FXAA_QUALITY__P8 2.0 -#define FXAA_QUALITY__P9 2.0 -#define FXAA_QUALITY__P10 4.0 -#define FXAA_QUALITY__P11 8.0 -#endif - - - -/*============================================================================ - -API PORTING - -============================================================================*/ -#if (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1) -#define FxaaBool bool -#define FxaaDiscard discard -#define FxaaFloat float -#define FxaaFloat2 vec2 -#define FxaaFloat3 vec3 -#define FxaaFloat4 vec4 -#define FxaaHalf float -#define FxaaHalf2 vec2 -#define FxaaHalf3 vec3 -#define FxaaHalf4 vec4 -#define FxaaInt2 ivec2 -#define FxaaSat(x) clamp(x, 0.0, 1.0) -#define FxaaTex sampler2D -#else -#define FxaaBool bool -#define FxaaDiscard clip(-1) -#define FxaaFloat float -#define FxaaFloat2 float2 -#define FxaaFloat3 float3 -#define FxaaFloat4 float4 -#define FxaaHalf half -#define FxaaHalf2 half2 -#define FxaaHalf3 half3 -#define FxaaHalf4 half4 -#define FxaaSat(x) saturate(x) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_GLSL_120 == 1) -// Requires, -// #version 120 -// And at least, -// #extension GL_EXT_gpu_shader4 : enable -// (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9) -#define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) -#if (FXAA_FAST_PIXEL_OFFSET == 1) -#define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o) -#else -#define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) -#endif -#if (FXAA_GATHER4_ALPHA == 1) -// use #extension GL_ARB_gpu_shader5 : enable -#define FxaaTexAlpha4(t, p) textureGather(t, p, 3) -#define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) -#define FxaaTexGreen4(t, p) textureGather(t, p, 1) -#define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) -#endif -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_GLSL_130 == 1) -// Requires "#version 130" or better -#define FxaaTexTop(t, p) textureLod(t, p, 0.0) -#define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) -#if (FXAA_GATHER4_ALPHA == 1) -// use #extension GL_ARB_gpu_shader5 : enable -#define FxaaTexAlpha4(t, p) textureGather(t, p, 3) -#define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) -#define FxaaTexGreen4(t, p) textureGather(t, p, 1) -#define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) -#endif -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_3 == 1) || (FXAA_360 == 1) || (FXAA_PS3 == 1) -#define FxaaInt2 float2 -#define FxaaTex sampler2D -#define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0)) -#define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0)) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_4 == 1) -#define FxaaInt2 int2 -struct FxaaTex { SamplerState smpl; Texture2D tex; }; -#define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0) -#define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_5 == 1) -#define FxaaInt2 int2 -struct FxaaTex { SamplerState smpl; Texture2D tex; }; -#define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0) -#define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o) -#define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p) -#define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o) -#define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p) -#define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o) -#endif - - -/*============================================================================ -GREEN AS LUMA OPTION SUPPORT FUNCTION -============================================================================*/ -#if (FXAA_GREEN_AS_LUMA == 0) -FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; } -#else -FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } -#endif - - - - -/*============================================================================ - -FXAA3 QUALITY - PC - -============================================================================*/ -#if (FXAA_PC == 1) -/*--------------------------------------------------------------------------*/ -FxaaFloat4 FxaaPixelShader( - // - // Use noperspective interpolation here (turn off perspective interpolation). - // {xy} = center of pixel - FxaaFloat2 pos, - // - // Used only for FXAA Console, and not used on the 360 version. - // Use noperspective interpolation here (turn off perspective interpolation). - // {xy__} = upper left of pixel - // {__zw} = lower right of pixel - FxaaFloat4 fxaaConsolePosPos, - // - // Input color texture. - // {rgb_} = color in linear or perceptual color space - // if (FXAA_GREEN_AS_LUMA == 0) - // {___a} = luma in perceptual color space (not linear) - FxaaTex tex, - // - // Only used on the optimized 360 version of FXAA Console. - // For everything but 360, just use the same input here as for "tex". - // For 360, same texture, just alias with a 2nd sampler. - // This sampler needs to have an exponent bias of -1. - FxaaTex fxaaConsole360TexExpBiasNegOne, - // - // Only used on the optimized 360 version of FXAA Console. - // For everything but 360, just use the same input here as for "tex". - // For 360, same texture, just alias with a 3nd sampler. - // This sampler needs to have an exponent bias of -2. - FxaaTex fxaaConsole360TexExpBiasNegTwo, - // - // Only used on FXAA Quality. - // This must be from a constant/uniform. - // {x_} = 1.0/screenWidthInPixels - // {_y} = 1.0/screenHeightInPixels - FxaaFloat2 fxaaQualityRcpFrame, - // - // Only used on FXAA Console. - // This must be from a constant/uniform. - // This effects sub-pixel AA quality and inversely sharpness. - // Where N ranges between, - // N = 0.50 (default) - // N = 0.33 (sharper) - // {x___} = -N/screenWidthInPixels - // {_y__} = -N/screenHeightInPixels - // {__z_} = N/screenWidthInPixels - // {___w} = N/screenHeightInPixels - FxaaFloat4 fxaaConsoleRcpFrameOpt, - // - // Only used on FXAA Console. - // Not used on 360, but used on PS3 and PC. - // This must be from a constant/uniform. - // {x___} = -2.0/screenWidthInPixels - // {_y__} = -2.0/screenHeightInPixels - // {__z_} = 2.0/screenWidthInPixels - // {___w} = 2.0/screenHeightInPixels - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - // - // Only used on FXAA Console. - // Only used on 360 in place of fxaaConsoleRcpFrameOpt2. - // This must be from a constant/uniform. - // {x___} = 8.0/screenWidthInPixels - // {_y__} = 8.0/screenHeightInPixels - // {__z_} = -4.0/screenWidthInPixels - // {___w} = -4.0/screenHeightInPixels - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__SUBPIX define. - // It is here now to allow easier tuning. - // Choose the amount of sub-pixel aliasing removal. - // This can effect sharpness. - // 1.00 - upper limit (softer) - // 0.75 - default amount of filtering - // 0.50 - lower limit (sharper, less sub-pixel aliasing removal) - // 0.25 - almost off - // 0.00 - completely off - FxaaFloat fxaaQualitySubpix, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__EDGE_THRESHOLD define. - // It is here now to allow easier tuning. - // The minimum amount of local contrast required to apply algorithm. - // 0.333 - too little (faster) - // 0.250 - low quality - // 0.166 - default - // 0.125 - high quality - // 0.063 - overkill (slower) - FxaaFloat fxaaQualityEdgeThreshold, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__EDGE_THRESHOLD_MIN define. - // It is here now to allow easier tuning. - // Trims the algorithm from processing darks. - // 0.0833 - upper limit (default, the start of visible unfiltered edges) - // 0.0625 - high quality (faster) - // 0.0312 - visible limit (slower) - // Special notes when using FXAA_GREEN_AS_LUMA, - // Likely want to set this to zero. - // As colors that are mostly not-green - // will appear very dark in the green channel! - // Tune by looking at mostly non-green content, - // then start at zero and increase until aliasing is a problem. - FxaaFloat fxaaQualityEdgeThresholdMin, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define. - // It is here now to allow easier tuning. - // This does not effect PS3, as this needs to be compiled in. - // Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3. - // Due to the PS3 being ALU bound, - // there are only three safe values here: 2 and 4 and 8. - // These options use the shaders ability to a free *|/ by 2|4|8. - // For all other platforms can be a non-power of two. - // 8.0 is sharper (default!!!) - // 4.0 is softer - // 2.0 is really soft (good only for vector graphics inputs) - FxaaFloat fxaaConsoleEdgeSharpness, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define. - // It is here now to allow easier tuning. - // This does not effect PS3, as this needs to be compiled in. - // Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3. - // Due to the PS3 being ALU bound, - // there are only two safe values here: 1/4 and 1/8. - // These options use the shaders ability to a free *|/ by 2|4|8. - // The console setting has a different mapping than the quality setting. - // Other platforms can use other values. - // 0.125 leaves less aliasing, but is softer (default!!!) - // 0.25 leaves more aliasing, and is sharper - FxaaFloat fxaaConsoleEdgeThreshold, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD_MIN define. - // It is here now to allow easier tuning. - // Trims the algorithm from processing darks. - // The console setting has a different mapping than the quality setting. - // This only applies when FXAA_EARLY_EXIT is 1. - // This does not apply to PS3, - // PS3 was simplified to avoid more shader instructions. - // 0.06 - faster but more aliasing in darks - // 0.05 - default - // 0.04 - slower and less aliasing in darks - // Special notes when using FXAA_GREEN_AS_LUMA, - // Likely want to set this to zero. - // As colors that are mostly not-green - // will appear very dark in the green channel! - // Tune by looking at mostly non-green content, - // then start at zero and increase until aliasing is a problem. - FxaaFloat fxaaConsoleEdgeThresholdMin, - // - // Extra constants for 360 FXAA Console only. - // Use zeros or anything else for other platforms. - // These must be in physical constant registers and NOT immedates. - // Immedates will result in compiler un-optimizing. - // {xyzw} = float4(1.0, -1.0, 0.25, -0.25) - FxaaFloat4 fxaaConsole360ConstDir -) { - /*--------------------------------------------------------------------------*/ - FxaaFloat2 posM; - posM.x = pos.x; - posM.y = pos.y; -#if (FXAA_GATHER4_ALPHA == 1) -#if (FXAA_DISCARD == 0) - FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); -#if (FXAA_GREEN_AS_LUMA == 0) -#define lumaM rgbyM.w -#else -#define lumaM rgbyM.y -#endif -#endif -#if (FXAA_GREEN_AS_LUMA == 0) - FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM); - FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1)); -#else - FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM); - FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1)); -#endif -#if (FXAA_DISCARD == 1) -#define lumaM luma4A.w -#endif -#define lumaE luma4A.z -#define lumaS luma4A.x -#define lumaSE luma4A.y -#define lumaNW luma4B.w -#define lumaN luma4B.z -#define lumaW luma4B.x -#else - FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); -#if (FXAA_GREEN_AS_LUMA == 0) -#define lumaM rgbyM.w -#else -#define lumaM rgbyM.y -#endif - FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(0, 1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, 0), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(0, -1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy)); -#endif - /*--------------------------------------------------------------------------*/ - FxaaFloat maxSM = max(lumaS, lumaM); - FxaaFloat minSM = min(lumaS, lumaM); - FxaaFloat maxESM = max(lumaE, maxSM); - FxaaFloat minESM = min(lumaE, minSM); - FxaaFloat maxWN = max(lumaN, lumaW); - FxaaFloat minWN = min(lumaN, lumaW); - FxaaFloat rangeMax = max(maxWN, maxESM); - FxaaFloat rangeMin = min(minWN, minESM); - FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; - FxaaFloat range = rangeMax - rangeMin; - FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); - FxaaBool earlyExit = range < rangeMaxClamped; - /*--------------------------------------------------------------------------*/ - if (earlyExit) -#if (FXAA_DISCARD == 1) - FxaaDiscard; -#else - return rgbyM; -#endif - /*--------------------------------------------------------------------------*/ -#if (FXAA_GATHER4_ALPHA == 0) - FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, -1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, 1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); -#else - FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); -#endif - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaNS = lumaN + lumaS; - FxaaFloat lumaWE = lumaW + lumaE; - FxaaFloat subpixRcpRange = 1.0 / range; - FxaaFloat subpixNSWE = lumaNS + lumaWE; - FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; - FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaNESE = lumaNE + lumaSE; - FxaaFloat lumaNWNE = lumaNW + lumaNE; - FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; - FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaNWSW = lumaNW + lumaSW; - FxaaFloat lumaSWSE = lumaSW + lumaSE; - FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); - FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); - FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; - FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; - FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; - FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; - /*--------------------------------------------------------------------------*/ - FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; - FxaaFloat lengthSign = fxaaQualityRcpFrame.x; - FxaaBool horzSpan = edgeHorz >= edgeVert; - FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; - /*--------------------------------------------------------------------------*/ - if (!horzSpan) lumaN = lumaW; - if (!horzSpan) lumaS = lumaE; - if (horzSpan) lengthSign = fxaaQualityRcpFrame.y; - FxaaFloat subpixB = (subpixA * (1.0 / 12.0)) - lumaM; - /*--------------------------------------------------------------------------*/ - FxaaFloat gradientN = lumaN - lumaM; - FxaaFloat gradientS = lumaS - lumaM; - FxaaFloat lumaNN = lumaN + lumaM; - FxaaFloat lumaSS = lumaS + lumaM; - FxaaBool pairN = abs(gradientN) >= abs(gradientS); - FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); - if (pairN) lengthSign = -lengthSign; - FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); - /*--------------------------------------------------------------------------*/ - FxaaFloat2 posB; - posB.x = posM.x; - posB.y = posM.y; - FxaaFloat2 offNP; - offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; - offNP.y = (horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; - if (!horzSpan) posB.x += lengthSign * 0.5; - if (horzSpan) posB.y += lengthSign * 0.5; - /*--------------------------------------------------------------------------*/ - FxaaFloat2 posN; - posN.x = posB.x - offNP.x * FXAA_QUALITY__P0; - posN.y = posB.y - offNP.y * FXAA_QUALITY__P0; - FxaaFloat2 posP; - posP.x = posB.x + offNP.x * FXAA_QUALITY__P0; - posP.y = posB.y + offNP.y * FXAA_QUALITY__P0; - FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; - FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN)); - FxaaFloat subpixE = subpixC * subpixC; - FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP)); - /*--------------------------------------------------------------------------*/ - if (!pairN) lumaNN = lumaSS; - FxaaFloat gradientScaled = gradient * 1.0 / 4.0; - FxaaFloat lumaMM = lumaM - lumaNN * 0.5; - FxaaFloat subpixF = subpixD * subpixE; - FxaaBool lumaMLTZero = lumaMM < 0.0; - /*--------------------------------------------------------------------------*/ - lumaEndN -= lumaNN * 0.5; - lumaEndP -= lumaNN * 0.5; - FxaaBool doneN = abs(lumaEndN) >= gradientScaled; - FxaaBool doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1; - FxaaBool doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P1; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P1; - /*--------------------------------------------------------------------------*/ - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P2; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P2; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 3) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P3; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P3; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 4) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P4; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P4; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 5) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P5; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P5; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 6) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P6; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P6; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 7) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P7; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P7; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 8) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P8; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P8; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 9) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P9; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P9; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 10) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P10; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P10; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 11) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P11; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P11; - /*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PS > 12) - if (doneNP) - { - if (!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if (!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if (!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if (!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if (!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12; - if (!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12; - doneNP = (!doneN) || (!doneP); - if (!doneP) posP.x += offNP.x * FXAA_QUALITY__P12; - if (!doneP) posP.y += offNP.y * FXAA_QUALITY__P12; - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } -#endif - /*--------------------------------------------------------------------------*/ - } - /*--------------------------------------------------------------------------*/ - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if (!horzSpan) dstN = posM.y - posN.y; - if (!horzSpan) dstP = posP.y - posM.y; - /*--------------------------------------------------------------------------*/ - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0 / spanLength; - /*--------------------------------------------------------------------------*/ - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; - /*--------------------------------------------------------------------------*/ - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if (!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if (horzSpan) posM.y += pixelOffsetSubpix * lengthSign; -#if (FXAA_DISCARD == 1) - return FxaaTexTop(tex, posM); -#else - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); -#endif -} -/*==========================================================================*/ -#endif - - - - -/*============================================================================ - -FXAA3 CONSOLE - PC VERSION - ------------------------------------------------------------------------------- -Instead of using this on PC, I'd suggest just using FXAA Quality with -#define FXAA_QUALITY__PRESET 10 -Or -#define FXAA_QUALITY__PRESET 20 -Either are higher qualilty and almost as fast as this on modern PC GPUs. -============================================================================*/ -#if (FXAA_PC_CONSOLE == 1) -/*--------------------------------------------------------------------------*/ -FxaaFloat4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) -{ - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaNw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xy)); - FxaaFloat lumaSw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xw)); - FxaaFloat lumaNe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zy)); - FxaaFloat lumaSe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zw)); - /*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyM = FxaaTexTop(tex, pos.xy); -#if (FXAA_GREEN_AS_LUMA == 0) - FxaaFloat lumaM = rgbyM.w; -#else - FxaaFloat lumaM = rgbyM.y; -#endif - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxNwSw = max(lumaNw, lumaSw); - lumaNe += 1.0 / 384.0; - FxaaFloat lumaMinNwSw = min(lumaNw, lumaSw); - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxNeSe = max(lumaNe, lumaSe); - FxaaFloat lumaMinNeSe = min(lumaNe, lumaSe); - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaMax = max(lumaMaxNeSe, lumaMaxNwSw); - FxaaFloat lumaMin = min(lumaMinNeSe, lumaMinNwSw); - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxScaled = lumaMax * fxaaConsoleEdgeThreshold; - /*--------------------------------------------------------------------------*/ - FxaaFloat lumaMinM = min(lumaMin, lumaM); - FxaaFloat lumaMaxScaledClamped = max(fxaaConsoleEdgeThresholdMin, lumaMaxScaled); - FxaaFloat lumaMaxM = max(lumaMax, lumaM); - FxaaFloat dirSwMinusNe = lumaSw - lumaNe; - FxaaFloat lumaMaxSubMinM = lumaMaxM - lumaMinM; - FxaaFloat dirSeMinusNw = lumaSe - lumaNw; - if (lumaMaxSubMinM < lumaMaxScaledClamped) return rgbyM; - /*--------------------------------------------------------------------------*/ - FxaaFloat2 dir; - dir.x = dirSwMinusNe + dirSeMinusNw; - dir.y = dirSwMinusNe - dirSeMinusNw; - /*--------------------------------------------------------------------------*/ - FxaaFloat2 dir1 = normalize(dir.xy); - FxaaFloat4 rgbyN1 = FxaaTexTop(tex, pos.xy - dir1 * fxaaConsoleRcpFrameOpt.zw); - FxaaFloat4 rgbyP1 = FxaaTexTop(tex, pos.xy + dir1 * fxaaConsoleRcpFrameOpt.zw); - /*--------------------------------------------------------------------------*/ - FxaaFloat dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * fxaaConsoleEdgeSharpness; - FxaaFloat2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); - /*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyN2 = FxaaTexTop(tex, pos.xy - dir2 * fxaaConsoleRcpFrameOpt2.zw); - FxaaFloat4 rgbyP2 = FxaaTexTop(tex, pos.xy + dir2 * fxaaConsoleRcpFrameOpt2.zw); - /*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyA = rgbyN1 + rgbyP1; - FxaaFloat4 rgbyB = ((rgbyN2 + rgbyP2) * 0.25) + (rgbyA * 0.25); - /*--------------------------------------------------------------------------*/ -#if (FXAA_GREEN_AS_LUMA == 0) - FxaaBool twoTap = (rgbyB.w < lumaMin) || (rgbyB.w > lumaMax); -#else - FxaaBool twoTap = (rgbyB.y < lumaMin) || (rgbyB.y > lumaMax); -#endif - if (twoTap) rgbyB.xyz = rgbyA.xyz * 0.5; - return rgbyB; -} -/*==========================================================================*/ -#endif - - - -/*============================================================================ - -FXAA3 CONSOLE - 360 PIXEL SHADER - ------------------------------------------------------------------------------- -This optimized version thanks to suggestions from Andy Luedke. -Should be fully tex bound in all cases. -As of the FXAA 3.11 release, I have still not tested this code, -however I fixed a bug which was in both FXAA 3.9 and FXAA 3.10. -And note this is replacing the old unoptimized version. -If it does not work, please let me know so I can fix it. -============================================================================*/ -#if (FXAA_360 == 1) -/*--------------------------------------------------------------------------*/ -[reduceTempRegUsage(4)] -float4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) -{ - /*--------------------------------------------------------------------------*/ - float4 lumaNwNeSwSe; -#if (FXAA_GREEN_AS_LUMA == 0) - asm - { - tfetch2D lumaNwNeSwSe.w___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe._w__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe.__w_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe.___w, tex, pos.xy, OffsetX = 0.5, OffsetY = 0.5, UseComputedLOD = false - }; -#else - asm - { - tfetch2D lumaNwNeSwSe.y___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe._y__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe.__y_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD = false - tfetch2D lumaNwNeSwSe.___y, tex, pos.xy, OffsetX = 0.5, OffsetY = 0.5, UseComputedLOD = false - }; -#endif - /*--------------------------------------------------------------------------*/ - lumaNwNeSwSe.y += 1.0 / 384.0; - float2 lumaMinTemp = min(lumaNwNeSwSe.xy, lumaNwNeSwSe.zw); - float2 lumaMaxTemp = max(lumaNwNeSwSe.xy, lumaNwNeSwSe.zw); - float lumaMin = min(lumaMinTemp.x, lumaMinTemp.y); - float lumaMax = max(lumaMaxTemp.x, lumaMaxTemp.y); - /*--------------------------------------------------------------------------*/ - float4 rgbyM = tex2Dlod(tex, float4(pos.xy, 0.0, 0.0)); -#if (FXAA_GREEN_AS_LUMA == 0) - float lumaMinM = min(lumaMin, rgbyM.w); - float lumaMaxM = max(lumaMax, rgbyM.w); -#else - float lumaMinM = min(lumaMin, rgbyM.y); - float lumaMaxM = max(lumaMax, rgbyM.y); -#endif - if ((lumaMaxM - lumaMinM) < max(fxaaConsoleEdgeThresholdMin, lumaMax * fxaaConsoleEdgeThreshold)) return rgbyM; - /*--------------------------------------------------------------------------*/ - float2 dir; - dir.x = dot(lumaNwNeSwSe, fxaaConsole360ConstDir.yyxx); - dir.y = dot(lumaNwNeSwSe, fxaaConsole360ConstDir.xyxy); - dir = normalize(dir); - /*--------------------------------------------------------------------------*/ - float4 dir1 = dir.xyxy * fxaaConsoleRcpFrameOpt.xyzw; - /*--------------------------------------------------------------------------*/ - float4 dir2; - float dirAbsMinTimesC = min(abs(dir.x), abs(dir.y)) * fxaaConsoleEdgeSharpness; - dir2 = saturate(fxaaConsole360ConstDir.zzww * dir.xyxy / dirAbsMinTimesC + 0.5); - dir2 = dir2 * fxaaConsole360RcpFrameOpt2.xyxy + fxaaConsole360RcpFrameOpt2.zwzw; - /*--------------------------------------------------------------------------*/ - float4 rgbyN1 = tex2Dlod(fxaaConsole360TexExpBiasNegOne, float4(pos.xy + dir1.xy, 0.0, 0.0)); - float4 rgbyP1 = tex2Dlod(fxaaConsole360TexExpBiasNegOne, float4(pos.xy + dir1.zw, 0.0, 0.0)); - float4 rgbyN2 = tex2Dlod(fxaaConsole360TexExpBiasNegTwo, float4(pos.xy + dir2.xy, 0.0, 0.0)); - float4 rgbyP2 = tex2Dlod(fxaaConsole360TexExpBiasNegTwo, float4(pos.xy + dir2.zw, 0.0, 0.0)); - /*--------------------------------------------------------------------------*/ - float4 rgbyA = rgbyN1 + rgbyP1; - float4 rgbyB = rgbyN2 + rgbyP2 + rgbyA * 0.5; - /*--------------------------------------------------------------------------*/ - float4 rgbyR = ((FxaaLuma(rgbyB) - lumaMax) > 0.0) ? rgbyA : rgbyB; - rgbyR = ((FxaaLuma(rgbyB) - lumaMin) > 0.0) ? rgbyR : rgbyA; - return rgbyR; -} -/*==========================================================================*/ -#endif - - - -/*============================================================================ - -FXAA3 CONSOLE - OPTIMIZED PS3 PIXEL SHADER (NO EARLY EXIT) - -============================================================================== -The code below does not exactly match the assembly. -I have a feeling that 12 cycles is possible, but was not able to get there. -Might have to increase register count to get full performance. -Note this shader does not use perspective interpolation. - -Use the following cgc options, - ---fenable-bx2 --fastmath --fastprecision --nofloatbindings - ------------------------------------------------------------------------------- -NVSHADERPERF OUTPUT ------------------------------------------------------------------------------- -For reference and to aid in debug, output of NVShaderPerf should match this, - -Shader to schedule: -0: texpkb h0.w(TRUE), v5.zyxx, #0 -2: addh h2.z(TRUE), h0.w, constant(0.001953, 0.000000, 0.000000, 0.000000).x -4: texpkb h0.w(TRUE), v5.xwxx, #0 -6: addh h0.z(TRUE), -h2, h0.w -7: texpkb h1.w(TRUE), v5, #0 -9: addh h0.x(TRUE), h0.z, -h1.w -10: addh h3.w(TRUE), h0.z, h1 -11: texpkb h2.w(TRUE), v5.zwzz, #0 -13: addh h0.z(TRUE), h3.w, -h2.w -14: addh h0.x(TRUE), h2.w, h0 -15: nrmh h1.xz(TRUE), h0_n -16: minh_m8 h0.x(TRUE), |h1|, |h1.z| -17: maxh h4.w(TRUE), h0, h1 -18: divx h2.xy(TRUE), h1_n.xzzw, h0_n -19: movr r1.zw(TRUE), v4.xxxy -20: madr r2.xz(TRUE), -h1, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zzww, r1.zzww -22: minh h5.w(TRUE), h0, h1 -23: texpkb h0(TRUE), r2.xzxx, #0 -25: madr r0.zw(TRUE), h1.xzxz, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w), r1 -27: maxh h4.x(TRUE), h2.z, h2.w -28: texpkb h1(TRUE), r0.zwzz, #0 -30: addh_d2 h1(TRUE), h0, h1 -31: madr r0.xy(TRUE), -h2, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz -33: texpkb h0(TRUE), r0, #0 -35: minh h4.z(TRUE), h2, h2.w -36: fenct TRUE -37: madr r1.xy(TRUE), h2, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz -39: texpkb h2(TRUE), r1, #0 -41: addh_d2 h0(TRUE), h0, h2 -42: maxh h2.w(TRUE), h4, h4.x -43: minh h2.x(TRUE), h5.w, h4.z -44: addh_d2 h0(TRUE), h0, h1 -45: slth h2.x(TRUE), h0.w, h2 -46: sgth h2.w(TRUE), h0, h2 -47: movh h0(TRUE), h0 -48: addx.c0 rc(TRUE), h2, h2.w -49: movh h0(c0.NE.x), h1 - -IPU0 ------ Simplified schedule: -------- -Pass | Unit | uOp | PC: Op ------+--------+------+------------------------- -1 | SCT0/1 | mov | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; -| TEX | txl | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; -| SCB1 | add | 2: ADDh h2.z, h0.--w-, const.--x-; -| | | -2 | SCT0/1 | mov | 4: TXLr h0.w, g[TEX1].xwxx, const.xxxx, TEX0; -| TEX | txl | 4: TXLr h0.w, g[TEX1].xwxx, const.xxxx, TEX0; -| SCB1 | add | 6: ADDh h0.z,-h2, h0.--w-; -| | | -3 | SCT0/1 | mov | 7: TXLr h1.w, g[TEX1], const.xxxx, TEX0; -| TEX | txl | 7: TXLr h1.w, g[TEX1], const.xxxx, TEX0; -| SCB0 | add | 9: ADDh h0.x, h0.z---,-h1.w---; -| SCB1 | add | 10: ADDh h3.w, h0.---z, h1; -| | | -4 | SCT0/1 | mov | 11: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; -| TEX | txl | 11: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; -| SCB0 | add | 14: ADDh h0.x, h2.w---, h0; -| SCB1 | add | 13: ADDh h0.z, h3.--w-,-h2.--w-; -| | | -5 | SCT1 | mov | 15: NRMh h1.xz, h0; -| SRB | nrm | 15: NRMh h1.xz, h0; -| SCB0 | min | 16: MINh*8 h0.x, |h1|, |h1.z---|; -| SCB1 | max | 17: MAXh h4.w, h0, h1; -| | | -6 | SCT0 | div | 18: DIVx h2.xy, h1.xz--, h0; -| SCT1 | mov | 19: MOVr r1.zw, g[TEX0].--xy; -| SCB0 | mad | 20: MADr r2.xz,-h1, const.z-w-, r1.z-w-; -| SCB1 | min | 22: MINh h5.w, h0, h1; -| | | -7 | SCT0/1 | mov | 23: TXLr h0, r2.xzxx, const.xxxx, TEX0; -| TEX | txl | 23: TXLr h0, r2.xzxx, const.xxxx, TEX0; -| SCB0 | max | 27: MAXh h4.x, h2.z---, h2.w---; -| SCB1 | mad | 25: MADr r0.zw, h1.--xz, const, r1; -| | | -8 | SCT0/1 | mov | 28: TXLr h1, r0.zwzz, const.xxxx, TEX0; -| TEX | txl | 28: TXLr h1, r0.zwzz, const.xxxx, TEX0; -| SCB0/1 | add | 30: ADDh/2 h1, h0, h1; -| | | -9 | SCT0 | mad | 31: MADr r0.xy,-h2, const.xy--, r1.zw--; -| SCT1 | mov | 33: TXLr h0, r0, const.zzzz, TEX0; -| TEX | txl | 33: TXLr h0, r0, const.zzzz, TEX0; -| SCB1 | min | 35: MINh h4.z, h2, h2.--w-; -| | | -10 | SCT0 | mad | 37: MADr r1.xy, h2, const.xy--, r1.zw--; -| SCT1 | mov | 39: TXLr h2, r1, const.zzzz, TEX0; -| TEX | txl | 39: TXLr h2, r1, const.zzzz, TEX0; -| SCB0/1 | add | 41: ADDh/2 h0, h0, h2; -| | | -11 | SCT0 | min | 43: MINh h2.x, h5.w---, h4.z---; -| SCT1 | max | 42: MAXh h2.w, h4, h4.---x; -| SCB0/1 | add | 44: ADDh/2 h0, h0, h1; -| | | -12 | SCT0 | set | 45: SLTh h2.x, h0.w---, h2; -| SCT1 | set | 46: SGTh h2.w, h0, h2; -| SCB0/1 | mul | 47: MOVh h0, h0; -| | | -13 | SCT0 | mad | 48: ADDxc0_s rc, h2, h2.w---; -| SCB0/1 | mul | 49: MOVh h0(NE0.xxxx), h1; - -Pass SCT TEX SCB -1: 0% 100% 25% -2: 0% 100% 25% -3: 0% 100% 50% -4: 0% 100% 50% -5: 0% 0% 50% -6: 100% 0% 75% -7: 0% 100% 75% -8: 0% 100% 100% -9: 0% 100% 25% -10: 0% 100% 100% -11: 50% 0% 100% -12: 50% 0% 100% -13: 25% 0% 100% - -MEAN: 17% 61% 67% - -Pass SCT0 SCT1 TEX SCB0 SCB1 -1: 0% 0% 100% 0% 100% -2: 0% 0% 100% 0% 100% -3: 0% 0% 100% 100% 100% -4: 0% 0% 100% 100% 100% -5: 0% 0% 0% 100% 100% -6: 100% 100% 0% 100% 100% -7: 0% 0% 100% 100% 100% -8: 0% 0% 100% 100% 100% -9: 0% 0% 100% 0% 100% -10: 0% 0% 100% 100% 100% -11: 100% 100% 0% 100% 100% -12: 100% 100% 0% 100% 100% -13: 100% 0% 0% 100% 100% - -MEAN: 30% 23% 61% 76% 100% -Fragment Performance Setup: Driver RSX Compiler, GPU RSX, Flags 0x5 -Results 13 cycles, 3 r regs, 923,076,923 pixels/s -============================================================================*/ -#if (FXAA_PS3 == 1) && (FXAA_EARLY_EXIT == 0) -/*--------------------------------------------------------------------------*/ -#pragma regcount 7 -#pragma disablepc all -#pragma option O3 -#pragma option OutColorPrec=fp16 -#pragma texformat default RGBA8 -/*==========================================================================*/ -half4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) -{ - /*--------------------------------------------------------------------------*/ - // (1) - half4 dir; - half4 lumaNe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zy, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - lumaNe.w += half(1.0 / 512.0); - dir.x = -lumaNe.w; - dir.z = -lumaNe.w; -#else - lumaNe.y += half(1.0 / 512.0); - dir.x = -lumaNe.y; - dir.z = -lumaNe.y; -#endif - /*--------------------------------------------------------------------------*/ - // (2) - half4 lumaSw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xw, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - dir.x += lumaSw.w; - dir.z += lumaSw.w; -#else - dir.x += lumaSw.y; - dir.z += lumaSw.y; -#endif - /*--------------------------------------------------------------------------*/ - // (3) - half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - dir.x -= lumaNw.w; - dir.z += lumaNw.w; -#else - dir.x -= lumaNw.y; - dir.z += lumaNw.y; -#endif - /*--------------------------------------------------------------------------*/ - // (4) - half4 lumaSe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zw, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - dir.x += lumaSe.w; - dir.z -= lumaSe.w; -#else - dir.x += lumaSe.y; - dir.z -= lumaSe.y; -#endif - /*--------------------------------------------------------------------------*/ - // (5) - half4 dir1_pos; - dir1_pos.xy = normalize(dir.xyz).xz; - half dirAbsMinTimesC = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS); - /*--------------------------------------------------------------------------*/ - // (6) - half4 dir2_pos; - dir2_pos.xy = clamp(dir1_pos.xy / dirAbsMinTimesC, half(-2.0), half(2.0)); - dir1_pos.zw = pos.xy; - dir2_pos.zw = pos.xy; - half4 temp1N; - temp1N.xy = dir1_pos.zw - dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - /*--------------------------------------------------------------------------*/ - // (7) - temp1N = h4tex2Dlod(tex, half4(temp1N.xy, 0.0, 0.0)); - half4 rgby1; - rgby1.xy = dir1_pos.zw + dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - /*--------------------------------------------------------------------------*/ - // (8) - rgby1 = h4tex2Dlod(tex, half4(rgby1.xy, 0.0, 0.0)); - rgby1 = (temp1N + rgby1) * 0.5; - /*--------------------------------------------------------------------------*/ - // (9) - half4 temp2N; - temp2N.xy = dir2_pos.zw - dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - temp2N = h4tex2Dlod(tex, half4(temp2N.xy, 0.0, 0.0)); - /*--------------------------------------------------------------------------*/ - // (10) - half4 rgby2; - rgby2.xy = dir2_pos.zw + dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - rgby2 = h4tex2Dlod(tex, half4(rgby2.xy, 0.0, 0.0)); - rgby2 = (temp2N + rgby2) * 0.5; - /*--------------------------------------------------------------------------*/ - // (11) - // compilier moves these scalar ops up to other cycles -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaMin = min(min(lumaNw.w, lumaSw.w), min(lumaNe.w, lumaSe.w)); - half lumaMax = max(max(lumaNw.w, lumaSw.w), max(lumaNe.w, lumaSe.w)); -#else - half lumaMin = min(min(lumaNw.y, lumaSw.y), min(lumaNe.y, lumaSe.y)); - half lumaMax = max(max(lumaNw.y, lumaSw.y), max(lumaNe.y, lumaSe.y)); -#endif - rgby2 = (rgby2 + rgby1) * 0.5; - /*--------------------------------------------------------------------------*/ - // (12) -#if (FXAA_GREEN_AS_LUMA == 0) - bool twoTapLt = rgby2.w < lumaMin; - bool twoTapGt = rgby2.w > lumaMax; -#else - bool twoTapLt = rgby2.y < lumaMin; - bool twoTapGt = rgby2.y > lumaMax; -#endif - /*--------------------------------------------------------------------------*/ - // (13) - if (twoTapLt || twoTapGt) rgby2 = rgby1; - /*--------------------------------------------------------------------------*/ - return rgby2; -} -/*==========================================================================*/ -#endif - - - -/*============================================================================ - -FXAA3 CONSOLE - OPTIMIZED PS3 PIXEL SHADER (WITH EARLY EXIT) - -============================================================================== -The code mostly matches the assembly. -I have a feeling that 14 cycles is possible, but was not able to get there. -Might have to increase register count to get full performance. -Note this shader does not use perspective interpolation. - -Use the following cgc options, - ---fenable-bx2 --fastmath --fastprecision --nofloatbindings - -Use of FXAA_GREEN_AS_LUMA currently adds a cycle (16 clks). -Will look at fixing this for FXAA 3.12. ------------------------------------------------------------------------------- -NVSHADERPERF OUTPUT ------------------------------------------------------------------------------- -For reference and to aid in debug, output of NVShaderPerf should match this, - -Shader to schedule: -0: texpkb h0.w(TRUE), v5.zyxx, #0 -2: addh h2.y(TRUE), h0.w, constant(0.001953, 0.000000, 0.000000, 0.000000).x -4: texpkb h1.w(TRUE), v5.xwxx, #0 -6: addh h0.x(TRUE), h1.w, -h2.y -7: texpkb h2.w(TRUE), v5.zwzz, #0 -9: minh h4.w(TRUE), h2.y, h2 -10: maxh h5.x(TRUE), h2.y, h2.w -11: texpkb h0.w(TRUE), v5, #0 -13: addh h3.w(TRUE), -h0, h0.x -14: addh h0.x(TRUE), h0.w, h0 -15: addh h0.z(TRUE), -h2.w, h0.x -16: addh h0.x(TRUE), h2.w, h3.w -17: minh h5.y(TRUE), h0.w, h1.w -18: nrmh h2.xz(TRUE), h0_n -19: minh_m8 h2.w(TRUE), |h2.x|, |h2.z| -20: divx h4.xy(TRUE), h2_n.xzzw, h2_n.w -21: movr r1.zw(TRUE), v4.xxxy -22: maxh h2.w(TRUE), h0, h1 -23: fenct TRUE -24: madr r0.xy(TRUE), -h2.xzzw, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zwzz, r1.zwzz -26: texpkb h0(TRUE), r0, #0 -28: maxh h5.x(TRUE), h2.w, h5 -29: minh h5.w(TRUE), h5.y, h4 -30: madr r1.xy(TRUE), h2.xzzw, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zwzz, r1.zwzz -32: texpkb h2(TRUE), r1, #0 -34: addh_d2 h2(TRUE), h0, h2 -35: texpkb h1(TRUE), v4, #0 -37: maxh h5.y(TRUE), h5.x, h1.w -38: minh h4.w(TRUE), h1, h5 -39: madr r0.xy(TRUE), -h4, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz -41: texpkb h0(TRUE), r0, #0 -43: addh_m8 h5.z(TRUE), h5.y, -h4.w -44: madr r2.xy(TRUE), h4, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz -46: texpkb h3(TRUE), r2, #0 -48: addh_d2 h0(TRUE), h0, h3 -49: addh_d2 h3(TRUE), h0, h2 -50: movh h0(TRUE), h3 -51: slth h3.x(TRUE), h3.w, h5.w -52: sgth h3.w(TRUE), h3, h5.x -53: addx.c0 rc(TRUE), h3.x, h3 -54: slth.c0 rc(TRUE), h5.z, h5 -55: movh h0(c0.NE.w), h2 -56: movh h0(c0.NE.x), h1 - -IPU0 ------ Simplified schedule: -------- -Pass | Unit | uOp | PC: Op ------+--------+------+------------------------- -1 | SCT0/1 | mov | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; -| TEX | txl | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; -| SCB0 | add | 2: ADDh h2.y, h0.-w--, const.-x--; -| | | -2 | SCT0/1 | mov | 4: TXLr h1.w, g[TEX1].xwxx, const.xxxx, TEX0; -| TEX | txl | 4: TXLr h1.w, g[TEX1].xwxx, const.xxxx, TEX0; -| SCB0 | add | 6: ADDh h0.x, h1.w---,-h2.y---; -| | | -3 | SCT0/1 | mov | 7: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; -| TEX | txl | 7: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; -| SCB0 | max | 10: MAXh h5.x, h2.y---, h2.w---; -| SCB1 | min | 9: MINh h4.w, h2.---y, h2; -| | | -4 | SCT0/1 | mov | 11: TXLr h0.w, g[TEX1], const.xxxx, TEX0; -| TEX | txl | 11: TXLr h0.w, g[TEX1], const.xxxx, TEX0; -| SCB0 | add | 14: ADDh h0.x, h0.w---, h0; -| SCB1 | add | 13: ADDh h3.w,-h0, h0.---x; -| | | -5 | SCT0 | mad | 16: ADDh h0.x, h2.w---, h3.w---; -| SCT1 | mad | 15: ADDh h0.z,-h2.--w-, h0.--x-; -| SCB0 | min | 17: MINh h5.y, h0.-w--, h1.-w--; -| | | -6 | SCT1 | mov | 18: NRMh h2.xz, h0; -| SRB | nrm | 18: NRMh h2.xz, h0; -| SCB1 | min | 19: MINh*8 h2.w, |h2.---x|, |h2.---z|; -| | | -7 | SCT0 | div | 20: DIVx h4.xy, h2.xz--, h2.ww--; -| SCT1 | mov | 21: MOVr r1.zw, g[TEX0].--xy; -| SCB1 | max | 22: MAXh h2.w, h0, h1; -| | | -8 | SCT0 | mad | 24: MADr r0.xy,-h2.xz--, const.zw--, r1.zw--; -| SCT1 | mov | 26: TXLr h0, r0, const.xxxx, TEX0; -| TEX | txl | 26: TXLr h0, r0, const.xxxx, TEX0; -| SCB0 | max | 28: MAXh h5.x, h2.w---, h5; -| SCB1 | min | 29: MINh h5.w, h5.---y, h4; -| | | -9 | SCT0 | mad | 30: MADr r1.xy, h2.xz--, const.zw--, r1.zw--; -| SCT1 | mov | 32: TXLr h2, r1, const.xxxx, TEX0; -| TEX | txl | 32: TXLr h2, r1, const.xxxx, TEX0; -| SCB0/1 | add | 34: ADDh/2 h2, h0, h2; -| | | -10 | SCT0/1 | mov | 35: TXLr h1, g[TEX0], const.xxxx, TEX0; -| TEX | txl | 35: TXLr h1, g[TEX0], const.xxxx, TEX0; -| SCB0 | max | 37: MAXh h5.y, h5.-x--, h1.-w--; -| SCB1 | min | 38: MINh h4.w, h1, h5; -| | | -11 | SCT0 | mad | 39: MADr r0.xy,-h4, const.xy--, r1.zw--; -| SCT1 | mov | 41: TXLr h0, r0, const.zzzz, TEX0; -| TEX | txl | 41: TXLr h0, r0, const.zzzz, TEX0; -| SCB0 | mad | 44: MADr r2.xy, h4, const.xy--, r1.zw--; -| SCB1 | add | 43: ADDh*8 h5.z, h5.--y-,-h4.--w-; -| | | -12 | SCT0/1 | mov | 46: TXLr h3, r2, const.xxxx, TEX0; -| TEX | txl | 46: TXLr h3, r2, const.xxxx, TEX0; -| SCB0/1 | add | 48: ADDh/2 h0, h0, h3; -| | | -13 | SCT0/1 | mad | 49: ADDh/2 h3, h0, h2; -| SCB0/1 | mul | 50: MOVh h0, h3; -| | | -14 | SCT0 | set | 51: SLTh h3.x, h3.w---, h5.w---; -| SCT1 | set | 52: SGTh h3.w, h3, h5.---x; -| SCB0 | set | 54: SLThc0 rc, h5.z---, h5; -| SCB1 | add | 53: ADDxc0_s rc, h3.---x, h3; -| | | -15 | SCT0/1 | mul | 55: MOVh h0(NE0.wwww), h2; -| SCB0/1 | mul | 56: MOVh h0(NE0.xxxx), h1; - -Pass SCT TEX SCB -1: 0% 100% 25% -2: 0% 100% 25% -3: 0% 100% 50% -4: 0% 100% 50% -5: 50% 0% 25% -6: 0% 0% 25% -7: 100% 0% 25% -8: 0% 100% 50% -9: 0% 100% 100% -10: 0% 100% 50% -11: 0% 100% 75% -12: 0% 100% 100% -13: 100% 0% 100% -14: 50% 0% 50% -15: 100% 0% 100% - -MEAN: 26% 60% 56% - -Pass SCT0 SCT1 TEX SCB0 SCB1 -1: 0% 0% 100% 100% 0% -2: 0% 0% 100% 100% 0% -3: 0% 0% 100% 100% 100% -4: 0% 0% 100% 100% 100% -5: 100% 100% 0% 100% 0% -6: 0% 0% 0% 0% 100% -7: 100% 100% 0% 0% 100% -8: 0% 0% 100% 100% 100% -9: 0% 0% 100% 100% 100% -10: 0% 0% 100% 100% 100% -11: 0% 0% 100% 100% 100% -12: 0% 0% 100% 100% 100% -13: 100% 100% 0% 100% 100% -14: 100% 100% 0% 100% 100% -15: 100% 100% 0% 100% 100% - -MEAN: 33% 33% 60% 86% 80% -Fragment Performance Setup: Driver RSX Compiler, GPU RSX, Flags 0x5 -Results 15 cycles, 3 r regs, 800,000,000 pixels/s -============================================================================*/ -#if (FXAA_PS3 == 1) && (FXAA_EARLY_EXIT == 1) -/*--------------------------------------------------------------------------*/ -#pragma regcount 7 -#pragma disablepc all -#pragma option O2 -#pragma option OutColorPrec=fp16 -#pragma texformat default RGBA8 -/*==========================================================================*/ -half4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) -{ - /*--------------------------------------------------------------------------*/ - // (1) - half4 rgbyNe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zy, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaNe = rgbyNe.w + half(1.0 / 512.0); -#else - half lumaNe = rgbyNe.y + half(1.0 / 512.0); -#endif - /*--------------------------------------------------------------------------*/ - // (2) - half4 lumaSw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xw, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaSwNegNe = lumaSw.w - lumaNe; -#else - half lumaSwNegNe = lumaSw.y - lumaNe; -#endif - /*--------------------------------------------------------------------------*/ - // (3) - half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxNwSw = max(lumaNw.w, lumaSw.w); - half lumaMinNwSw = min(lumaNw.w, lumaSw.w); -#else - half lumaMaxNwSw = max(lumaNw.y, lumaSw.y); - half lumaMinNwSw = min(lumaNw.y, lumaSw.y); -#endif - /*--------------------------------------------------------------------------*/ - // (4) - half4 lumaSe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zw, 0, 0)); -#if (FXAA_GREEN_AS_LUMA == 0) - half dirZ = lumaNw.w + lumaSwNegNe; - half dirX = -lumaNw.w + lumaSwNegNe; -#else - half dirZ = lumaNw.y + lumaSwNegNe; - half dirX = -lumaNw.y + lumaSwNegNe; -#endif - /*--------------------------------------------------------------------------*/ - // (5) - half3 dir; - dir.y = 0.0; -#if (FXAA_GREEN_AS_LUMA == 0) - dir.x = lumaSe.w + dirX; - dir.z = -lumaSe.w + dirZ; - half lumaMinNeSe = min(lumaNe, lumaSe.w); -#else - dir.x = lumaSe.y + dirX; - dir.z = -lumaSe.y + dirZ; - half lumaMinNeSe = min(lumaNe, lumaSe.y); -#endif - /*--------------------------------------------------------------------------*/ - // (6) - half4 dir1_pos; - dir1_pos.xy = normalize(dir).xz; - half dirAbsMinTimes8 = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS); - /*--------------------------------------------------------------------------*/ - // (7) - half4 dir2_pos; - dir2_pos.xy = clamp(dir1_pos.xy / dirAbsMinTimes8, half(-2.0), half(2.0)); - dir1_pos.zw = pos.xy; - dir2_pos.zw = pos.xy; -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxNeSe = max(lumaNe, lumaSe.w); -#else - half lumaMaxNeSe = max(lumaNe, lumaSe.y); -#endif - /*--------------------------------------------------------------------------*/ - // (8) - half4 temp1N; - temp1N.xy = dir1_pos.zw - dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - temp1N = h4tex2Dlod(tex, half4(temp1N.xy, 0.0, 0.0)); - half lumaMax = max(lumaMaxNwSw, lumaMaxNeSe); - half lumaMin = min(lumaMinNwSw, lumaMinNeSe); - /*--------------------------------------------------------------------------*/ - // (9) - half4 rgby1; - rgby1.xy = dir1_pos.zw + dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - rgby1 = h4tex2Dlod(tex, half4(rgby1.xy, 0.0, 0.0)); - rgby1 = (temp1N + rgby1) * 0.5; - /*--------------------------------------------------------------------------*/ - // (10) - half4 rgbyM = h4tex2Dlod(tex, half4(pos.xy, 0.0, 0.0)); -#if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxM = max(lumaMax, rgbyM.w); - half lumaMinM = min(lumaMin, rgbyM.w); -#else - half lumaMaxM = max(lumaMax, rgbyM.y); - half lumaMinM = min(lumaMin, rgbyM.y); -#endif - /*--------------------------------------------------------------------------*/ - // (11) - half4 temp2N; - temp2N.xy = dir2_pos.zw - dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - temp2N = h4tex2Dlod(tex, half4(temp2N.xy, 0.0, 0.0)); - half4 rgby2; - rgby2.xy = dir2_pos.zw + dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - half lumaRangeM = (lumaMaxM - lumaMinM) / FXAA_CONSOLE__PS3_EDGE_THRESHOLD; - /*--------------------------------------------------------------------------*/ - // (12) - rgby2 = h4tex2Dlod(tex, half4(rgby2.xy, 0.0, 0.0)); - rgby2 = (temp2N + rgby2) * 0.5; - /*--------------------------------------------------------------------------*/ - // (13) - rgby2 = (rgby2 + rgby1) * 0.5; - /*--------------------------------------------------------------------------*/ - // (14) -#if (FXAA_GREEN_AS_LUMA == 0) - bool twoTapLt = rgby2.w < lumaMin; - bool twoTapGt = rgby2.w > lumaMax; -#else - bool twoTapLt = rgby2.y < lumaMin; - bool twoTapGt = rgby2.y > lumaMax; -#endif - bool earlyExit = lumaRangeM < lumaMax; - bool twoTap = twoTapLt || twoTapGt; - /*--------------------------------------------------------------------------*/ - // (15) - if (twoTap) rgby2 = rgby1; - if (earlyExit) rgby2 = rgbyM; - /*--------------------------------------------------------------------------*/ - return rgby2; -} -/*==========================================================================*/ -#endif - -#endif // __FXAA3_INC__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc.meta deleted file mode 100644 index 179a99b8d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/FXAA3.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 613b4036a9f55c34fb054bde02455e46 -timeCreated: 1462350552 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/FXAA3.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader deleted file mode 100644 index b607a64f5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader +++ /dev/null @@ -1,109 +0,0 @@ -Shader "Hidden/Post FX/Fog" -{ - Properties - { - _MainTex("Main Texture", 2D) = "white" {} - } - - CGINCLUDE - - #pragma multi_compile __ FOG_LINEAR FOG_EXP FOG_EXP2 - #include "UnityCG.cginc" - #include "Common.cginc" - - #define SKYBOX_THREASHOLD_VALUE 0.9999 - - struct Varyings - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - }; - - Varyings VertFog(AttributesDefault v) - { - Varyings o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST); - return o; - } - - sampler2D _CameraDepthTexture; - - half4 _FogColor; - float _Density; - float _Start; - float _End; - - half ComputeFog(float z) - { - half fog = 0.0; - #if FOG_LINEAR - fog = (_End - z) / (_End - _Start); - #elif FOG_EXP - fog = exp2(-_Density * z); - #else // FOG_EXP2 - fog = _Density * z; - fog = exp2(-fog * fog); - #endif - return saturate(fog); - } - - float ComputeDistance(float depth) - { - float dist = depth * _ProjectionParams.z; - dist -= _ProjectionParams.y; - return dist; - } - - half4 FragFog(Varyings i) : SV_Target - { - half4 color = tex2D(_MainTex, i.uv); - - float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv); - depth = Linear01Depth(depth); - float dist = ComputeDistance(depth); - half fog = 1.0 - ComputeFog(dist); - - return lerp(color, _FogColor, fog); - } - - half4 FragFogExcludeSkybox(Varyings i) : SV_Target - { - half4 color = tex2D(_MainTex, i.uv); - - float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv); - depth = Linear01Depth(depth); - float skybox = depth < SKYBOX_THREASHOLD_VALUE; - float dist = ComputeDistance(depth); - half fog = 1.0 - ComputeFog(dist); - - return lerp(color, _FogColor, fog * skybox); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass - { - CGPROGRAM - - #pragma vertex VertFog - #pragma fragment FragFog - - ENDCG - } - - Pass - { - CGPROGRAM - - #pragma vertex VertFog - #pragma fragment FragFogExcludeSkybox - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader.meta deleted file mode 100644 index 02d9b3e8c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Fog.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 2a72fc91cbae3cc4686a6143e8517993 -timeCreated: 1487335480 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Fog.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader deleted file mode 100644 index 0c1bc8182..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader +++ /dev/null @@ -1,104 +0,0 @@ -Shader "Hidden/Post FX/Grain Generator" -{ - CGINCLUDE - - #pragma exclude_renderers d3d11_9x - #pragma target 3.0 - #include "UnityCG.cginc" - #include "Common.cginc" - - float _Phase; - - // Implementation based on Timothy Lottes' "Large Grain" - // Reference code: https://www.shadertoy.com/view/4sSXDW - // Other article of interest: http://devlog-martinsh.blogspot.fr/2013/05/image-imperfections-and-film-grain-post.html - float Noise(float2 n, float x) - { - n += x; - return frac(sin(dot(n.xy, float2(12.9898, 78.233))) * 43758.5453); - } - - float Step1(float2 uv, float n) - { - float b = 2.0, c = -12.0; - return (1.0 / (4.0 + b * 4.0 + abs(c))) * ( - Noise(uv + float2(-1.0, -1.0), n) + - Noise(uv + float2( 0.0, -1.0), n) * b + - Noise(uv + float2( 1.0, -1.0), n) + - Noise(uv + float2(-1.0, 0.0), n) * b + - Noise(uv + float2( 0.0, 0.0), n) * c + - Noise(uv + float2( 1.0, 0.0), n) * b + - Noise(uv + float2(-1.0, 1.0), n) + - Noise(uv + float2( 0.0, 1.0), n) * b + - Noise(uv + float2( 1.0, 1.0), n) - ); - } - - float Step2(float2 uv, float n) - { - float b = 2.0, c = 4.0; - return (1.0 / (4.0 + b * 4.0 + abs(c))) * ( - Step1(uv + float2(-1.0, -1.0), n) + - Step1(uv + float2( 0.0, -1.0), n) * b + - Step1(uv + float2( 1.0, -1.0), n) + - Step1(uv + float2(-1.0, 0.0), n) * b + - Step1(uv + float2( 0.0, 0.0), n) * c + - Step1(uv + float2( 1.0, 0.0), n) * b + - Step1(uv + float2(-1.0, 1.0), n) + - Step1(uv + float2( 0.0, 1.0), n) * b + - Step1(uv + float2( 1.0, 1.0), n) - ); - } - - float Step3BW(float2 uv) - { - return Step2(uv, frac(_Phase)); - } - - float3 Step3(float2 uv) - { - float a = Step2(uv, 0.07 * frac(_Phase)); - float b = Step2(uv, 0.11 * frac(_Phase)); - float c = Step2(uv, 0.13 * frac(_Phase)); - return float3(a, b, c); - } - - float4 FragGrain(VaryingsDefault i) : SV_Target - { - float grain = Step3BW(i.uv * float2(192.0, 192.0)); - return float4(grain.xxx, 1.0); - } - - float4 FragGrainColored(VaryingsDefault i) : SV_Target - { - float3 grain = Step3(i.uv * float2(192.0, 192.0)); - return float4(grain, 1.0); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragGrain - - ENDCG - } - - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragGrainColored - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader.meta deleted file mode 100644 index 8f03207fd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/GrainGen.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 11852d1b1b034654bb03e7c8fda28fbf -timeCreated: 1476347976 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/GrainGen.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader deleted file mode 100644 index 659ab54ee..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader +++ /dev/null @@ -1,128 +0,0 @@ -Shader "Hidden/Post FX/Lut Generator" -{ - CGINCLUDE - - #pragma target 3.0 - #pragma multi_compile __ TONEMAPPING_NEUTRAL TONEMAPPING_FILMIC - - #include "UnityCG.cginc" - #include "ACES.cginc" - #include "Common.cginc" - #include "ColorGrading.cginc" - #include "Tonemapping.cginc" - - half3 _Balance; - - half3 _Lift; - half3 _InvGamma; - half3 _Gain; - - half3 _Offset; - half3 _Power; - half3 _Slope; - - half _HueShift; - half _Saturation; - half _Contrast; - - half3 _ChannelMixerRed; - half3 _ChannelMixerGreen; - half3 _ChannelMixerBlue; - - half4 _NeutralTonemapperParams1; - half4 _NeutralTonemapperParams2; - - sampler2D _Curves; - - half4 _LutParams; - - half3 ColorGrade(half3 color) - { - half3 aces = unity_to_ACES(color); - - // ACEScc (log) space - half3 acescc = ACES_to_ACEScc(aces); - - acescc = OffsetPowerSlope(acescc, _Offset, _Power, _Slope); - - half2 hs = RgbToHsv(acescc).xy; - half satMultiplier = SecondaryHueSat(hs.x, _Curves); - satMultiplier *= SecondarySatSat(hs.y, _Curves); - satMultiplier *= SecondaryLumSat(AcesLuminance(acescc), _Curves); - - acescc = Saturation(acescc, _Saturation * satMultiplier); - acescc = ContrastLog(acescc, _Contrast); - - aces = ACEScc_to_ACES(acescc); - - // ACEScg (linear) space - half3 acescg = ACES_to_ACEScg(aces); - - acescg = WhiteBalance(acescg, _Balance); - acescg = LiftGammaGain(acescg, _Lift, _InvGamma, _Gain); - - half3 hsv = RgbToHsv(max(acescg, 0.0)); - hsv.x = SecondaryHueHue(hsv.x + _HueShift, _Curves); - acescg = HsvToRgb(hsv); - - acescg = ChannelMixer(acescg, _ChannelMixerRed, _ChannelMixerGreen, _ChannelMixerBlue); - - #if TONEMAPPING_FILMIC - - aces = ACEScg_to_ACES(acescg); - color = FilmicTonemap(aces); - - #elif TONEMAPPING_NEUTRAL - - color = ACEScg_to_unity(acescg); - color = NeutralTonemap(color, _NeutralTonemapperParams1, _NeutralTonemapperParams2); - - #else - - color = ACEScg_to_unity(acescg); - - #endif - - // YRGB curves (done in linear/LDR for now) - color = YrgbCurve(color, _Curves); - - return color; - } - - half4 FragCreateLut(VaryingsDefault i) : SV_Target - { - // 2D strip lut - half2 uv = i.uv - _LutParams.yz; - half3 color; - color.r = frac(uv.x * _LutParams.x); - color.b = uv.x - color.r / _LutParams.x; - color.g = uv.y; - - // Lut is in LogC - half3 colorLogC = color * _LutParams.w; - - // Switch back to unity linear and color grade - half3 colorLinear = LogCToLinear(colorLogC); - half3 graded = ColorGrade(colorLinear); - - return half4(graded, 1.0); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) - Pass - { - CGPROGRAM - - #pragma vertex VertDefault - #pragma fragment FragCreateLut - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader.meta deleted file mode 100644 index aced65922..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/LutGen.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: d248d4d1588851f43a9fa18a4e6f0209 -timeCreated: 1460361871 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/LutGen.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc deleted file mode 100644 index eca446ab1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc +++ /dev/null @@ -1,420 +0,0 @@ -#ifndef __MOTION_BLUR__ -#define __MOTION_BLUR__ - -#include "UnityCG.cginc" -#include "Common.cginc" - -// Camera depth texture -sampler2D_float _CameraDepthTexture; - -// Camera motion vectors texture -sampler2D_half _CameraMotionVectorsTexture; -float4 _CameraMotionVectorsTexture_TexelSize; - -// Packed velocity texture (2/10/10/10) -sampler2D_half _VelocityTex; -float2 _VelocityTex_TexelSize; - -// NeighborMax texture -sampler2D_half _NeighborMaxTex; -float2 _NeighborMaxTex_TexelSize; - -// Velocity scale factor -float _VelocityScale; - -// TileMax filter parameters -int _TileMaxLoop; -float2 _TileMaxOffs; - -// Maximum blur radius (in pixels) -half _MaxBlurRadius; -float _RcpMaxBlurRadius; - -// Filter parameters/coefficients -half _LoopCount; - -// History buffer for frame blending -sampler2D _History1LumaTex; -sampler2D _History2LumaTex; -sampler2D _History3LumaTex; -sampler2D _History4LumaTex; - -sampler2D _History1ChromaTex; -sampler2D _History2ChromaTex; -sampler2D _History3ChromaTex; -sampler2D _History4ChromaTex; - -half _History1Weight; -half _History2Weight; -half _History3Weight; -half _History4Weight; - -struct VaryingsMultitex -{ - float4 pos : SV_POSITION; - float2 uv0 : TEXCOORD0; - float2 uv1 : TEXCOORD1; -}; - -VaryingsMultitex VertMultitex(AttributesDefault v) -{ - VaryingsMultitex o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv0 = v.texcoord.xy; - o.uv1 = v.texcoord.xy; - -#if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0.0) - o.uv1.y = 1.0 - v.texcoord.y; -#endif - - return o; -} - -// ----------------------------------------------------------------------------- -// Prefilter - -// Velocity texture setup -half4 FragVelocitySetup(VaryingsDefault i) : SV_Target -{ - // Sample the motion vector. - float2 v = tex2D(_CameraMotionVectorsTexture, i.uv).rg; - - // Apply the exposure time and convert to the pixel space. - v *= (_VelocityScale * 0.5) * _CameraMotionVectorsTexture_TexelSize.zw; - - // Clamp the vector with the maximum blur radius. - v /= max(1.0, length(v) * _RcpMaxBlurRadius); - - // Sample the depth of the pixel. - half d = LinearizeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv)); - - // Pack into 10/10/10/2 format. - return half4((v * _RcpMaxBlurRadius + 1.0) * 0.5, d, 0.0); -} - -// TileMax filter (2 pixel width with normalization) -half4 FragTileMax1(VaryingsDefault i) : SV_Target -{ - float4 d = _MainTex_TexelSize.xyxy * float4(-0.5, -0.5, 0.5, 0.5); - - half2 v1 = tex2D(_MainTex, i.uv + d.xy).rg; - half2 v2 = tex2D(_MainTex, i.uv + d.zy).rg; - half2 v3 = tex2D(_MainTex, i.uv + d.xw).rg; - half2 v4 = tex2D(_MainTex, i.uv + d.zw).rg; - - v1 = (v1 * 2.0 - 1.0) * _MaxBlurRadius; - v2 = (v2 * 2.0 - 1.0) * _MaxBlurRadius; - v3 = (v3 * 2.0 - 1.0) * _MaxBlurRadius; - v4 = (v4 * 2.0 - 1.0) * _MaxBlurRadius; - - return half4(MaxV(MaxV(MaxV(v1, v2), v3), v4), 0.0, 0.0); -} - -// TileMax filter (2 pixel width) -half4 FragTileMax2(VaryingsDefault i) : SV_Target -{ - float4 d = _MainTex_TexelSize.xyxy * float4(-0.5, -0.5, 0.5, 0.5); - - half2 v1 = tex2D(_MainTex, i.uv + d.xy).rg; - half2 v2 = tex2D(_MainTex, i.uv + d.zy).rg; - half2 v3 = tex2D(_MainTex, i.uv + d.xw).rg; - half2 v4 = tex2D(_MainTex, i.uv + d.zw).rg; - - return half4(MaxV(MaxV(MaxV(v1, v2), v3), v4), 0.0, 0.0); -} - -// TileMax filter (variable width) -half4 FragTileMaxV(VaryingsDefault i) : SV_Target -{ - float2 uv0 = i.uv + _MainTex_TexelSize.xy * _TileMaxOffs.xy; - - float2 du = float2(_MainTex_TexelSize.x, 0.0); - float2 dv = float2(0, _MainTex_TexelSize.y); - - half2 vo = 0; - - UNITY_LOOP - for (int ix = 0; ix < _TileMaxLoop; ix++) - { - UNITY_LOOP - for (int iy = 0; iy < _TileMaxLoop; iy++) - { - float2 uv = uv0 + du * ix + dv * iy; - vo = MaxV(vo, tex2D(_MainTex, uv).rg); - } - } - - return half4(vo, 0.0, 0.0); -} - -// NeighborMax filter -half4 FragNeighborMax(VaryingsDefault i) : SV_Target -{ - const half cw = 1.01; // Center weight tweak - - float4 d = _MainTex_TexelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0); - - half2 v1 = tex2D(_MainTex, i.uv - d.xy).rg; - half2 v2 = tex2D(_MainTex, i.uv - d.wy).rg; - half2 v3 = tex2D(_MainTex, i.uv - d.zy).rg; - - half2 v4 = tex2D(_MainTex, i.uv - d.xw).rg; - half2 v5 = tex2D(_MainTex, i.uv).rg * cw; - half2 v6 = tex2D(_MainTex, i.uv + d.xw).rg; - - half2 v7 = tex2D(_MainTex, i.uv + d.zy).rg; - half2 v8 = tex2D(_MainTex, i.uv + d.wy).rg; - half2 v9 = tex2D(_MainTex, i.uv + d.xy).rg; - - half2 va = MaxV(v1, MaxV(v2, v3)); - half2 vb = MaxV(v4, MaxV(v5, v6)); - half2 vc = MaxV(v7, MaxV(v8, v9)); - - return half4(MaxV(va, MaxV(vb, vc)) * (1.0 / cw), 0.0, 0.0); -} - -// ----------------------------------------------------------------------------- -// Reconstruction - -// Returns true or false with a given interval. -bool Interval(half phase, half interval) -{ - return frac(phase / interval) > 0.499; -} - -// Jitter function for tile lookup -float2 JitterTile(float2 uv) -{ - float rx, ry; - sincos(GradientNoise(uv + float2(2.0, 0.0)) * UNITY_PI_2, ry, rx); - return float2(rx, ry) * _NeighborMaxTex_TexelSize.xy * 0.25; -} - -// Velocity sampling function -half3 SampleVelocity(float2 uv) -{ - half3 v = tex2Dlod(_VelocityTex, float4(uv, 0.0, 0.0)).xyz; - return half3((v.xy * 2.0 - 1.0) * _MaxBlurRadius, v.z); -} - -// Reconstruction filter -half4 FragReconstruction(VaryingsMultitex i) : SV_Target -{ - // Color sample at the center point - const half4 c_p = tex2D(_MainTex, i.uv0); - - // Velocity/Depth sample at the center point - const half3 vd_p = SampleVelocity(i.uv1); - const half l_v_p = max(length(vd_p.xy), 0.5); - const half rcp_d_p = 1.0 / vd_p.z; - - // NeighborMax vector sample at the center point - const half2 v_max = tex2D(_NeighborMaxTex, i.uv1 + JitterTile(i.uv1)).xy; - const half l_v_max = length(v_max); - const half rcp_l_v_max = 1.0 / l_v_max; - - // Escape early if the NeighborMax vector is small enough. - if (l_v_max < 2.0) return c_p; - - // Use V_p as a secondary sampling direction except when it's too small - // compared to V_max. This vector is rescaled to be the length of V_max. - const half2 v_alt = (l_v_p * 2.0 > l_v_max) ? vd_p.xy * (l_v_max / l_v_p) : v_max; - - // Determine the sample count. - const half sc = floor(min(_LoopCount, l_v_max * 0.5)); - - // Loop variables (starts from the outermost sample) - const half dt = 1.0 / sc; - const half t_offs = (GradientNoise(i.uv0) - 0.5) * dt; - half t = 1.0 - dt * 0.5; - half count = 0.0; - - // Background velocity - // This is used for tracking the maximum velocity in the background layer. - half l_v_bg = max(l_v_p, 1.0); - - // Color accumlation - half4 acc = 0.0; - - UNITY_LOOP while (t > dt * 0.25) - { - // Sampling direction (switched per every two samples) - const half2 v_s = Interval(count, 4.0) ? v_alt : v_max; - - // Sample position (inverted per every sample) - const half t_s = (Interval(count, 2.0) ? -t : t) + t_offs; - - // Distance to the sample position - const half l_t = l_v_max * abs(t_s); - - // UVs for the sample position - const float2 uv0 = i.uv0 + v_s * t_s * _MainTex_TexelSize.xy; - const float2 uv1 = i.uv1 + v_s * t_s * _VelocityTex_TexelSize.xy; - - // Color sample - const half3 c = tex2Dlod(_MainTex, float4(uv0, 0.0, 0.0)).rgb; - - // Velocity/Depth sample - const half3 vd = SampleVelocity(uv1); - - // Background/Foreground separation - const half fg = saturate((vd_p.z - vd.z) * 20.0 * rcp_d_p); - - // Length of the velocity vector - const half l_v = lerp(l_v_bg, length(vd.xy), fg); - - // Sample weight - // (Distance test) * (Spreading out by motion) * (Triangular window) - const half w = saturate(l_v - l_t) / l_v * (1.2 - t); - - // Color accumulation - acc += half4(c, 1.0) * w; - - // Update the background velocity. - l_v_bg = max(l_v_bg, l_v); - - // Advance to the next sample. - t = Interval(count, 2.0) ? t - dt : t; - count += 1.0; - } - - // Add the center sample. - acc += half4(c_p.rgb, 1.0) * (1.2 / (l_v_bg * sc * 2.0)); - - return half4(acc.rgb / acc.a, c_p.a); -} - -// ----------------------------------------------------------------------------- -// Frame blending - -VaryingsDefault VertFrameCompress(AttributesDefault v) -{ - VaryingsDefault o; - o.pos = v.vertex; - o.uvSPR = 0; -#if UNITY_UV_STARTS_AT_TOP - o.uv = v.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); -#else - o.uv = v.texcoord; -#endif - return o; -} - -#if !SHADER_API_GLES - -// MRT output struct for the compressor -struct CompressorOutput -{ - half4 luma : SV_Target0; - half4 chroma : SV_Target1; -}; - -// Frame compression fragment shader -CompressorOutput FragFrameCompress(VaryingsDefault i) -{ - float sw = _ScreenParams.x; // Screen width - float pw = _ScreenParams.z - 1; // Pixel width - - // RGB to YCbCr convertion matrix - const half3 kY = half3( 0.299 , 0.587 , 0.114 ); - const half3 kCB = half3(-0.168736, -0.331264, 0.5 ); - const half3 kCR = half3( 0.5 , -0.418688, -0.081312); - - // 0: even column, 1: odd column - half odd = frac(i.uv.x * sw * 0.5) > 0.5; - - // Calculate UV for chroma componetns. - // It's between the even and odd columns. - float2 uv_c = i.uv.xy; - uv_c.x = (floor(uv_c.x * sw * 0.5) * 2.0 + 1.0) * pw; - - // Sample the source texture. - half3 rgb_y = tex2D(_MainTex, i.uv).rgb; - half3 rgb_c = tex2D(_MainTex, uv_c).rgb; - - #if !UNITY_COLORSPACE_GAMMA - rgb_y = LinearToGammaSpace(rgb_y); - rgb_c = LinearToGammaSpace(rgb_c); - #endif - - // Convertion and subsampling - CompressorOutput o; - o.luma = dot(kY, rgb_y); - o.chroma = dot(lerp(kCB, kCR, odd), rgb_c) + 0.5; - return o; -} - -#else - -// MRT might not be supported. Replace it with a null shader. -half4 FragFrameCompress(VaryingsDefault i) : SV_Target -{ - return 0; -} - -#endif - -// Sample luma-chroma textures and convert to RGB -half3 DecodeHistory(float2 uvLuma, float2 uvCb, float2 uvCr, sampler2D lumaTex, sampler2D chromaTex) -{ - half y = tex2D(lumaTex, uvLuma).r; - half cb = tex2D(chromaTex, uvCb).r - 0.5; - half cr = tex2D(chromaTex, uvCr).r - 0.5; - return y + half3(1.402 * cr, -0.34414 * cb - 0.71414 * cr, 1.772 * cb); -} - -// Frame blending fragment shader -half4 FragFrameBlending(VaryingsMultitex i) : SV_Target -{ - float sw = _MainTex_TexelSize.z; // Texture width - float pw = _MainTex_TexelSize.x; // Texel width - - // UV for luma - float2 uvLuma = i.uv1; - - // UV for Cb (even columns) - float2 uvCb = i.uv1; - uvCb.x = (floor(uvCb.x * sw * 0.5) * 2.0 + 0.5) * pw; - - // UV for Cr (even columns) - float2 uvCr = uvCb; - uvCr.x += pw; - - // Sample from the source image - half4 src = tex2D(_MainTex, i.uv0); - - // Sampling and blending - #if UNITY_COLORSPACE_GAMMA - half3 acc = src.rgb; - #else - half3 acc = LinearToGammaSpace(src.rgb); - #endif - - acc += DecodeHistory(uvLuma, uvCb, uvCr, _History1LumaTex, _History1ChromaTex) * _History1Weight; - acc += DecodeHistory(uvLuma, uvCb, uvCr, _History2LumaTex, _History2ChromaTex) * _History2Weight; - acc += DecodeHistory(uvLuma, uvCb, uvCr, _History3LumaTex, _History3ChromaTex) * _History3Weight; - acc += DecodeHistory(uvLuma, uvCb, uvCr, _History4LumaTex, _History4ChromaTex) * _History4Weight; - acc /= 1.0 + _History1Weight + _History2Weight +_History3Weight +_History4Weight; - - #if !UNITY_COLORSPACE_GAMMA - acc = GammaToLinearSpace(acc); - #endif - - return half4(acc, src.a); -} - -// Frame blending fragment shader (without chroma subsampling) -half4 FragFrameBlendingRaw(VaryingsMultitex i) : SV_Target -{ - half4 src = tex2D(_MainTex, i.uv0); - half3 acc = src.rgb; - acc += tex2D(_History1LumaTex, i.uv0) * _History1Weight; - acc += tex2D(_History2LumaTex, i.uv0) * _History2Weight; - acc += tex2D(_History3LumaTex, i.uv0) * _History3Weight; - acc += tex2D(_History4LumaTex, i.uv0) * _History4Weight; - acc /= 1.0 + _History1Weight + _History2Weight +_History3Weight +_History4Weight; - return half4(acc, src.a); -} - -#endif // __MOTION_BLUR__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc.meta deleted file mode 100644 index 8497aaa00..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: c83956915580e42489479d2a109470ab -timeCreated: 1470404606 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/MotionBlur.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader deleted file mode 100644 index a5ab97dd9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader +++ /dev/null @@ -1,123 +0,0 @@ -Shader "Hidden/Post FX/Motion Blur" -{ - CGINCLUDE - - #pragma target 3.0 - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) Velocity texture setup - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertDefault - #pragma fragment FragVelocitySetup - - ENDCG - } - - // (1) TileMax filter (2 pixel width with normalization) - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertDefault - #pragma fragment FragTileMax1 - - ENDCG - } - - // (2) TileMax filter (2 pixel width) - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertDefault - #pragma fragment FragTileMax2 - - ENDCG - } - - // (3) TileMax filter (variable width) - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertDefault - #pragma fragment FragTileMaxV - - ENDCG - } - - // (4) NeighborMax filter - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertDefault - #pragma fragment FragNeighborMax - - ENDCG - } - - // (5) Reconstruction filter - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertMultitex - #pragma fragment FragReconstruction - - ENDCG - } - - // (6) Frame compression - Pass - { - CGPROGRAM - - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #include "MotionBlur.cginc" - #pragma vertex VertFrameCompress - #pragma fragment FragFrameCompress - - ENDCG - } - - // (7) Frame blending - Pass - { - CGPROGRAM - - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #include "MotionBlur.cginc" - #pragma vertex VertMultitex - #pragma fragment FragFrameBlending - - ENDCG - } - - // (8) Frame blending (without chroma subsampling) - Pass - { - CGPROGRAM - - #include "MotionBlur.cginc" - #pragma vertex VertMultitex - #pragma fragment FragFrameBlendingRaw - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader.meta deleted file mode 100644 index ad7c35234..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/MotionBlur.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 6ab8493603d8f8e408750b81666a95f1 -timeCreated: 1468327385 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/MotionBlur.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc deleted file mode 100644 index ac7abf29e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc +++ /dev/null @@ -1,238 +0,0 @@ -/** -\author Michael Mara and Morgan McGuire, Casual Effects. 2015. -*/ - -#ifndef __SCREEN_SPACE_RAYTRACE__ -#define __SCREEN_SPACE_RAYTRACE__ - -sampler2D_float _CameraDepthTexture; - -float distanceSquared(float2 A, float2 B) -{ - A -= B; - return dot(A, A); -} - -float distanceSquared(float3 A, float3 B) -{ - A -= B; - return dot(A, A); -} - -void swap(inout float v0, inout float v1) -{ - float temp = v0; - v0 = v1; - v1 = temp; -} - -bool isIntersecting(float rayZMin, float rayZMax, float sceneZ, float layerThickness) -{ - return (rayZMax >= sceneZ - layerThickness) && (rayZMin <= sceneZ); -} - -void rayIterations(in bool traceBehindObjects, inout float2 P, inout float stepDirection, inout float end, inout int stepCount, inout int maxSteps, inout bool intersecting, - inout float sceneZ, inout float2 dP, inout float3 Q, inout float3 dQ, inout float k, inout float dk, - inout float rayZMin, inout float rayZMax, inout float prevZMaxEstimate, inout bool permute, inout float2 hitPixel, - inout float2 invSize, inout float layerThickness) -{ - bool stop = intersecting; - - UNITY_LOOP - for (; (P.x * stepDirection) <= end && stepCount < maxSteps && !stop; P += dP, Q.z += dQ.z, k += dk, stepCount += 1) - { - // The depth range that the ray covers within this loop iteration. - // Assume that the ray is moving in increasing z and swap if backwards. - rayZMin = prevZMaxEstimate; - //rayZMin = (dQ.z * -0.5 + Q.z) / (dk * -0.5 + k); - // Compute the value at 1/2 pixel into the future - rayZMax = (dQ.z * 0.5 + Q.z) / (dk * 0.5 + k); - prevZMaxEstimate = rayZMax; - - if (rayZMin > rayZMax) - { - swap(rayZMin, rayZMax); - } - - // Undo the homogeneous operation to obtain the camera-space - // Q at each point - hitPixel = permute ? P.yx : P; - - sceneZ = tex2Dlod(_CameraDepthTexture, float4(hitPixel * invSize,0,0)).r; - sceneZ = -LinearEyeDepth(sceneZ); - - bool isBehind = (rayZMin <= sceneZ); - intersecting = isBehind && (rayZMax >= sceneZ - layerThickness); - stop = traceBehindObjects ? intersecting : isBehind; - - } // pixel on ray - - P -= dP, Q.z -= dQ.z, k -= dk; -} - -/** - \param csOrigin must have z < -0.01, and project within the valid screen rectangle - \param stepRate Set to 1.0 by default, higher to step faster - */ -bool castDenseScreenSpaceRay - (float3 csOrigin, - float3 csDirection, - float4x4 projectToPixelMatrix, - float2 csZBufferSize, - float3 clipInfo, - float jitterFraction, - int maxSteps, - float layerThickness, - float maxRayTraceDistance, - out float2 hitPixel, - int stepRate, - bool traceBehindObjects, - out float3 csHitPoint, - out float stepCount) { - - float2 invSize = float2(1.0 / csZBufferSize.x, 1.0 / csZBufferSize.y); - - // Initialize to off screen - hitPixel = float2(-1, -1); - - float nearPlaneZ = -0.01; - // Clip ray to a near plane in 3D (doesn't have to be *the* near plane, although that would be a good idea) - float rayLength = ((csOrigin.z + csDirection.z * maxRayTraceDistance) > nearPlaneZ) ? - ((nearPlaneZ - csOrigin.z) / csDirection.z) : - maxRayTraceDistance; - - float3 csEndPoint = csDirection * rayLength + csOrigin; - - // Project into screen space - // This matrix has a lot of zeroes in it. We could expand - // out these multiplies to avoid multiplying by zero - // ...but 16 MADDs are not a big deal compared to what's ahead - float4 H0 = mul(projectToPixelMatrix, float4(csOrigin, 1.0)); - float4 H1 = mul(projectToPixelMatrix, float4(csEndPoint, 1.0)); - - // There are a lot of divisions by w that can be turned into multiplications - // at some minor precision loss...and we need to interpolate these 1/w values - // anyway. - // - // Because the caller was required to clip to the near plane, - // this homogeneous division (projecting from 4D to 2D) is guaranteed - // to succeed. - float k0 = 1.0 / H0.w; - float k1 = 1.0 / H1.w; - - // Screen-space endpoints - float2 P0 = H0.xy * k0; - float2 P1 = H1.xy * k1; - - // Switch the original points to values that interpolate linearly in 2D: - float3 Q0 = csOrigin * k0; - float3 Q1 = csEndPoint * k1; - -#if 1 // Clipping to the screen coordinates. We could simply modify maxSteps instead - float yMax = csZBufferSize.y - 0.5; - float yMin = 0.5; - float xMax = csZBufferSize.x - 0.5; - float xMin = 0.5; - - // 2D interpolation parameter - float alpha = 0.0; - // P0 must be in bounds - if (P1.y > yMax || P1.y < yMin) { - float yClip = (P1.y > yMax) ? yMax : yMin; - float yAlpha = (P1.y - yClip) / (P1.y - P0.y); // Denominator is not zero, since P0 != P1 (or P0 would have been clipped!) - alpha = yAlpha; - } - - // P0 must be in bounds - if (P1.x > xMax || P1.x < xMin) { - float xClip = (P1.x > xMax) ? xMax : xMin; - float xAlpha = (P1.x - xClip) / (P1.x - P0.x); // Denominator is not zero, since P0 != P1 (or P0 would have been clipped!) - alpha = max(alpha, xAlpha); - } - - // These are all in homogeneous space, so they interpolate linearly - P1 = lerp(P1, P0, alpha); - k1 = lerp(k1, k0, alpha); - Q1 = lerp(Q1, Q0, alpha); -#endif - - // We're doing this to avoid divide by zero (rays exactly parallel to an eye ray) - P1 = (distanceSquared(P0, P1) < 0.0001) ? P0 + float2(0.01, 0.01) : P1; - - float2 delta = P1 - P0; - - // Assume horizontal - bool permute = false; - if (abs(delta.x) < abs(delta.y)) { - // More-vertical line. Create a permutation that swaps x and y in the output - permute = true; - - // Directly swizzle the inputs - delta = delta.yx; - P1 = P1.yx; - P0 = P0.yx; - } - - // From now on, "x" is the primary iteration direction and "y" is the secondary one - - float stepDirection = sign(delta.x); - float invdx = stepDirection / delta.x; - float2 dP = float2(stepDirection, invdx * delta.y); - - // Track the derivatives of Q and k - float3 dQ = (Q1 - Q0) * invdx; - float dk = (k1 - k0) * invdx; - - dP *= stepRate; - dQ *= stepRate; - dk *= stepRate; - - P0 += dP * jitterFraction; - Q0 += dQ * jitterFraction; - k0 += dk * jitterFraction; - - // Slide P from P0 to P1, (now-homogeneous) Q from Q0 to Q1, and k from k0 to k1 - float3 Q = Q0; - float k = k0; - - // We track the ray depth at +/- 1/2 pixel to treat pixels as clip-space solid - // voxels. Because the depth at -1/2 for a given pixel will be the same as at - // +1/2 for the previous iteration, we actually only have to compute one value - // per iteration. - float prevZMaxEstimate = csOrigin.z; - stepCount = 0.0; - float rayZMax = prevZMaxEstimate, rayZMin = prevZMaxEstimate; - float sceneZ = 100000; - - // P1.x is never modified after this point, so pre-scale it by - // the step direction for a signed comparison - float end = P1.x * stepDirection; - - bool intersecting = isIntersecting(rayZMin, rayZMax, sceneZ, layerThickness); - // We only advance the z field of Q in the inner loop, since - // Q.xy is never used until after the loop terminates - - //int rayIterations = min(maxSteps, stepsToGetOffscreen); - - - float2 P = P0; - - int originalStepCount = 0; - rayIterations(traceBehindObjects, P, stepDirection, end, originalStepCount, maxSteps, intersecting, - sceneZ, dP, Q, dQ, k, dk, - rayZMin, rayZMax, prevZMaxEstimate, permute, hitPixel, - invSize, layerThickness); - - - stepCount = originalStepCount; - - // Loop only advanced the Z component. Now that we know where we are going - // update xy - Q.xy += dQ.xy * stepCount; - // Q is a vector, so we are trying to get by with 1 division instead of 3. - csHitPoint = Q * (1.0 / k); - - return intersecting; -} - -#endif // __SCREEN_SPACE_RAYTRACE__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc.meta deleted file mode 100644 index 7b87b184a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: a92d6fdbe2c35f94190497c18b88f9af -timeCreated: 1464350148 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader deleted file mode 100644 index f6b3b4f42..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader +++ /dev/null @@ -1,929 +0,0 @@ -/** -\author Michael Mara and Morgan McGuire, Casual Effects. 2015. -*/ -Shader "Hidden/Post FX/Screen Space Reflection" -{ - Properties - { - _MainTex ("Base (RGB)", 2D) = "white" {} - } - - CGINCLUDE - - #pragma target 3.0 - #include "UnityCG.cginc" - #include "UnityPBSLighting.cginc" - #include "UnityStandardBRDF.cginc" - #include "UnityStandardUtils.cginc" - #include "Common.cginc" - #include "ScreenSpaceRaytrace.cginc" - - float4 _ProjInfo; - float4x4 _WorldToCameraMatrix; - float4x4 _CameraToWorldMatrix; - float4x4 _ProjectToPixelMatrix; - float2 _ScreenSize; - float2 _ReflectionBufferSize; - float2 _InvScreenSize; - float3 _CameraClipInfo; - - sampler2D _CameraGBufferTexture0; - sampler2D _CameraGBufferTexture1; - sampler2D _CameraGBufferTexture2; - sampler2D _CameraGBufferTexture3; - sampler2D _CameraReflectionsTexture; - - float _CurrentMipLevel; - float _RayStepSize; - float _MaxRayTraceDistance; - float _LayerThickness; - float _FresnelFade; - float _FresnelFadePower; - float _ReflectionBlur; - - - int _HalfResolution; - int _TreatBackfaceHitAsMiss; - int _AllowBackwardsRays; - - - // RG: SS Hitpoint of ray - // B: distance ray travelled, used for mip-selection in the final resolve - // A: confidence value - sampler2D _HitPointTexture; - sampler2D _FinalReflectionTexture; - - // RGB: camera-space normal (encoded in [0-1]) - // A: Roughness - sampler2D _NormalAndRoughnessTexture; - - int _EnableRefine; - int _AdditiveReflection; - - float _ScreenEdgeFading; - - int _MaxSteps; - - int _BilateralUpsampling; - - float _MaxRoughness; - float _RoughnessFalloffRange; - float _SSRMultiplier; - - float _FadeDistance; - - int _TraceBehindObjects; - int _UseEdgeDetector; - int _HighlightSuppression; - - /** The height in pixels of a 1m object if viewed from 1m away. */ - float _PixelsPerMeterAtOneMeter; - - // For temporal filtering: - float4x4 _CurrentCameraToPreviousCamera; - sampler2D _PreviousReflectionTexture; - sampler2D _PreviousCSZBuffer; - float _TemporalAlpha; - int _UseTemporalConfidence; - - struct v2f - { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float2 uv2 : TEXCOORD1; - }; - - v2f vert( appdata_img v ) - { - v2f o; - - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.texcoord.xy; - o.uv2 = v.texcoord.xy; - - #if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0) - o.uv2.y = 1.0 - o.uv2.y; - #endif - - return o; - } - - float2 mipToSize(int mip) - { - return floor(_ReflectionBufferSize * exp2(-mip)); - } - - float3 ReconstructCSPosition(float2 S, float z) - { - float linEyeZ = -LinearEyeDepth(z); - return float3((((S.xy * _MainTex_TexelSize.zw)) * _ProjInfo.xy + _ProjInfo.zw) * linEyeZ, linEyeZ); - } - - /** Read the camera-space position of the point at screen-space pixel ssP */ - float3 GetPosition(float2 ssP) - { - float3 P; - - P.z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, ssP.xy); - - // Offset to pixel center - P = ReconstructCSPosition(float2(ssP) /*+ float2(0.5, 0.5)*/, P.z); - return P; - } - - float applyEdgeFade(float2 tsP, float fadeStrength) - { - float maxFade = 0.1; - - float2 itsP = float2(1.0, 1.0) - tsP; - float dist = min(min(itsP.x, itsP.y), min(tsP.x, tsP.x)); - float fade = dist / (maxFade*fadeStrength + 0.001); - fade = max(min(fade, 1.0), 0.0); - fade = pow(fade, 0.2); - - return fade; - } - - float3 csMirrorVector(float3 csPosition, float3 csN) - { - float3 csE = -normalize(csPosition.xyz); - float cos_o = dot(csN, csE); - float3 c_mi = normalize((csN * (2.0 * cos_o)) - csE); - - return c_mi; - } - - float4 fragRaytrace(v2f i, int stepRate) - { - float2 ssP = i.uv2.xy; - float3 csPosition = GetPosition(ssP); - - float smoothness = tex2D(_CameraGBufferTexture1, ssP).a; - if (csPosition.z < -100.0 || smoothness == 0.0) - { - return float4(0.0,0.0,0.0,0.0); - } - - float3 wsNormal = tex2D(_CameraGBufferTexture2, ssP).rgb * 2.0 - 1.0; - - int2 ssC = int2(ssP * _ScreenSize); - - float3 csN = mul((float3x3)(_WorldToCameraMatrix), wsNormal); - float3 csRayDirection = csMirrorVector(csPosition, csN); - - if (_AllowBackwardsRays == 0 && csRayDirection.z > 0.0) - { - return float4(0.0, 0.0, 0.0, 0.0); - } - - float maxRayTraceDistance = _MaxRayTraceDistance; - float jitterFraction = 0.0f; - float layerThickness = _LayerThickness; - - int maxSteps = _MaxSteps; - - // Bump the ray more in world space as it gets farther away (and so each pixel covers more WS distance) - float rayBump = max(-0.01*csPosition.z, 0.001); - float2 hitPixel; - float3 csHitPoint; - float stepCount; - - bool wasHit = castDenseScreenSpaceRay - (csPosition + (csN) * rayBump, - csRayDirection, - _ProjectToPixelMatrix, - _ScreenSize, - _CameraClipInfo, - jitterFraction, - maxSteps, - layerThickness, - maxRayTraceDistance, - hitPixel, - stepRate, - _TraceBehindObjects == 1, - csHitPoint, - stepCount); - - float2 tsPResult = hitPixel / _ScreenSize; - - float rayDist = dot(csHitPoint - csPosition, csRayDirection); - float confidence = 0.0; - - if (wasHit) - { - confidence = Pow2(1.0 - max(2.0*float(stepCount) / float(maxSteps) - 1.0, 0.0)); - confidence *= clamp(((_MaxRayTraceDistance - rayDist) / _FadeDistance), 0.0, 1.0); - - // Fake fresnel fade - float3 csE = -normalize(csPosition.xyz); - confidence *= max(0.0, lerp(pow(abs(dot(csRayDirection, -csE)), _FresnelFadePower), 1, 1.0 - _FresnelFade)); - - if (_TreatBackfaceHitAsMiss > 0) - { - float3 wsHitNormal = tex2Dlod(_CameraGBufferTexture2, float4(tsPResult, 0, 0)).rgb * 2.0 - 1.0; - float3 wsRayDirection = mul(_CameraToWorldMatrix, float4(csRayDirection, 0)).xyz; - - if (dot(wsHitNormal, wsRayDirection) > 0) - { - confidence = 0.0; - } - } - } - - // Fade out reflections that hit near edge of screen, to prevent abrupt appearance/disappearance when object go off screen - // Fade out reflections that hit near edge of screen, - // to prevent abrupt appearance/disappearance when object go off screen - float vignette = applyEdgeFade(tsPResult, _ScreenEdgeFading); - confidence *= vignette; - confidence *= vignette; - - return float4(tsPResult, rayDist, confidence); - } - - float4 fragComposite(v2f i) : SV_Target - { - // Pixel being shaded - float2 tsP = i.uv2.xy; - - // View space point being shaded - float3 C = GetPosition(tsP); - - // Final image before this pass - float4 gbuffer3 = tex2D(_MainTex, i.uv); - - float4 specEmission = float4(0.0,0.0,0.0,0.0); - float3 specColor = tex2D(_CameraGBufferTexture1, tsP).rgb; - - float roughness = tex2D(_CameraGBufferTexture1, tsP).a; - - float4 reflectionTexel = tex2D(_FinalReflectionTexture, tsP); - - float4 gbuffer0 = tex2D(_CameraGBufferTexture0, tsP); - // Let core Unity functions do the dirty work of applying the BRDF - float3 baseColor = gbuffer0.rgb; - float occlusion = gbuffer0.a; - float oneMinusReflectivity; - baseColor = EnergyConservationBetweenDiffuseAndSpecular(baseColor, specColor, oneMinusReflectivity); - - float3 wsNormal = tex2D(_CameraGBufferTexture2, tsP).rgb * 2.0 - 1.0; - - float3 csEyeVec = normalize(C); - float3 eyeVec = mul(_CameraToWorldMatrix, float4(csEyeVec, 0)).xyz; - - float3 worldPos = mul(_CameraToWorldMatrix, float4(C, 1)).xyz; - - float cos_o = dot(wsNormal, eyeVec); - float3 w_mi = -normalize((wsNormal * (2.0 * cos_o)) - eyeVec); - - float3 incomingRadiance = reflectionTexel.rgb; - - UnityLight light; - light.color = 0; - light.dir = 0; - #if UNITY_VERSION < 550 - light.ndotl = 0; - #endif - - UnityIndirect ind; - ind.diffuse = 0; - ind.specular = incomingRadiance; - - float3 ssrResult = UNITY_BRDF_PBS (0, specColor, oneMinusReflectivity, roughness, wsNormal, -eyeVec, light, ind).rgb * _SSRMultiplier; - float confidence = reflectionTexel.a; - - specEmission.rgb = tex2D(_CameraReflectionsTexture, tsP).rgb; - float3 finalGlossyTerm; - - // Subtract out Unity's glossy result: (we're just applying the delta) - if (_AdditiveReflection == 0) - { - gbuffer3 -= specEmission; - // We may have blown out our dynamic range by adding then subtracting the reflection probes. - // As a half-measure to fix this, simply clamp to zero - gbuffer3 = max(gbuffer3, 0); - finalGlossyTerm = lerp(specEmission.rgb, ssrResult, saturate(confidence)); - } - else - { - finalGlossyTerm = ssrResult*saturate(confidence); - } - - finalGlossyTerm *= occlusion; - - // Additively blend the glossy GI result with the output buffer - return gbuffer3 + float4(finalGlossyTerm, 0); - } - - float roughnessWeight(float midpointRoughness, float tapRoughness) - { - return (1.0 - sqrt(sqrt(abs(midpointRoughness-tapRoughness)))); - } - - float normalWeight(float3 midpointNormal, float3 tapNormal) - { - return clamp(dot(midpointNormal, tapNormal), 0, 1); - } - - float highlightDecompression(float x) - { - return x / (1.0 - x); - } - - float3 highlightDecompression(float3 x) - { - return float3( - highlightDecompression(x.x), - highlightDecompression(x.y), - highlightDecompression(x.z) - ); - } - - float highlightCompression(float x) - { - return x / (1.0 + x); - } - - float3 highlightCompression(float3 x) - { - return float3( - highlightCompression(x.x), - highlightCompression(x.y), - highlightCompression(x.z) - ); - } - - float4 _Axis; - float4 fragGBlur(v2f i) : SV_Target - { - int radius = 4; - - // Pixel being shaded - float2 tsP = i.uv2.xy; - - float weightSum = 0.0; - float gaussWeights[5] = { 0.225, 0.150, 0.110, 0.075, 0.0525 };//{0.225, 0.150, 0.110, 0.075, 0.0525}; - float4 resultSum = float4(0.0, 0.0, 0.0, 0.0); - float4 unweightedResultSum = float4(0.0, 0.0, 0.0, 0.0); - float4 nAndRough = tex2D(_NormalAndRoughnessTexture, tsP); - float midpointRoughness = nAndRough.a; - float3 midpointNormal = nAndRough.rgb * 2 - 1; - - for (int i = -radius; i <= radius; ++i) - { - float4 temp; - float tapRoughness; - float3 tapNormal; - float2 tsTap = tsP + (_Axis.xy * _MainTex_TexelSize.xy * float2(i,i)*2.0); - - temp = tex2D(_MainTex, tsTap); - - float weight = temp.a * gaussWeights[abs(i)]; - // Bilateral filtering - // if (_ImproveCorners) - // { - nAndRough = tex2D(_NormalAndRoughnessTexture, tsTap); - tapRoughness = nAndRough.a; - tapNormal = nAndRough.rgb * 2 - 1; - weight *= normalWeight(midpointNormal, tapNormal); - // } - - weightSum += weight; - - if (_HighlightSuppression) - { - temp.rgb = highlightCompression(temp.rgb); - } - - unweightedResultSum += temp; - resultSum += temp*weight; - } - - if (weightSum > 0.01) - { - float invWeightSum = (1.0/weightSum); - // Adding the sqrt seems to decrease temporal flickering at the expense - // of having larger "halos" of fallback on rough surfaces - // Subject to change with testing. Sqrt around only half the expression is *intentional*. - float confidence = min(resultSum.a * sqrt(max(invWeightSum, 2.0)), 1.0); - float3 finalColor = resultSum.rgb * invWeightSum; - - if (_HighlightSuppression) - { - finalColor = highlightDecompression(finalColor); - } - - return float4(finalColor, confidence); - } - else - { - float3 finalColor = unweightedResultSum.rgb / (2 * radius + 1); - - if (_HighlightSuppression) - { - finalColor = highlightDecompression(finalColor); - } - - return float4(finalColor, 0.0); - } - } - - sampler2D _ReflectionTexture0; - sampler2D _ReflectionTexture1; - sampler2D _ReflectionTexture2; - sampler2D _ReflectionTexture3; - sampler2D _ReflectionTexture4; - - // Simulate mip maps, since we don't have NPOT mip-chains - float4 getReflectionValue(float2 tsP, int mip) - { - float4 coord = float4(tsP,0,0); - if (mip == 0) - { - return tex2Dlod(_ReflectionTexture0, coord); - } - else if (mip == 1) - { - return tex2Dlod(_ReflectionTexture1, coord); - } - else if (mip == 2) - { - return tex2Dlod(_ReflectionTexture2, coord); - } - else if (mip == 3) - { - return tex2Dlod(_ReflectionTexture3, coord); - } - else - { - return tex2Dlod(_ReflectionTexture4, coord); - } - } - - sampler2D _EdgeTexture0; - sampler2D _EdgeTexture1; - sampler2D _EdgeTexture2; - sampler2D _EdgeTexture3; - sampler2D _EdgeTexture4; - - // Simulate mip maps, since we don't have NPOT mip-chains - float4 getEdgeValue(float2 tsP, int mip) - { - float4 coord = float4(tsP + float2(1.0/(2 * mipToSize(mip))),0,0); - - if (mip == 0) - { - return tex2Dlod(_EdgeTexture0, coord); - } - else if (mip == 1) - { - return tex2Dlod(_EdgeTexture1, coord); - } - else if (mip == 2) - { - return tex2Dlod(_EdgeTexture2, coord); - } - else if (mip == 3) - { - return tex2Dlod(_EdgeTexture3, coord); - } - else - { - return tex2Dlod(_EdgeTexture4, coord); - } - } - - float2 centerPixel(float2 inputP) - { - return floor(inputP - float2(0.5,0.5)) + float2(0.5,0.5); - } - - float2 snapToTexelCenter(float2 inputP, float2 texSize, float2 texSizeInv) - { - return centerPixel(inputP * texSize) * texSizeInv; - } - - float4 bilateralUpsampleReflection(float2 tsP, int mip) - { - float2 smallTexSize = mipToSize(mip); - float2 smallPixelPos = tsP * smallTexSize; - float2 smallPixelPosi = centerPixel(smallPixelPos); - float2 smallTexSizeInv = 1.0 / smallTexSize; - - - float2 p0 = smallPixelPosi * smallTexSizeInv; - float2 p3 = (smallPixelPosi + float2(1.0, 1.0)) * smallTexSizeInv; - float2 p1 = float2(p3.x, p0.y); - float2 p2 = float2(p0.x, p3.y); - - float4 V0 = getReflectionValue(p0.xy, mip); - float4 V1 = getReflectionValue(p1.xy, mip); - float4 V2 = getReflectionValue(p2.xy, mip); - float4 V3 = getReflectionValue(p3.xy, mip); - - // Bilateral weights: - // Bilinear interpolation (filter distance) - float2 smallPixelPosf = smallPixelPos - smallPixelPosi; - float a0 = (1.0 - smallPixelPosf.x) * (1.0 - smallPixelPosf.y); - float a1 = smallPixelPosf.x * (1.0 - smallPixelPosf.y); - float a2 = (1.0 - smallPixelPosf.x) * smallPixelPosf.y; - float a3 = smallPixelPosf.x * smallPixelPosf.y; - - float2 fullTexSize = _ReflectionBufferSize; - float2 fullTexSizeInv = 1.0 / fullTexSize; - - float4 hiP0 = float4(snapToTexelCenter(p0, fullTexSize, fullTexSizeInv), 0,0); - float4 hiP3 = float4(snapToTexelCenter(p3, fullTexSize, fullTexSizeInv), 0,0); - float4 hiP1 = float4(snapToTexelCenter(p1, fullTexSize, fullTexSizeInv), 0,0); - float4 hiP2 = float4(snapToTexelCenter(p2, fullTexSize, fullTexSizeInv), 0,0); - - float4 tempCenter = tex2Dlod(_NormalAndRoughnessTexture, float4(tsP, 0, 0)); - float3 n = tempCenter.xyz * 2 - 1; - - float4 temp0 = tex2Dlod(_NormalAndRoughnessTexture, hiP0); - float4 temp1 = tex2Dlod(_NormalAndRoughnessTexture, hiP1); - float4 temp2 = tex2Dlod(_NormalAndRoughnessTexture, hiP2); - float4 temp3 = tex2Dlod(_NormalAndRoughnessTexture, hiP3); - - float3 n0 = temp0.xyz * 2 - 1; - float3 n1 = temp1.xyz * 2 - 1; - float3 n2 = temp2.xyz * 2 - 1; - float3 n3 = temp3.xyz * 2 - 1; - - a0 *= normalWeight(n, n0); - a1 *= normalWeight(n, n1); - a2 *= normalWeight(n, n2); - a3 *= normalWeight(n, n3); - - float r = tempCenter.a; - float r0 = temp0.a; - float r1 = temp1.a; - float r2 = temp2.a; - float r3 = temp3.a; - - a0 *= roughnessWeight(r, r0); - a1 *= roughnessWeight(r, r1); - a2 *= roughnessWeight(r, r2); - a3 *= roughnessWeight(r, r3); - - // Slightly offset from zero - a0 = max(a0, 0.001); - a1 = max(a1, 0.001); - a2 = max(a2, 0.001); - a3 = max(a3, 0.001); - - // Nearest neighbor - // a0 = a1 = a2 = a3 = 1.0; - - // Normalize the blending weights (weights were chosen so that - // the denominator can never be zero) - float norm = 1.0 / (a0 + a1 + a2 + a3); - - // Blend - float4 value = (V0 * a0 + V1 * a1 + V2 * a2 + V3 * a3) * norm; - //return V0; - return value; - } - - /** Explicit bilinear fetches; must be used if the reflection buffer is bound using point sampling */ - float4 bilinearUpsampleReflection(float2 tsP, int mip) - { - float2 smallTexSize = mipToSize(mip); - float2 smallPixelPos = tsP * smallTexSize; - float2 smallPixelPosi = centerPixel(smallPixelPos); - float2 smallTexSizeInv = 1.0 / smallTexSize; - - - float2 p0 = smallPixelPosi * smallTexSizeInv; - float2 p3 = (smallPixelPosi + float2(1.0, 1.0)) * smallTexSizeInv; - float2 p1 = float2(p3.x, p0.y); - float2 p2 = float2(p0.x, p3.y); - - float4 V0 = getReflectionValue(p0.xy, mip); - float4 V1 = getReflectionValue(p1.xy, mip); - float4 V2 = getReflectionValue(p2.xy, mip); - float4 V3 = getReflectionValue(p3.xy, mip); - - float a0 = 1.0; - float a1 = 1.0; - float a2 = 1.0; - float a3 = 1.0; - - // Bilateral weights: - // Bilinear interpolation (filter distance) - float2 smallPixelPosf = smallPixelPos - smallPixelPosi; - a0 = (1.0 - smallPixelPosf.x) * (1.0 - smallPixelPosf.y); - a1 = smallPixelPosf.x * (1.0 - smallPixelPosf.y); - a2 = (1.0 - smallPixelPosf.x) * smallPixelPosf.y; - a3 = smallPixelPosf.x * smallPixelPosf.y; - - // Blend - float4 value = (V0 * a0 + V1 * a1 + V2 * a2 + V3 * a3); - return value; - } - - // Unity's roughness is GGX roughness squared - float roughnessToBlinnPhongExponent(float roughness) - { - float r2 = roughness*roughness; - return 2.0f / r2*r2 - 2.0f; - } - - float glossyLobeSlope(float roughness) - { - return pow(roughness, 4.0/3.0); - } - - // Empirically based on our filter: - // Mip | Pixels - // -------------- - // 0 | 1 no filter, so single pixel - // 1 | 17 2r + 1 filter applied once, grabbing from pixels r away in either direction (r=8, four samples times stride of 2) - // 2 | 50 2r + 1 filter applied on double size pixels, and each of those pixels had reached another r out to the side 2(2r + 1) + m_1 - // 3 | 118 4(2r + 1) + m_2 - // 4 | 254 8(2r + 1) + m_3 - // - // Approximated by pixels = 16*2^mip-15 - // rearranging we get mip = log_2((pixels + 15) / 16) - // - float filterFootprintInPixelsToMip(float footprint) - { - return log2((footprint + 15) / 16); - } - - float3 ansiGradient(float t) - { - //return float3(t, t, t); - return fmod(floor(t * float3(8.0, 4.0, 2.0)), 2.0); - } - - float4 fragCompositeSSR(v2f i) : SV_Target - { - // Pixel being shaded - float2 tsP = i.uv2.xy; - - float roughness = 1.0-tex2D(_CameraGBufferTexture1, tsP).a; - - float rayDistance = tex2D(_HitPointTexture, tsP).z; - - // Get the camera space position of the reflection hit - float3 csPosition = GetPosition(tsP); - float3 wsNormal = tex2D(_CameraGBufferTexture2, tsP).rgb * 2.0 - 1.0; - float3 csN = mul((float3x3)(_WorldToCameraMatrix), wsNormal); - float3 c_mi = csMirrorVector(csPosition, csN); - float3 csHitpoint = c_mi * rayDistance + csPosition; - - - float gatherFootprintInMeters = glossyLobeSlope(roughness) * rayDistance; - // We could add a term that incorporates the normal - // This approximation assumes reflections happen at a glancing angle - float filterFootprintInPixels = gatherFootprintInMeters * _PixelsPerMeterAtOneMeter / csHitpoint.z; - if (_HalfResolution == 1) - { - filterFootprintInPixels *= 0.5; - } - - float mip = filterFootprintInPixelsToMip(filterFootprintInPixels); - - float nonPhysicalMip = pow(roughness, 3.0 / 4.0) * UNITY_SPECCUBE_LOD_STEPS; - - if (_HalfResolution == 1) - { - nonPhysicalMip = nonPhysicalMip * 0.7; - } - - mip = max(0, min(4, mip)); - - float4 result = 0.; - - { - int mipMin = int(mip); - int mipMax = min(mipMin + 1, 4); - float mipLerp = mip-mipMin; - - if (_BilateralUpsampling == 1) - { - result = lerp(bilateralUpsampleReflection(tsP, mipMin), bilateralUpsampleReflection(tsP, mipMax), mipLerp); - } - else - { - float4 minResult = getReflectionValue(tsP, mipMin); - float4 maxResult = getReflectionValue(tsP, mipMax); - result = lerp(minResult, maxResult, mipLerp); - result.a = min(minResult.a, maxResult.a); - } - } - - result.a = min(result.a, 1.0); - float vignette = applyEdgeFade(tsP, _ScreenEdgeFading); - result.a *= vignette; - - - // THIS MIGHT BE SLIGHTLY WRONG, TRY STEP() - float alphaModifier = 1.0 - clamp(roughness * .3, 0., 1.); - result.a *= alphaModifier; - return result; - } - - int _LastMip; - - float4 fragMin(v2f i) : SV_Target - { - float2 tsP = i.uv2.xy; - float2 lastTexSize = mipToSize(_LastMip); - float2 lastTexSizeInv = 1.0 / lastTexSize; - float2 p00 = snapToTexelCenter(tsP, lastTexSize, lastTexSizeInv); - float2 p11 = p00 + lastTexSizeInv; - - return min( - min(tex2D(_MainTex, p00), tex2D(_MainTex, p11)), - min(tex2D(_MainTex, float2(p00.x, p11.y)), tex2D(_MainTex, float2(p11.x, p00.y))) - ); - } - - float4 fragResolveHitPoints(v2f i) : SV_Target - { - float2 tsP = i.uv2.xy; - float4 temp = tex2D(_HitPointTexture, tsP); - float2 hitPoint = temp.xy; - float confidence = temp.w; - float3 colorResult = confidence > 0.0 ? tex2D(_MainTex, hitPoint).rgb : tex2D(_CameraReflectionsTexture, tsP).rgb; - - if (any(isnan(colorResult))) - colorResult = float3(0.0, 0.0, 0.0); - - // As of 11/29/2015, on Unity 5.3 on a Windows 8.1 computer with a NVIDIA GeForce 980, - // with driver 347.62, the above check does not actually work to get rid of NaNs! - // So we add this "redundant" check. - if (!all(isfinite(colorResult))) - colorResult = float3(0.0, 0.0, 0.0); - - return float4(colorResult, confidence); - } - - float4 fragBilatKeyPack(v2f i) : SV_Target - { - float2 tsP = i.uv2.xy; - float3 csN = tex2D(_CameraGBufferTexture2, tsP).xyz; - float roughness = tex2D(_CameraGBufferTexture1, tsP).a; - return float4(csN, roughness); - } - - float4 fragDepthToCSZ(v2f i) : SV_Target - { - float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv2.xy); - return float4(-LinearEyeDepth(depth), 0.0, 0.0, 0.0); - } - - static const int NUM_POISSON_TAPS = 12; - // Same as used in CameraMotionBlur.shader - static const float2 poissonSamples[NUM_POISSON_TAPS] = - { - float2(-0.326212,-0.40581), - float2(-0.840144,-0.07358), - float2(-0.695914,0.457137), - float2(-0.203345,0.620716), - float2(0.96234,-0.194983), - float2(0.473434,-0.480026), - float2(0.519456,0.767022), - float2(0.185461,-0.893124), - float2(0.507431,0.064425), - float2(0.89642,0.412458), - float2(-0.32194,-0.932615), - float2(-0.791559,-0.59771) - }; - - float4 fragFilterSharpReflections(v2f i) : SV_Target - { - // Could improve perf by not computing blur when we won't be sampling the highest level anyways - float2 tsP = i.uv2.xy; - float4 sum = 0.0; - float sampleRadius = _MainTex_TexelSize.xy * _ReflectionBlur; - - for (int i = 0; i < NUM_POISSON_TAPS; i++) - { - float2 p = tsP + poissonSamples[i] * sampleRadius; - - float4 tap = tex2D(_MainTex, p); - if (_HighlightSuppression) - { - tap.rgb = highlightCompression(tap.rgb); - } - - sum += tap; - } - - float4 result = sum / float(NUM_POISSON_TAPS); - - if (_HighlightSuppression) - { - result.rgb = highlightDecompression(result.rgb); - } - - return result; - } - - ENDCG - - SubShader - { - ZTest Always Cull Off ZWrite Off - - // 0: Raytrace - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragRaytrace1 - - float4 fragRaytrace1(v2f i) : SV_Target - { - return fragRaytrace(i, _RayStepSize); - } - ENDCG - } - - // 1: Composite - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragComposite - ENDCG - } - - // 2: GBlur - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragGBlur - ENDCG - } - - // 3: CompositeSSR - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragCompositeSSR - ENDCG - } - - // 4: Min mip generation - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragMin - ENDCG - } - - // 5: Hit point texture to reflection buffer - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragResolveHitPoints - ENDCG - } - - // 6: Pack Bilateral Filter Keys in single buffer - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragBilatKeyPack - ENDCG - } - - // 7: Blit depth information as camera space Z - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragDepthToCSZ - ENDCG - } - - // 8: Filter the highest quality reflection buffer - Pass - { - CGPROGRAM - #pragma exclude_renderers gles xbox360 ps3 - #pragma vertex vert - #pragma fragment fragFilterSharpReflections - ENDCG - } - } - - Fallback "Diffuse" -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader.meta deleted file mode 100644 index 54c35368c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 607a5643efb168f429e438f7d6ad270a -timeCreated: 1464350149 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc deleted file mode 100644 index 041f8ed57..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc +++ /dev/null @@ -1,206 +0,0 @@ -#ifndef __TAA__ -#define __TAA__ - -#pragma only_renderers ps4 xboxone d3d11 d3d9 xbox360 opengl glcore -#pragma exclude_renderers gles - -#include "UnityCG.cginc" -#include "Common.cginc" - -// ----------------------------------------------------------------------------- -// Solver - -#define TAA_USE_STABLE_BUT_GHOSTY_VARIANT 0 - -#if !defined(TAA_DILATE_MOTION_VECTOR_SAMPLE) - #define TAA_DILATE_MOTION_VECTOR_SAMPLE 1 -#endif - -#define TAA_FRAGMENT_MOTION_HISTORY_DECAY 0.85 - -#define TAA_FINAL_BLEND_STATIC_FACTOR _FinalBlendParameters.x -#define TAA_FINAL_BLEND_DYNAMIC_FACTOR _FinalBlendParameters.y -#define TAA_MOTION_AMPLIFICATION _FinalBlendParameters.z - -struct VaryingsSolver -{ - float4 vertex : SV_POSITION; - float4 uv : TEXCOORD0; // [xy: _MainTex.uv, zw: _HistoryTex.uv] -}; - -struct OutputSolver -{ - float4 destination : SV_Target0; - float4 history : SV_Target1; -}; - -sampler2D _HistoryTex; - -sampler2D _CameraMotionVectorsTexture; -sampler2D _CameraDepthTexture; - -float4 _HistoryTex_TexelSize; -float4 _CameraDepthTexture_TexelSize; - -float2 _Jitter; -float4 _SharpenParameters; -float4 _FinalBlendParameters; - -VaryingsSolver VertSolver(AttributesDefault input) -{ - VaryingsSolver output; - - float4 vertex = UnityObjectToClipPos(input.vertex); - - output.vertex = vertex; - output.uv = input.texcoord.xyxy; - -#if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0) - output.uv.y = 1.0 - input.texcoord.y; -#endif - - return output; -} - -float2 GetClosestFragment(float2 uv) -{ - const float2 k = _CameraDepthTexture_TexelSize.xy; - const float4 neighborhood = float4( - SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv - k), - SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv + float2(k.x, -k.y)), - SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv + float2(-k.x, k.y)), - SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv + k) - ); - -#if defined(UNITY_REVERSED_Z) - #define COMPARE_DEPTH(a, b) step(b, a) -#else - #define COMPARE_DEPTH(a, b) step(a, b) -#endif - - float3 result = float3(0.0, 0.0, SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv)); - result = lerp(result, float3(-1.0, -1.0, neighborhood.x), COMPARE_DEPTH(neighborhood.x, result.z)); - result = lerp(result, float3( 1.0, -1.0, neighborhood.y), COMPARE_DEPTH(neighborhood.y, result.z)); - result = lerp(result, float3(-1.0, 1.0, neighborhood.z), COMPARE_DEPTH(neighborhood.z, result.z)); - result = lerp(result, float3( 1.0, 1.0, neighborhood.w), COMPARE_DEPTH(neighborhood.w, result.z)); - - return (uv + result.xy * k); -} - -// Adapted from Playdead's TAA implementation -// https://github.com/playdeadgames/temporal -float4 ClipToAABB(float4 color, float p, float3 minimum, float3 maximum) -{ - // note: only clips towards aabb center (but fast!) - float3 center = 0.5 * (maximum + minimum); - float3 extents = 0.5 * (maximum - minimum); - - // This is actually `distance`, however the keyword is reserved - float4 offset = color - float4(center, p); - float3 repeat = abs(offset.xyz / extents); - - repeat.x = max(repeat.x, max(repeat.y, repeat.z)); - - if (repeat.x > 1.0) - { - // `color` is not intersecting (nor inside) the AABB; it's clipped to the closest extent - return float4(center, p) + offset / repeat.x; - } - else - { - // `color` is intersecting (or inside) the AABB. - - // Note: for whatever reason moving this return statement from this else into a higher - // scope makes the NVIDIA drivers go beyond bonkers - return color; - } -} - -OutputSolver FragSolver(VaryingsSolver input) -{ -#if TAA_DILATE_MOTION_VECTOR_SAMPLE - float2 motion = tex2D(_CameraMotionVectorsTexture, GetClosestFragment(input.uv.zw)).xy; -#else - // Don't dilate in ortho ! - float2 motion = tex2D(_CameraMotionVectorsTexture, input.uv.zw).xy; -#endif - - const float2 k = _MainTex_TexelSize.xy; - float2 uv = input.uv.xy; - -#if UNITY_UV_STARTS_AT_TOP - uv -= _MainTex_TexelSize.y < 0 ? _Jitter * float2(1.0, -1.0) : _Jitter; -#else - uv -= _Jitter; -#endif - - float4 color = tex2D(_MainTex, uv); - - float4 topLeft = tex2D(_MainTex, uv - k * 0.5); - float4 bottomRight = tex2D(_MainTex, uv + k * 0.5); - - float4 corners = 4.0 * (topLeft + bottomRight) - 2.0 * color; - - // Sharpen output - color += (color - (corners * 0.166667)) * 2.718282 * _SharpenParameters.x; - color = max(0.0, color); - - // Tonemap color and history samples - float4 average = FastToneMap((corners + color) * 0.142857); - - topLeft = FastToneMap(topLeft); - bottomRight = FastToneMap(bottomRight); - - color = FastToneMap(color); - - float4 history = tex2D(_HistoryTex, input.uv.zw - motion); - -// Only use this variant for arch viz or scenes that don't have any animated objects (camera animation is fine) -#if TAA_USE_STABLE_BUT_GHOSTY_VARIANT - float4 luma = float4(Luminance(topLeft.rgb), Luminance(bottomRight.rgb), Luminance(average.rgb), Luminance(color.rgb)); - float nudge = lerp(6.28318530718, 0.5, saturate(2.0 * history.a)) * max(abs(luma.z - luma.w), abs(luma.x - luma.y)); - - float4 minimum = lerp(bottomRight, topLeft, step(luma.x, luma.y)) - nudge; - float4 maximum = lerp(topLeft, bottomRight, step(luma.x, luma.y)) + nudge; -#else - float2 luma = float2(Luminance(average.rgb), Luminance(color.rgb)); - float nudge = 4.0 * abs(luma.x - luma.y); - - float4 minimum = min(bottomRight, topLeft) - nudge; - float4 maximum = max(topLeft, bottomRight) + nudge; -#endif - - history = FastToneMap(history); - - // Clip history samples - history = ClipToAABB(history, history.a, minimum.xyz, maximum.xyz); - - // Store fragment motion history - color.a = saturate(smoothstep(0.002 * _MainTex_TexelSize.z, 0.0035 * _MainTex_TexelSize.z, length(motion))); - - // Blend method - float weight = clamp(lerp(TAA_FINAL_BLEND_STATIC_FACTOR, TAA_FINAL_BLEND_DYNAMIC_FACTOR, - length(motion) * TAA_MOTION_AMPLIFICATION), TAA_FINAL_BLEND_DYNAMIC_FACTOR, TAA_FINAL_BLEND_STATIC_FACTOR); - - color = FastToneUnmap(lerp(color, history, weight)); - - OutputSolver output; - - output.destination = color; - color.a *= TAA_FRAGMENT_MOTION_HISTORY_DECAY; - - output.history = color; - - return output; -} - -// ----------------------------------------------------------------------------- -// Alpha clearance - -float4 FragAlphaClear(VaryingsDefault input) : SV_Target -{ - return float4(tex2D(_MainTex, input.uv).rgb, 0.0); -} - -#endif // __TAA__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc.meta deleted file mode 100644 index 61ea7971a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 241b7a6a033e9dc4da9d2595cef7f477 -timeCreated: 1472807158 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/TAA.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader deleted file mode 100644 index 5d1126494..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader +++ /dev/null @@ -1,85 +0,0 @@ -Shader "Hidden/Post FX/Temporal Anti-aliasing" -{ - Properties - { - _MainTex("", 2D) = "black" - } - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // Perspective - Pass - { - CGPROGRAM - #pragma target 5.0 - #pragma vertex VertSolver - #pragma fragment FragSolver - #include "TAA.cginc" - ENDCG - } - - // Ortho - Pass - { - CGPROGRAM - #pragma target 5.0 - #pragma vertex VertSolver - #pragma fragment FragSolver - #define TAA_DILATE_MOTION_VECTOR_SAMPLE 0 - #include "TAA.cginc" - ENDCG - } - - // Alpha Clear - Pass - { - CGPROGRAM - #pragma target 5.0 - #pragma vertex VertDefault - #pragma fragment FragAlphaClear - #include "TAA.cginc" - ENDCG - } - } - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // Perspective - Pass - { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertSolver - #pragma fragment FragSolver - #include "TAA.cginc" - ENDCG - } - - // Ortho - Pass - { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertSolver - #pragma fragment FragSolver - #define TAA_DILATE_MOTION_VECTOR_SAMPLE 0 - #include "TAA.cginc" - ENDCG - } - - // Alpha Clear - Pass - { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertDefault - #pragma fragment FragAlphaClear - #include "TAA.cginc" - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader.meta deleted file mode 100644 index 4a51ee320..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/TAA.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: ec6c5af987867f54aa08fba81ee279bd -timeCreated: 1472807140 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/TAA.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc deleted file mode 100644 index d33f45f45..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef __TONEMAPPING__ -#define __TONEMAPPING__ - -#include "ACES.cginc" - -// Set to 1 to use the full reference ACES tonemapper. This should only be used for research -// purposes and it's quite heavy and generally overkill. -#define TONEMAPPING_USE_FULL_ACES 0 - -// -// Neutral tonemapping (Hable/Hejl/Frostbite) -// Input is linear RGB -// -half3 NeutralCurve(half3 x, half a, half b, half c, half d, half e, half f) -{ - return ((x * (a * x + c * b) + d * e) / (x * (a * x + b) + d * f)) - e / f; -} - -half3 NeutralTonemap(half3 x, half4 params1, half4 params2) -{ - // ACES supports negative color values and WILL output negative values when coming from ACES or ACEScg - // Make sure negative channels are clamped to 0.0 as this neutral tonemapper can't deal with them properly - x = max((0.0).xxx, x); - - // Tonemap - half a = params1.x; - half b = params1.y; - half c = params1.z; - half d = params1.w; - half e = params2.x; - half f = params2.y; - half whiteLevel = params2.z; - half whiteClip = params2.w; - - half3 whiteScale = (1.0).xxx / NeutralCurve(whiteLevel, a, b, c, d, e, f); - x = NeutralCurve(x * whiteScale, a, b, c, d, e, f); - x *= whiteScale; - - // Post-curve white point adjustment - x /= whiteClip.xxx; - - return x; -} - -// -// Filmic tonemapping (ACES fitting, unless TONEMAPPING_USE_FULL_ACES is set to 1) -// Input is ACES2065-1 (AP0 w/ linear encoding) -// -half3 FilmicTonemap(half3 aces) -{ -#if TONEMAPPING_USE_FULL_ACES - - half3 oces = RRT(aces); - half3 odt = ODT_RGBmonitor_100nits_dim(oces); - return odt; - -#else - - // --- Glow module --- // - half saturation = rgb_2_saturation(aces); - half ycIn = rgb_2_yc(aces); - half s = sigmoid_shaper((saturation - 0.4) / 0.2); - half addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); - aces *= addedGlow; - - // --- Red modifier --- // - half hue = rgb_2_hue(aces); - half centeredHue = center_hue(hue, RRT_RED_HUE); - half hueWeight; - { - //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); - hueWeight = Pow2(smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH))); - } - - aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); - - // --- ACES to RGB rendering space --- // - half3 acescg = max(0.0, ACES_to_ACEScg(aces)); - - // --- Global desaturation --- // - //acescg = mul(RRT_SAT_MAT, acescg); - acescg = lerp(dot(acescg, AP1_RGB2Y).xxx, acescg, RRT_SAT_FACTOR.xxx); - - // Luminance fitting of *RRT.a1.0.3 + ODT.Academy.RGBmonitor_100nits_dim.a1.0.3*. - // https://github.com/colour-science/colour-unity/blob/master/Assets/Colour/Notebooks/CIECAM02_Unity.ipynb - // RMSE: 0.0012846272106 - const half a = 278.5085; - const half b = 10.7772; - const half c = 293.6045; - const half d = 88.7122; - const half e = 80.6889; - half3 x = acescg; - half3 rgbPost = (x * (a * x + b)) / (x * (c * x + d) + e); - - // Scale luminance to linear code value - // half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); - - // Apply gamma adjustment to compensate for dim surround - half3 linearCV = darkSurround_to_dimSurround(rgbPost); - - // Apply desaturation to compensate for luminance difference - //linearCV = mul(ODT_SAT_MAT, color); - linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); - - // Convert to display primary encoding - // Rendering space RGB to XYZ - half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); - - // Apply CAT from ACES white point to assumed observer adapted white point - XYZ = mul(D60_2_D65_CAT, XYZ); - - // CIE XYZ to display primaries - linearCV = mul(XYZ_2_REC709_MAT, XYZ); - - return linearCV; - -#endif -} - -#endif // __TONEMAPPING__ diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc.meta deleted file mode 100644 index 44ab96529..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Tonemapping.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 0a999e641c982a14d9c68dfd53a98afc -timeCreated: 1469104178 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Tonemapping.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader deleted file mode 100644 index dbfee42b5..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader +++ /dev/null @@ -1,330 +0,0 @@ -Shader "Hidden/Post FX/Uber Shader" -{ - Properties - { - _MainTex ("Texture", 2D) = "white" {} - _AutoExposure ("", 2D) = "" {} - _BloomTex ("", 2D) = "" {} - _Bloom_DirtTex ("", 2D) = "" {} - _GrainTex ("", 2D) = "" {} - _LogLut ("", 2D) = "" {} - _UserLut ("", 2D) = "" {} - _Vignette_Mask ("", 2D) = "" {} - _ChromaticAberration_Spectrum ("", 2D) = "" {} - _DitheringTex ("", 2D) = "" {} - } - - CGINCLUDE - - #pragma target 3.0 - - #pragma multi_compile __ UNITY_COLORSPACE_GAMMA - #pragma multi_compile __ CHROMATIC_ABERRATION - #pragma multi_compile __ DEPTH_OF_FIELD DEPTH_OF_FIELD_COC_VIEW - #pragma multi_compile __ BLOOM BLOOM_LENS_DIRT - #pragma multi_compile __ COLOR_GRADING COLOR_GRADING_LOG_VIEW - #pragma multi_compile __ USER_LUT - #pragma multi_compile __ GRAIN - #pragma multi_compile __ VIGNETTE_CLASSIC VIGNETTE_MASKED - #pragma multi_compile __ DITHERING - - #include "UnityCG.cginc" - #include "Bloom.cginc" - #include "ColorGrading.cginc" - #include "UberSecondPass.cginc" - - // Auto exposure / eye adaptation - sampler2D _AutoExposure; - - // Chromatic aberration - half _ChromaticAberration_Amount; - sampler2D _ChromaticAberration_Spectrum; - - // Depth of field - sampler2D_float _CameraDepthTexture; - sampler2D _DepthOfFieldTex; - sampler2D _DepthOfFieldCoCTex; - float4 _DepthOfFieldTex_TexelSize; - float3 _DepthOfFieldParams; // x: distance, y: f^2 / (N * (S1 - f) * film_width * 2), z: max coc - - // Bloom - sampler2D _BloomTex; - float4 _BloomTex_TexelSize; - half2 _Bloom_Settings; // x: sampleScale, y: bloom.intensity - - sampler2D _Bloom_DirtTex; - half _Bloom_DirtIntensity; - - // Color grading & tonemapping - sampler2D _LogLut; - half3 _LogLut_Params; // x: 1 / lut_width, y: 1 / lut_height, z: lut_height - 1 - half _ExposureEV; // EV (exp2) - - // User lut - sampler2D _UserLut; - half4 _UserLut_Params; // @see _LogLut_Params - - // Vignette - half3 _Vignette_Color; - half2 _Vignette_Center; // UV space - half4 _Vignette_Settings; // x: intensity, y: smoothness, z: roundness, w: rounded - sampler2D _Vignette_Mask; - half _Vignette_Opacity; // [0;1] - - struct VaryingsFlipped - { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float2 uvSPR : TEXCOORD1; // Single Pass Stereo UVs - float2 uvFlipped : TEXCOORD2; // Flipped UVs (DX/MSAA/Forward) - float2 uvFlippedSPR : TEXCOORD3; // Single Pass Stereo flipped UVs - }; - - VaryingsFlipped VertUber(AttributesDefault v) - { - VaryingsFlipped o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.texcoord.xy; - o.uvSPR = UnityStereoScreenSpaceUVAdjust(v.texcoord.xy, _MainTex_ST); - o.uvFlipped = v.texcoord.xy; - - #if UNITY_UV_STARTS_AT_TOP - if (_MainTex_TexelSize.y < 0.0) - o.uvFlipped.y = 1.0 - o.uvFlipped.y; - #endif - - o.uvFlippedSPR = UnityStereoScreenSpaceUVAdjust(o.uvFlipped, _MainTex_ST); - - return o; - } - - half4 FragUber(VaryingsFlipped i) : SV_Target - { - float2 uv = i.uv; - half autoExposure = tex2D(_AutoExposure, uv).r; - - half3 color = (0.0).xxx; - #if DEPTH_OF_FIELD && CHROMATIC_ABERRATION - half4 dof = (0.0).xxxx; - half ffa = 0.0; // far field alpha - #endif - - // - // HDR effects - // --------------------------------------------------------- - - // Chromatic Aberration - // Inspired by the method described in "Rendering Inside" [Playdead 2016] - // https://twitter.com/pixelmager/status/717019757766123520 - #if CHROMATIC_ABERRATION - { - float2 coords = 2.0 * uv - 1.0; - float2 end = uv - coords * dot(coords, coords) * _ChromaticAberration_Amount; - - float2 diff = end - uv; - int samples = clamp(int(length(_MainTex_TexelSize.zw * diff / 2.0)), 3, 16); - float2 delta = diff / samples; - float2 pos = uv; - half3 sum = (0.0).xxx, filterSum = (0.0).xxx; - - #if DEPTH_OF_FIELD - float2 dofDelta = delta; - float2 dofPos = pos; - if (_MainTex_TexelSize.y < 0.0) - { - dofDelta.y = -dofDelta.y; - dofPos.y = 1.0 - dofPos.y; - } - half4 dofSum = (0.0).xxxx; - half ffaSum = 0.0; - #endif - - for (int i = 0; i < samples; i++) - { - half t = (i + 0.5) / samples; - half3 s = tex2Dlod(_MainTex, float4(UnityStereoScreenSpaceUVAdjust(pos, _MainTex_ST), 0, 0)).rgb; - half3 filter = tex2Dlod(_ChromaticAberration_Spectrum, float4(t, 0, 0, 0)).rgb; - - sum += s * filter; - filterSum += filter; - pos += delta; - - #if DEPTH_OF_FIELD - float4 uvDof = float4(UnityStereoScreenSpaceUVAdjust(dofPos, _MainTex_ST), 0, 0); - half4 sdof = tex2Dlod(_DepthOfFieldTex, uvDof).rgba; - half scoc = tex2Dlod(_DepthOfFieldCoCTex, uvDof).r; - scoc = (scoc - 0.5) * 2 * _DepthOfFieldParams.z; - dofSum += sdof * half4(filter, 1); - ffaSum += smoothstep(_MainTex_TexelSize.y * 2, _MainTex_TexelSize.y * 4, scoc); - dofPos += dofDelta; - #endif - } - - color = sum / filterSum; - #if DEPTH_OF_FIELD - dof = dofSum / half4(filterSum, samples); - ffa = ffaSum / samples; - #endif - } - #else - { - color = tex2D(_MainTex, i.uvSPR).rgb; - } - #endif - - // Apply auto exposure if any - color *= autoExposure; - - // Gamma space... Gah. - #if UNITY_COLORSPACE_GAMMA - { - color = GammaToLinearSpace(color); - } - #endif - - // Depth of field - #if DEPTH_OF_FIELD_COC_VIEW - { - // Calculate the radiuses of CoC. - half4 src = tex2D(_DepthOfFieldTex, uv); - float depth = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uvFlippedSPR)); - float coc = (depth - _DepthOfFieldParams.x) * _DepthOfFieldParams.y / depth; - coc *= 80; - - // Visualize CoC (white -> red -> gray) - half3 rgb = lerp(half3(1, 0, 0), half3(1.0, 1.0, 1.0), saturate(-coc)); - rgb = lerp(rgb, half3(0.4, 0.4, 0.4), saturate(coc)); - - // Black and white image overlay - rgb *= AcesLuminance(color) + 0.5; - - // Gamma correction - #if !UNITY_COLORSPACE_GAMMA - { - rgb = GammaToLinearSpace(rgb); - } - #endif - - color = rgb; - } - #elif DEPTH_OF_FIELD - { - #if !CHROMATIC_ABERRATION - half4 dof = tex2D(_DepthOfFieldTex, i.uvFlippedSPR); - half coc = tex2D(_DepthOfFieldCoCTex, i.uvFlippedSPR); - coc = (coc - 0.5) * 2 * _DepthOfFieldParams.z; - // Convert CoC to far field alpha value. - float ffa = smoothstep(_MainTex_TexelSize.y * 2, _MainTex_TexelSize.y * 4, coc); - #endif - // lerp(lerp(color, dof, ffa), dof, dof.a) - color = lerp(color, dof.rgb * autoExposure, ffa + dof.a - ffa * dof.a); - } - #endif - - // HDR Bloom - #if BLOOM || BLOOM_LENS_DIRT - { - half3 bloom = UpsampleFilter(_BloomTex, i.uvFlippedSPR, _BloomTex_TexelSize.xy, _Bloom_Settings.x) * _Bloom_Settings.y; - color += bloom; - - #if BLOOM_LENS_DIRT - { - half3 dirt = tex2D(_Bloom_DirtTex, i.uvFlipped).rgb * _Bloom_DirtIntensity; - color += bloom * dirt; - } - #endif - } - #endif - - // Procedural vignette - #if VIGNETTE_CLASSIC - { - half2 d = abs(uv - _Vignette_Center) * _Vignette_Settings.x; - d.x *= lerp(1.0, _ScreenParams.x / _ScreenParams.y, _Vignette_Settings.w); - d = pow(d, _Vignette_Settings.z); // Roundness - half vfactor = pow(saturate(1.0 - dot(d, d)), _Vignette_Settings.y); - color *= lerp(_Vignette_Color, (1.0).xxx, vfactor); - } - - // Masked vignette - #elif VIGNETTE_MASKED - { - half vfactor = tex2D(_Vignette_Mask, uv).a; - half3 new_color = color * lerp(_Vignette_Color, (1.0).xxx, vfactor); - color = lerp(color, new_color, _Vignette_Opacity); - } - #endif - - // HDR color grading & tonemapping - #if COLOR_GRADING_LOG_VIEW - { - color *= _ExposureEV; - color = saturate(LinearToLogC(color)); - } - #elif COLOR_GRADING - { - color *= _ExposureEV; // Exposure is in ev units (or 'stops') - - half3 colorLogC = saturate(LinearToLogC(color)); - color = ApplyLut2d(_LogLut, colorLogC, _LogLut_Params); - } - #endif - - // - // All the following effects happen in LDR - // --------------------------------------------------------- - - color = saturate(color); - - // Back to gamma space if needed - #if UNITY_COLORSPACE_GAMMA - { - color = LinearToGammaSpace(color); - } - #endif - - // LDR user lut - #if USER_LUT - { - color = saturate(color); - half3 colorGraded; - - #if !UNITY_COLORSPACE_GAMMA - { - colorGraded = ApplyLut2d(_UserLut, LinearToGammaSpace(color), _UserLut_Params.xyz); - colorGraded = GammaToLinearSpace(colorGraded); - } - #else - { - colorGraded = ApplyLut2d(_UserLut, color, _UserLut_Params.xyz); - } - #endif - - color = lerp(color, colorGraded, _UserLut_Params.w); - } - #endif - - color = UberSecondPass(color, uv); - - // Done ! - return half4(color, 1.0); - } - - ENDCG - - SubShader - { - Cull Off ZWrite Off ZTest Always - - // (0) - Pass - { - CGPROGRAM - - #pragma vertex VertUber - #pragma fragment FragUber - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader.meta deleted file mode 100644 index 1a615b80c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/Uber.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 8ce0a6f4c8cae334d8a5617f302b6769 -timeCreated: 1459956426 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/Uber.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc deleted file mode 100644 index 4a5382249..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc +++ /dev/null @@ -1,39 +0,0 @@ -#include "ColorGrading.cginc" - -// Grain -half2 _Grain_Params1; // x: lum_contrib, y: intensity -half4 _Grain_Params2; // x: xscale, h: yscale, z: xoffset, w: yoffset -sampler2D _GrainTex; - -// Dithering -sampler2D _DitheringTex; -float4 _DitheringCoords; - -float3 UberSecondPass(half3 color, float2 uv) -{ - // Grain - #if GRAIN - { - float3 grain = tex2D(_GrainTex, uv * _Grain_Params2.xy + _Grain_Params2.zw).rgb; - - // Noisiness response curve based on scene luminance - float lum = 1.0 - sqrt(AcesLuminance(color)); - lum = lerp(1.0, lum, _Grain_Params1.x); - - color += color * grain * _Grain_Params1.y * lum; - } - #endif - - // Blue noise dithering - #if DITHERING - { - // Symmetric triangular distribution on [-1,1] with maximal density at 0 - float noise = tex2D(_DitheringTex, uv * _DitheringCoords.xy + _DitheringCoords.zw).a * 2.0 - 1.0; - noise = sign(noise) * (1.0 - sqrt(1.0 - abs(noise))) / 255.0; - - color += noise; - } - #endif - - return color; -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc.meta deleted file mode 100644 index 8a77a496f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Resources/Shaders/UberSecondPass.cginc.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: b6e42614562a56445ba4b5d90301f06f -timeCreated: 1487080088 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Resources/Shaders/UberSecondPass.cginc" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime.meta deleted file mode 100644 index 56a4721e6..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 4b79d54138d9d1a498085393504c7d02 -folderAsset: yes -timeCreated: 1466585248 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes.meta deleted file mode 100644 index fca7c0161..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 68327f748e8ffd94889a47317b7d327b -folderAsset: yes -timeCreated: 1460383911 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs deleted file mode 100644 index cc1bf4199..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class GetSetAttribute : PropertyAttribute - { - public readonly string name; - public bool dirty; - - public GetSetAttribute(string name) - { - this.name = name; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs.meta deleted file mode 100644 index 1e2bc9007..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: f17e8602928ea02419dae051ec79c5a2 -timeCreated: 1460383955 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Attributes/GetSetAttribute.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs deleted file mode 100644 index 34144ce63..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class MinAttribute : PropertyAttribute - { - public readonly float min; - - public MinAttribute(float min) - { - this.min = min; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs.meta deleted file mode 100644 index dbc3970fd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/MinAttribute.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 9af2f505033843c46a362e251937acb1 -timeCreated: 1462281908 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Attributes/MinAttribute.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs deleted file mode 100644 index 9acf91295..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class TrackballAttribute : PropertyAttribute - { - public readonly string method; - - public TrackballAttribute(string method) - { - this.method = method; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs.meta deleted file mode 100644 index e39804a1d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 65e30143f4e114f45b84a1d9cba8f469 -timeCreated: 1463400829 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Attributes/TrackballAttribute.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs deleted file mode 100644 index c29c03dab..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class TrackballGroupAttribute : PropertyAttribute - { - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs.meta deleted file mode 100644 index 1f339f555..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: aa62a51ebe4821e4b89a64d267b30a27 -timeCreated: 1460563239 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components.meta deleted file mode 100644 index bbf2a0466..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c1f765b2bd3d2ad49b2677f6478a9ba3 -folderAsset: yes -timeCreated: 1466585494 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs deleted file mode 100644 index 45ca0bbf1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs +++ /dev/null @@ -1,185 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using DebugMode = BuiltinDebugViewsModel.Mode; - - public sealed class AmbientOcclusionComponent : PostProcessingComponentCommandBuffer - { - static class Uniforms - { - internal static readonly int _Intensity = Shader.PropertyToID("_Intensity"); - internal static readonly int _Radius = Shader.PropertyToID("_Radius"); - internal static readonly int _FogParams = Shader.PropertyToID("_FogParams"); - internal static readonly int _Downsample = Shader.PropertyToID("_Downsample"); - internal static readonly int _SampleCount = Shader.PropertyToID("_SampleCount"); - internal static readonly int _OcclusionTexture1 = Shader.PropertyToID("_OcclusionTexture1"); - internal static readonly int _OcclusionTexture2 = Shader.PropertyToID("_OcclusionTexture2"); - internal static readonly int _OcclusionTexture = Shader.PropertyToID("_OcclusionTexture"); - internal static readonly int _MainTex = Shader.PropertyToID("_MainTex"); - internal static readonly int _TempRT = Shader.PropertyToID("_TempRT"); - } - - const string k_BlitShaderString = "Hidden/Post FX/Blit"; - const string k_ShaderString = "Hidden/Post FX/Ambient Occlusion"; - - readonly RenderTargetIdentifier[] m_MRT = - { - BuiltinRenderTextureType.GBuffer0, // Albedo, Occ - BuiltinRenderTextureType.CameraTarget // Ambient - }; - - enum OcclusionSource - { - DepthTexture, - DepthNormalsTexture, - GBuffer - } - - OcclusionSource occlusionSource - { - get - { - if (context.isGBufferAvailable && !model.settings.forceForwardCompatibility) - return OcclusionSource.GBuffer; - - if (model.settings.highPrecision && (!context.isGBufferAvailable || model.settings.forceForwardCompatibility)) - return OcclusionSource.DepthTexture; - - return OcclusionSource.DepthNormalsTexture; - } - } - - bool ambientOnlySupported - { - get { return context.isHdr && model.settings.ambientOnly && context.isGBufferAvailable && !model.settings.forceForwardCompatibility; } - } - - public override bool active - { - get - { - return model.enabled - && model.settings.intensity > 0f - && !context.interrupted; - } - } - - public override DepthTextureMode GetCameraFlags() - { - var flags = DepthTextureMode.None; - - if (occlusionSource == OcclusionSource.DepthTexture) - flags |= DepthTextureMode.Depth; - - if (occlusionSource != OcclusionSource.GBuffer) - flags |= DepthTextureMode.DepthNormals; - - return flags; - } - - public override string GetName() - { - return "Ambient Occlusion"; - } - - public override CameraEvent GetCameraEvent() - { - return ambientOnlySupported && !context.profile.debugViews.IsModeActive(DebugMode.AmbientOcclusion) - ? CameraEvent.BeforeReflections - : CameraEvent.BeforeImageEffectsOpaque; - } - - public override void PopulateCommandBuffer(CommandBuffer cb) - { - var settings = model.settings; - - // Material setup - var blitMaterial = context.materialFactory.Get(k_BlitShaderString); - - var material = context.materialFactory.Get(k_ShaderString); - material.shaderKeywords = null; - material.SetFloat(Uniforms._Intensity, settings.intensity); - material.SetFloat(Uniforms._Radius, settings.radius); - material.SetFloat(Uniforms._Downsample, settings.downsampling ? 0.5f : 1f); - material.SetInt(Uniforms._SampleCount, (int)settings.sampleCount); - - if (!context.isGBufferAvailable && RenderSettings.fog) - { - material.SetVector(Uniforms._FogParams, new Vector3(RenderSettings.fogDensity, RenderSettings.fogStartDistance, RenderSettings.fogEndDistance)); - - switch (RenderSettings.fogMode) - { - case FogMode.Linear: - material.EnableKeyword("FOG_LINEAR"); - break; - case FogMode.Exponential: - material.EnableKeyword("FOG_EXP"); - break; - case FogMode.ExponentialSquared: - material.EnableKeyword("FOG_EXP2"); - break; - } - } - else - { - material.EnableKeyword("FOG_OFF"); - } - - int tw = context.width; - int th = context.height; - int ts = settings.downsampling ? 2 : 1; - const RenderTextureFormat kFormat = RenderTextureFormat.ARGB32; - const RenderTextureReadWrite kRWMode = RenderTextureReadWrite.Linear; - const FilterMode kFilter = FilterMode.Bilinear; - - // AO buffer - var rtMask = Uniforms._OcclusionTexture1; - cb.GetTemporaryRT(rtMask, tw / ts, th / ts, 0, kFilter, kFormat, kRWMode); - - // AO estimation - cb.Blit((Texture)null, rtMask, material, (int)occlusionSource); - - // Blur buffer - var rtBlur = Uniforms._OcclusionTexture2; - - // Separable blur (horizontal pass) - cb.GetTemporaryRT(rtBlur, tw, th, 0, kFilter, kFormat, kRWMode); - cb.SetGlobalTexture(Uniforms._MainTex, rtMask); - cb.Blit(rtMask, rtBlur, material, occlusionSource == OcclusionSource.GBuffer ? 4 : 3); - cb.ReleaseTemporaryRT(rtMask); - - // Separable blur (vertical pass) - rtMask = Uniforms._OcclusionTexture; - cb.GetTemporaryRT(rtMask, tw, th, 0, kFilter, kFormat, kRWMode); - cb.SetGlobalTexture(Uniforms._MainTex, rtBlur); - cb.Blit(rtBlur, rtMask, material, 5); - cb.ReleaseTemporaryRT(rtBlur); - - if (context.profile.debugViews.IsModeActive(DebugMode.AmbientOcclusion)) - { - cb.SetGlobalTexture(Uniforms._MainTex, rtMask); - cb.Blit(rtMask, BuiltinRenderTextureType.CameraTarget, material, 8); - context.Interrupt(); - } - else if (ambientOnlySupported) - { - cb.SetRenderTarget(m_MRT, BuiltinRenderTextureType.CameraTarget); - cb.DrawMesh(GraphicsUtils.quad, Matrix4x4.identity, material, 0, 7); - } - else - { - var fbFormat = context.isHdr ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default; - - int tempRT = Uniforms._TempRT; - cb.GetTemporaryRT(tempRT, context.width, context.height, 0, FilterMode.Bilinear, fbFormat); - cb.Blit(BuiltinRenderTextureType.CameraTarget, tempRT, blitMaterial, 0); - cb.SetGlobalTexture(Uniforms._MainTex, tempRT); - cb.Blit(tempRT, BuiltinRenderTextureType.CameraTarget, material, 6); - cb.ReleaseTemporaryRT(tempRT); - } - - cb.ReleaseTemporaryRT(rtMask); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs.meta deleted file mode 100644 index b1cf7c9cb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c6e33ce72d3776b408121f946283403d -timeCreated: 1467275948 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs deleted file mode 100644 index 53ac6fcff..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs +++ /dev/null @@ -1,143 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class BloomComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _AutoExposure = Shader.PropertyToID("_AutoExposure"); - internal static readonly int _Threshold = Shader.PropertyToID("_Threshold"); - internal static readonly int _Curve = Shader.PropertyToID("_Curve"); - internal static readonly int _PrefilterOffs = Shader.PropertyToID("_PrefilterOffs"); - internal static readonly int _SampleScale = Shader.PropertyToID("_SampleScale"); - internal static readonly int _BaseTex = Shader.PropertyToID("_BaseTex"); - internal static readonly int _BloomTex = Shader.PropertyToID("_BloomTex"); - internal static readonly int _Bloom_Settings = Shader.PropertyToID("_Bloom_Settings"); - internal static readonly int _Bloom_DirtTex = Shader.PropertyToID("_Bloom_DirtTex"); - internal static readonly int _Bloom_DirtIntensity = Shader.PropertyToID("_Bloom_DirtIntensity"); - } - - const int k_MaxPyramidBlurLevel = 16; - readonly RenderTexture[] m_BlurBuffer1 = new RenderTexture[k_MaxPyramidBlurLevel]; - readonly RenderTexture[] m_BlurBuffer2 = new RenderTexture[k_MaxPyramidBlurLevel]; - - public override bool active - { - get - { - return model.enabled - && model.settings.bloom.intensity > 0f - && !context.interrupted; - } - } - - public void Prepare(RenderTexture source, Material uberMaterial, Texture autoExposure) - { - var bloom = model.settings.bloom; - var lensDirt = model.settings.lensDirt; - var material = context.materialFactory.Get("Hidden/Post FX/Bloom"); - material.shaderKeywords = null; - - // Apply auto exposure before the prefiltering pass - material.SetTexture(Uniforms._AutoExposure, autoExposure); - - // Do bloom on a half-res buffer, full-res doesn't bring much and kills performances on - // fillrate limited platforms - var tw = context.width / 2; - var th = context.height / 2; - - // Blur buffer format - // TODO: Extend the use of RGBM to the whole chain for mobile platforms - var useRGBM = Application.isMobilePlatform; - var rtFormat = useRGBM - ? RenderTextureFormat.Default - : RenderTextureFormat.DefaultHDR; - - // Determine the iteration count - float logh = Mathf.Log(th, 2f) + bloom.radius - 8f; - int logh_i = (int)logh; - int iterations = Mathf.Clamp(logh_i, 1, k_MaxPyramidBlurLevel); - - // Uupdate the shader properties - float lthresh = bloom.thresholdLinear; - material.SetFloat(Uniforms._Threshold, lthresh); - - float knee = lthresh * bloom.softKnee + 1e-5f; - var curve = new Vector3(lthresh - knee, knee * 2f, 0.25f / knee); - material.SetVector(Uniforms._Curve, curve); - - material.SetFloat(Uniforms._PrefilterOffs, bloom.antiFlicker ? -0.5f : 0f); - - float sampleScale = 0.5f + logh - logh_i; - material.SetFloat(Uniforms._SampleScale, sampleScale); - - // TODO: Probably can disable antiFlicker if TAA is enabled - need to do some testing - if (bloom.antiFlicker) - material.EnableKeyword("ANTI_FLICKER"); - - // Prefilter pass - var prefiltered = context.renderTextureFactory.Get(tw, th, 0, rtFormat); - Graphics.Blit(source, prefiltered, material, 0); - - // Construct a mip pyramid - var last = prefiltered; - - for (int level = 0; level < iterations; level++) - { - m_BlurBuffer1[level] = context.renderTextureFactory.Get( - last.width / 2, last.height / 2, 0, rtFormat - ); - - int pass = (level == 0) ? 1 : 2; - Graphics.Blit(last, m_BlurBuffer1[level], material, pass); - - last = m_BlurBuffer1[level]; - } - - // Upsample and combine loop - for (int level = iterations - 2; level >= 0; level--) - { - var baseTex = m_BlurBuffer1[level]; - material.SetTexture(Uniforms._BaseTex, baseTex); - - m_BlurBuffer2[level] = context.renderTextureFactory.Get( - baseTex.width, baseTex.height, 0, rtFormat - ); - - Graphics.Blit(last, m_BlurBuffer2[level], material, 3); - last = m_BlurBuffer2[level]; - } - - var bloomTex = last; - - // Release the temporary buffers - for (int i = 0; i < k_MaxPyramidBlurLevel; i++) - { - if (m_BlurBuffer1[i] != null) - context.renderTextureFactory.Release(m_BlurBuffer1[i]); - - if (m_BlurBuffer2[i] != null && m_BlurBuffer2[i] != bloomTex) - context.renderTextureFactory.Release(m_BlurBuffer2[i]); - - m_BlurBuffer1[i] = null; - m_BlurBuffer2[i] = null; - } - - context.renderTextureFactory.Release(prefiltered); - - // Push everything to the uber material - uberMaterial.SetTexture(Uniforms._BloomTex, bloomTex); - uberMaterial.SetVector(Uniforms._Bloom_Settings, new Vector2(sampleScale, bloom.intensity)); - - if (lensDirt.intensity > 0f && lensDirt.texture != null) - { - uberMaterial.SetTexture(Uniforms._Bloom_DirtTex, lensDirt.texture); - uberMaterial.SetFloat(Uniforms._Bloom_DirtIntensity, lensDirt.intensity); - uberMaterial.EnableKeyword("BLOOM_LENS_DIRT"); - } - else - { - uberMaterial.EnableKeyword("BLOOM"); - } - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs.meta deleted file mode 100644 index f45ab9684..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BloomComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: acd4204a794b09048b928b1e987500c5 -timeCreated: 1473089954 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/BloomComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs deleted file mode 100644 index 269aeeef7..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs +++ /dev/null @@ -1,258 +0,0 @@ -using System.Collections.Generic; -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using Mode = BuiltinDebugViewsModel.Mode; - - public sealed class BuiltinDebugViewsComponent : PostProcessingComponentCommandBuffer - { - static class Uniforms - { - internal static readonly int _DepthScale = Shader.PropertyToID("_DepthScale"); - internal static readonly int _TempRT = Shader.PropertyToID("_TempRT"); - internal static readonly int _Opacity = Shader.PropertyToID("_Opacity"); - internal static readonly int _MainTex = Shader.PropertyToID("_MainTex"); - internal static readonly int _TempRT2 = Shader.PropertyToID("_TempRT2"); - internal static readonly int _Amplitude = Shader.PropertyToID("_Amplitude"); - internal static readonly int _Scale = Shader.PropertyToID("_Scale"); - } - - const string k_ShaderString = "Hidden/Post FX/Builtin Debug Views"; - - enum Pass - { - Depth, - Normals, - MovecOpacity, - MovecImaging, - MovecArrows - } - - ArrowArray m_Arrows; - - class ArrowArray - { - public Mesh mesh { get; private set; } - - public int columnCount { get; private set; } - public int rowCount { get; private set; } - - public void BuildMesh(int columns, int rows) - { - // Base shape - var arrow = new Vector3[6] - { - new Vector3(0f, 0f, 0f), - new Vector3(0f, 1f, 0f), - new Vector3(0f, 1f, 0f), - new Vector3(-1f, 1f, 0f), - new Vector3(0f, 1f, 0f), - new Vector3(1f, 1f, 0f) - }; - - // make the vertex array - int vcount = 6 * columns * rows; - var vertices = new List(vcount); - var uvs = new List(vcount); - - for (int iy = 0; iy < rows; iy++) - { - for (int ix = 0; ix < columns; ix++) - { - var uv = new Vector2( - (0.5f + ix) / columns, - (0.5f + iy) / rows - ); - - for (int i = 0; i < 6; i++) - { - vertices.Add(arrow[i]); - uvs.Add(uv); - } - } - } - - // make the index array - var indices = new int[vcount]; - - for (int i = 0; i < vcount; i++) - indices[i] = i; - - // initialize the mesh object - mesh = new Mesh { hideFlags = HideFlags.DontSave }; - mesh.SetVertices(vertices); - mesh.SetUVs(0, uvs); - mesh.SetIndices(indices, MeshTopology.Lines, 0); - mesh.UploadMeshData(true); - - // update the properties - columnCount = columns; - rowCount = rows; - } - - public void Release() - { - GraphicsUtils.Destroy(mesh); - mesh = null; - } - } - - public override bool active - { - get - { - return model.IsModeActive(Mode.Depth) - || model.IsModeActive(Mode.Normals) - || model.IsModeActive(Mode.MotionVectors); - } - } - - public override DepthTextureMode GetCameraFlags() - { - var mode = model.settings.mode; - var flags = DepthTextureMode.None; - - switch (mode) - { - case Mode.Normals: - flags |= DepthTextureMode.DepthNormals; - break; - case Mode.MotionVectors: - flags |= DepthTextureMode.MotionVectors | DepthTextureMode.Depth; - break; - case Mode.Depth: - flags |= DepthTextureMode.Depth; - break; - } - - return flags; - } - - public override CameraEvent GetCameraEvent() - { - return model.settings.mode == Mode.MotionVectors - ? CameraEvent.BeforeImageEffects - : CameraEvent.BeforeImageEffectsOpaque; - } - - public override string GetName() - { - return "Builtin Debug Views"; - } - - public override void PopulateCommandBuffer(CommandBuffer cb) - { - var settings = model.settings; - var material = context.materialFactory.Get(k_ShaderString); - material.shaderKeywords = null; - - if (context.isGBufferAvailable) - material.EnableKeyword("SOURCE_GBUFFER"); - - switch (settings.mode) - { - case Mode.Depth: - DepthPass(cb); - break; - case Mode.Normals: - DepthNormalsPass(cb); - break; - case Mode.MotionVectors: - MotionVectorsPass(cb); - break; - } - - context.Interrupt(); - } - - void DepthPass(CommandBuffer cb) - { - var material = context.materialFactory.Get(k_ShaderString); - var settings = model.settings.depth; - - cb.SetGlobalFloat(Uniforms._DepthScale, 1f / settings.scale); - cb.Blit((Texture)null, BuiltinRenderTextureType.CameraTarget, material, (int)Pass.Depth); - } - - void DepthNormalsPass(CommandBuffer cb) - { - var material = context.materialFactory.Get(k_ShaderString); - cb.Blit((Texture)null, BuiltinRenderTextureType.CameraTarget, material, (int)Pass.Normals); - } - - void MotionVectorsPass(CommandBuffer cb) - { -#if UNITY_EDITOR - // Don't render motion vectors preview when the editor is not playing as it can in some - // cases results in ugly artifacts (i.e. when resizing the game view). - if (!Application.isPlaying) - return; -#endif - - var material = context.materialFactory.Get(k_ShaderString); - var settings = model.settings.motionVectors; - - // Blit the original source image - int tempRT = Uniforms._TempRT; - cb.GetTemporaryRT(tempRT, context.width, context.height, 0, FilterMode.Bilinear); - cb.SetGlobalFloat(Uniforms._Opacity, settings.sourceOpacity); - cb.SetGlobalTexture(Uniforms._MainTex, BuiltinRenderTextureType.CameraTarget); - cb.Blit(BuiltinRenderTextureType.CameraTarget, tempRT, material, (int)Pass.MovecOpacity); - - // Motion vectors (imaging) - if (settings.motionImageOpacity > 0f && settings.motionImageAmplitude > 0f) - { - int tempRT2 = Uniforms._TempRT2; - cb.GetTemporaryRT(tempRT2, context.width, context.height, 0, FilterMode.Bilinear); - cb.SetGlobalFloat(Uniforms._Opacity, settings.motionImageOpacity); - cb.SetGlobalFloat(Uniforms._Amplitude, settings.motionImageAmplitude); - cb.SetGlobalTexture(Uniforms._MainTex, tempRT); - cb.Blit(tempRT, tempRT2, material, (int)Pass.MovecImaging); - cb.ReleaseTemporaryRT(tempRT); - tempRT = tempRT2; - } - - // Motion vectors (arrows) - if (settings.motionVectorsOpacity > 0f && settings.motionVectorsAmplitude > 0f) - { - PrepareArrows(); - - float sy = 1f / settings.motionVectorsResolution; - float sx = sy * context.height / context.width; - - cb.SetGlobalVector(Uniforms._Scale, new Vector2(sx, sy)); - cb.SetGlobalFloat(Uniforms._Opacity, settings.motionVectorsOpacity); - cb.SetGlobalFloat(Uniforms._Amplitude, settings.motionVectorsAmplitude); - cb.DrawMesh(m_Arrows.mesh, Matrix4x4.identity, material, 0, (int)Pass.MovecArrows); - } - - cb.SetGlobalTexture(Uniforms._MainTex, tempRT); - cb.Blit(tempRT, BuiltinRenderTextureType.CameraTarget); - cb.ReleaseTemporaryRT(tempRT); - } - - void PrepareArrows() - { - int row = model.settings.motionVectors.motionVectorsResolution; - int col = row * Screen.width / Screen.height; - - if (m_Arrows == null) - m_Arrows = new ArrowArray(); - - if (m_Arrows.columnCount != col || m_Arrows.rowCount != row) - { - m_Arrows.Release(); - m_Arrows.BuildMesh(col, row); - } - } - - public override void OnDisable() - { - if (m_Arrows != null) - m_Arrows.Release(); - - m_Arrows = null; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs.meta deleted file mode 100644 index 890e98b32..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: fd834b6165e82e64f9da2d4ed9f4e236 -timeCreated: 1473163679 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs deleted file mode 100644 index 821a29f59..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs +++ /dev/null @@ -1,63 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class ChromaticAberrationComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _ChromaticAberration_Amount = Shader.PropertyToID("_ChromaticAberration_Amount"); - internal static readonly int _ChromaticAberration_Spectrum = Shader.PropertyToID("_ChromaticAberration_Spectrum"); - } - - Texture2D m_SpectrumLut; - - public override bool active - { - get - { - return model.enabled - && model.settings.intensity > 0f - && !context.interrupted; - } - } - - public override void OnDisable() - { - GraphicsUtils.Destroy(m_SpectrumLut); - m_SpectrumLut = null; - } - - public override void Prepare(Material uberMaterial) - { - var settings = model.settings; - var spectralLut = settings.spectralTexture; - - if (spectralLut == null) - { - if (m_SpectrumLut == null) - { - m_SpectrumLut = new Texture2D(3, 1, TextureFormat.RGB24, false) - { - name = "Chromatic Aberration Spectrum Lookup", - filterMode = FilterMode.Bilinear, - wrapMode = TextureWrapMode.Clamp, - anisoLevel = 0, - hideFlags = HideFlags.DontSave - }; - - var pixels = new Color[3]; - pixels[0] = new Color(1f, 0f, 0f); - pixels[1] = new Color(0f, 1f, 0f); - pixels[2] = new Color(0f, 0f, 1f); - m_SpectrumLut.SetPixels(pixels); - m_SpectrumLut.Apply(); - } - - spectralLut = m_SpectrumLut; - } - - uberMaterial.EnableKeyword("CHROMATIC_ABERRATION"); - uberMaterial.SetFloat(Uniforms._ChromaticAberration_Amount, settings.intensity * 0.03f); - uberMaterial.SetTexture(Uniforms._ChromaticAberration_Spectrum, spectralLut); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs.meta deleted file mode 100644 index 3b8c5589f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: b9c65642df654a84d84ded1b07448a4c -timeCreated: 1473085971 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs deleted file mode 100644 index 3948e7b7b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs +++ /dev/null @@ -1,436 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - using DebugMode = BuiltinDebugViewsModel.Mode; - - public sealed class ColorGradingComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _LutParams = Shader.PropertyToID("_LutParams"); - internal static readonly int _NeutralTonemapperParams1 = Shader.PropertyToID("_NeutralTonemapperParams1"); - internal static readonly int _NeutralTonemapperParams2 = Shader.PropertyToID("_NeutralTonemapperParams2"); - internal static readonly int _HueShift = Shader.PropertyToID("_HueShift"); - internal static readonly int _Saturation = Shader.PropertyToID("_Saturation"); - internal static readonly int _Contrast = Shader.PropertyToID("_Contrast"); - internal static readonly int _Balance = Shader.PropertyToID("_Balance"); - internal static readonly int _Lift = Shader.PropertyToID("_Lift"); - internal static readonly int _InvGamma = Shader.PropertyToID("_InvGamma"); - internal static readonly int _Gain = Shader.PropertyToID("_Gain"); - internal static readonly int _Slope = Shader.PropertyToID("_Slope"); - internal static readonly int _Power = Shader.PropertyToID("_Power"); - internal static readonly int _Offset = Shader.PropertyToID("_Offset"); - internal static readonly int _ChannelMixerRed = Shader.PropertyToID("_ChannelMixerRed"); - internal static readonly int _ChannelMixerGreen = Shader.PropertyToID("_ChannelMixerGreen"); - internal static readonly int _ChannelMixerBlue = Shader.PropertyToID("_ChannelMixerBlue"); - internal static readonly int _Curves = Shader.PropertyToID("_Curves"); - internal static readonly int _LogLut = Shader.PropertyToID("_LogLut"); - internal static readonly int _LogLut_Params = Shader.PropertyToID("_LogLut_Params"); - internal static readonly int _ExposureEV = Shader.PropertyToID("_ExposureEV"); - } - - const int k_InternalLogLutSize = 32; - const int k_CurvePrecision = 128; - const float k_CurveStep = 1f / k_CurvePrecision; - - Texture2D m_GradingCurves; - Color[] m_pixels = new Color[k_CurvePrecision * 2]; - - public override bool active - { - get - { - return model.enabled - && !context.interrupted; - } - } - - // An analytical model of chromaticity of the standard illuminant, by Judd et al. - // http://en.wikipedia.org/wiki/Standard_illuminant#Illuminant_series_D - // Slightly modifed to adjust it with the D65 white point (x=0.31271, y=0.32902). - float StandardIlluminantY(float x) - { - return 2.87f * x - 3f * x * x - 0.27509507f; - } - - // CIE xy chromaticity to CAT02 LMS. - // http://en.wikipedia.org/wiki/LMS_color_space#CAT02 - Vector3 CIExyToLMS(float x, float y) - { - float Y = 1f; - float X = Y * x / y; - float Z = Y * (1f - x - y) / y; - - float L = 0.7328f * X + 0.4296f * Y - 0.1624f * Z; - float M = -0.7036f * X + 1.6975f * Y + 0.0061f * Z; - float S = 0.0030f * X + 0.0136f * Y + 0.9834f * Z; - - return new Vector3(L, M, S); - } - - Vector3 CalculateColorBalance(float temperature, float tint) - { - // Range ~[-1.8;1.8] ; using higher ranges is unsafe - float t1 = temperature / 55f; - float t2 = tint / 55f; - - // Get the CIE xy chromaticity of the reference white point. - // Note: 0.31271 = x value on the D65 white point - float x = 0.31271f - t1 * (t1 < 0f ? 0.1f : 0.05f); - float y = StandardIlluminantY(x) + t2 * 0.05f; - - // Calculate the coefficients in the LMS space. - var w1 = new Vector3(0.949237f, 1.03542f, 1.08728f); // D65 white point - var w2 = CIExyToLMS(x, y); - return new Vector3(w1.x / w2.x, w1.y / w2.y, w1.z / w2.z); - } - - static Color NormalizeColor(Color c) - { - float sum = (c.r + c.g + c.b) / 3f; - - if (Mathf.Approximately(sum, 0f)) - return new Color(1f, 1f, 1f, c.a); - - return new Color - { - r = c.r / sum, - g = c.g / sum, - b = c.b / sum, - a = c.a - }; - } - - static Vector3 ClampVector(Vector3 v, float min, float max) - { - return new Vector3( - Mathf.Clamp(v.x, min, max), - Mathf.Clamp(v.y, min, max), - Mathf.Clamp(v.z, min, max) - ); - } - - public static Vector3 GetLiftValue(Color lift) - { - const float kLiftScale = 0.1f; - - var nLift = NormalizeColor(lift); - float avgLift = (nLift.r + nLift.g + nLift.b) / 3f; - - // Getting some artifacts when going into the negatives using a very low offset (lift.a) with non ACES-tonemapping - float liftR = (nLift.r - avgLift) * kLiftScale + lift.a; - float liftG = (nLift.g - avgLift) * kLiftScale + lift.a; - float liftB = (nLift.b - avgLift) * kLiftScale + lift.a; - - return ClampVector(new Vector3(liftR, liftG, liftB), -1f, 1f); - } - - public static Vector3 GetGammaValue(Color gamma) - { - const float kGammaScale = 0.5f; - const float kMinGamma = 0.01f; - - var nGamma = NormalizeColor(gamma); - float avgGamma = (nGamma.r + nGamma.g + nGamma.b) / 3f; - - gamma.a *= gamma.a < 0f ? 0.8f : 5f; - float gammaR = Mathf.Pow(2f, (nGamma.r - avgGamma) * kGammaScale) + gamma.a; - float gammaG = Mathf.Pow(2f, (nGamma.g - avgGamma) * kGammaScale) + gamma.a; - float gammaB = Mathf.Pow(2f, (nGamma.b - avgGamma) * kGammaScale) + gamma.a; - - float invGammaR = 1f / Mathf.Max(kMinGamma, gammaR); - float invGammaG = 1f / Mathf.Max(kMinGamma, gammaG); - float invGammaB = 1f / Mathf.Max(kMinGamma, gammaB); - - return ClampVector(new Vector3(invGammaR, invGammaG, invGammaB), 0f, 5f); - } - - public static Vector3 GetGainValue(Color gain) - { - const float kGainScale = 0.5f; - - var nGain = NormalizeColor(gain); - float avgGain = (nGain.r + nGain.g + nGain.b) / 3f; - - gain.a *= gain.a > 0f ? 3f : 1f; - float gainR = Mathf.Pow(2f, (nGain.r - avgGain) * kGainScale) + gain.a; - float gainG = Mathf.Pow(2f, (nGain.g - avgGain) * kGainScale) + gain.a; - float gainB = Mathf.Pow(2f, (nGain.b - avgGain) * kGainScale) + gain.a; - - return ClampVector(new Vector3(gainR, gainG, gainB), 0f, 4f); - } - - public static void CalculateLiftGammaGain(Color lift, Color gamma, Color gain, out Vector3 outLift, out Vector3 outGamma, out Vector3 outGain) - { - outLift = GetLiftValue(lift); - outGamma = GetGammaValue(gamma); - outGain = GetGainValue(gain); - } - - public static Vector3 GetSlopeValue(Color slope) - { - const float kSlopeScale = 0.1f; - - var nSlope = NormalizeColor(slope); - float avgSlope = (nSlope.r + nSlope.g + nSlope.b) / 3f; - - slope.a *= 0.5f; - float slopeR = (nSlope.r - avgSlope) * kSlopeScale + slope.a + 1f; - float slopeG = (nSlope.g - avgSlope) * kSlopeScale + slope.a + 1f; - float slopeB = (nSlope.b - avgSlope) * kSlopeScale + slope.a + 1f; - - return ClampVector(new Vector3(slopeR, slopeG, slopeB), 0f, 2f); - } - - public static Vector3 GetPowerValue(Color power) - { - const float kPowerScale = 0.1f; - const float minPower = 0.01f; - - var nPower = NormalizeColor(power); - float avgPower = (nPower.r + nPower.g + nPower.b) / 3f; - - power.a *= 0.5f; - float powerR = (nPower.r - avgPower) * kPowerScale + power.a + 1f; - float powerG = (nPower.g - avgPower) * kPowerScale + power.a + 1f; - float powerB = (nPower.b - avgPower) * kPowerScale + power.a + 1f; - - float invPowerR = 1f / Mathf.Max(minPower, powerR); - float invPowerG = 1f / Mathf.Max(minPower, powerG); - float invPowerB = 1f / Mathf.Max(minPower, powerB); - - return ClampVector(new Vector3(invPowerR, invPowerG, invPowerB), 0.5f, 2.5f); - } - - public static Vector3 GetOffsetValue(Color offset) - { - const float kOffsetScale = 0.05f; - - var nOffset = NormalizeColor(offset); - float avgOffset = (nOffset.r + nOffset.g + nOffset.b) / 3f; - - offset.a *= 0.5f; - float offsetR = (nOffset.r - avgOffset) * kOffsetScale + offset.a; - float offsetG = (nOffset.g - avgOffset) * kOffsetScale + offset.a; - float offsetB = (nOffset.b - avgOffset) * kOffsetScale + offset.a; - - return ClampVector(new Vector3(offsetR, offsetG, offsetB), -0.8f, 0.8f); - } - - public static void CalculateSlopePowerOffset(Color slope, Color power, Color offset, out Vector3 outSlope, out Vector3 outPower, out Vector3 outOffset) - { - outSlope = GetSlopeValue(slope); - outPower = GetPowerValue(power); - outOffset = GetOffsetValue(offset); - } - - TextureFormat GetCurveFormat() - { - if (SystemInfo.SupportsTextureFormat(TextureFormat.RGBAHalf)) - return TextureFormat.RGBAHalf; - - return TextureFormat.RGBA32; - } - - Texture2D GetCurveTexture() - { - if (m_GradingCurves == null) - { - m_GradingCurves = new Texture2D(k_CurvePrecision, 2, GetCurveFormat(), false, true) - { - name = "Internal Curves Texture", - hideFlags = HideFlags.DontSave, - anisoLevel = 0, - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - } - - var curves = model.settings.curves; - curves.hueVShue.Cache(); - curves.hueVSsat.Cache(); - - for (int i = 0; i < k_CurvePrecision; i++) - { - float t = i * k_CurveStep; - - // HSL - float x = curves.hueVShue.Evaluate(t); - float y = curves.hueVSsat.Evaluate(t); - float z = curves.satVSsat.Evaluate(t); - float w = curves.lumVSsat.Evaluate(t); - m_pixels[i] = new Color(x, y, z, w); - - // YRGB - float m = curves.master.Evaluate(t); - float r = curves.red.Evaluate(t); - float g = curves.green.Evaluate(t); - float b = curves.blue.Evaluate(t); - m_pixels[i + k_CurvePrecision] = new Color(r, g, b, m); - } - - m_GradingCurves.SetPixels(m_pixels); - m_GradingCurves.Apply(false, false); - - return m_GradingCurves; - } - - bool IsLogLutValid(RenderTexture lut) - { - return lut != null && lut.IsCreated() && lut.height == k_InternalLogLutSize; - } - - RenderTextureFormat GetLutFormat() - { - if (SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf)) - return RenderTextureFormat.ARGBHalf; - - return RenderTextureFormat.ARGB32; - } - - void GenerateLut() - { - var settings = model.settings; - - if (!IsLogLutValid(model.bakedLut)) - { - GraphicsUtils.Destroy(model.bakedLut); - - model.bakedLut = new RenderTexture(k_InternalLogLutSize * k_InternalLogLutSize, k_InternalLogLutSize, 0, GetLutFormat()) - { - name = "Color Grading Log LUT", - hideFlags = HideFlags.DontSave, - filterMode = FilterMode.Bilinear, - wrapMode = TextureWrapMode.Clamp, - anisoLevel = 0 - }; - } - - var lutMaterial = context.materialFactory.Get("Hidden/Post FX/Lut Generator"); - lutMaterial.SetVector(Uniforms._LutParams, new Vector4( - k_InternalLogLutSize, - 0.5f / (k_InternalLogLutSize * k_InternalLogLutSize), - 0.5f / k_InternalLogLutSize, - k_InternalLogLutSize / (k_InternalLogLutSize - 1f)) - ); - - // Tonemapping - lutMaterial.shaderKeywords = null; - - var tonemapping = settings.tonemapping; - switch (tonemapping.tonemapper) - { - case ColorGradingModel.Tonemapper.Neutral: - { - lutMaterial.EnableKeyword("TONEMAPPING_NEUTRAL"); - - const float scaleFactor = 20f; - const float scaleFactorHalf = scaleFactor * 0.5f; - - float inBlack = tonemapping.neutralBlackIn * scaleFactor + 1f; - float outBlack = tonemapping.neutralBlackOut * scaleFactorHalf + 1f; - float inWhite = tonemapping.neutralWhiteIn / scaleFactor; - float outWhite = 1f - tonemapping.neutralWhiteOut / scaleFactor; - float blackRatio = inBlack / outBlack; - float whiteRatio = inWhite / outWhite; - - const float a = 0.2f; - float b = Mathf.Max(0f, Mathf.LerpUnclamped(0.57f, 0.37f, blackRatio)); - float c = Mathf.LerpUnclamped(0.01f, 0.24f, whiteRatio); - float d = Mathf.Max(0f, Mathf.LerpUnclamped(0.02f, 0.20f, blackRatio)); - const float e = 0.02f; - const float f = 0.30f; - - lutMaterial.SetVector(Uniforms._NeutralTonemapperParams1, new Vector4(a, b, c, d)); - lutMaterial.SetVector(Uniforms._NeutralTonemapperParams2, new Vector4(e, f, tonemapping.neutralWhiteLevel, tonemapping.neutralWhiteClip / scaleFactorHalf)); - break; - } - - case ColorGradingModel.Tonemapper.ACES: - { - lutMaterial.EnableKeyword("TONEMAPPING_FILMIC"); - break; - } - } - - // Color balance & basic grading settings - lutMaterial.SetFloat(Uniforms._HueShift, settings.basic.hueShift / 360f); - lutMaterial.SetFloat(Uniforms._Saturation, settings.basic.saturation); - lutMaterial.SetFloat(Uniforms._Contrast, settings.basic.contrast); - lutMaterial.SetVector(Uniforms._Balance, CalculateColorBalance(settings.basic.temperature, settings.basic.tint)); - - // Lift / Gamma / Gain - Vector3 lift, gamma, gain; - CalculateLiftGammaGain( - settings.colorWheels.linear.lift, - settings.colorWheels.linear.gamma, - settings.colorWheels.linear.gain, - out lift, out gamma, out gain - ); - - lutMaterial.SetVector(Uniforms._Lift, lift); - lutMaterial.SetVector(Uniforms._InvGamma, gamma); - lutMaterial.SetVector(Uniforms._Gain, gain); - - // Slope / Power / Offset - Vector3 slope, power, offset; - CalculateSlopePowerOffset( - settings.colorWheels.log.slope, - settings.colorWheels.log.power, - settings.colorWheels.log.offset, - out slope, out power, out offset - ); - - lutMaterial.SetVector(Uniforms._Slope, slope); - lutMaterial.SetVector(Uniforms._Power, power); - lutMaterial.SetVector(Uniforms._Offset, offset); - - // Channel mixer - lutMaterial.SetVector(Uniforms._ChannelMixerRed, settings.channelMixer.red); - lutMaterial.SetVector(Uniforms._ChannelMixerGreen, settings.channelMixer.green); - lutMaterial.SetVector(Uniforms._ChannelMixerBlue, settings.channelMixer.blue); - - // Selective grading & YRGB curves - lutMaterial.SetTexture(Uniforms._Curves, GetCurveTexture()); - - // Generate the lut - Graphics.Blit(null, model.bakedLut, lutMaterial, 0); - } - - public override void Prepare(Material uberMaterial) - { - if (model.isDirty || !IsLogLutValid(model.bakedLut)) - { - GenerateLut(); - model.isDirty = false; - } - - uberMaterial.EnableKeyword( - context.profile.debugViews.IsModeActive(DebugMode.PreGradingLog) - ? "COLOR_GRADING_LOG_VIEW" - : "COLOR_GRADING" - ); - - var bakedLut = model.bakedLut; - uberMaterial.SetTexture(Uniforms._LogLut, bakedLut); - uberMaterial.SetVector(Uniforms._LogLut_Params, new Vector3(1f / bakedLut.width, 1f / bakedLut.height, bakedLut.height - 1f)); - - float ev = Mathf.Exp(model.settings.basic.postExposure * 0.69314718055994530941723212145818f); - uberMaterial.SetFloat(Uniforms._ExposureEV, ev); - } - - public void OnGUI() - { - var bakedLut = model.bakedLut; - var rect = new Rect(context.viewport.x * Screen.width + 8f, 8f, bakedLut.width, bakedLut.height); - GUI.DrawTexture(rect, bakedLut); - } - - public override void OnDisable() - { - GraphicsUtils.Destroy(m_GradingCurves); - GraphicsUtils.Destroy(model.bakedLut); - m_GradingCurves = null; - model.bakedLut = null; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs.meta deleted file mode 100644 index 501085386..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ColorGradingComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 9baf73db7c9fc1b478f4a0a1000c86f5 -timeCreated: 1473086520 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/ColorGradingComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs deleted file mode 100644 index c79a33352..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs +++ /dev/null @@ -1,165 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using DebugMode = BuiltinDebugViewsModel.Mode; - - public sealed class DepthOfFieldComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _DepthOfFieldTex = Shader.PropertyToID("_DepthOfFieldTex"); - internal static readonly int _DepthOfFieldCoCTex = Shader.PropertyToID("_DepthOfFieldCoCTex"); - internal static readonly int _Distance = Shader.PropertyToID("_Distance"); - internal static readonly int _LensCoeff = Shader.PropertyToID("_LensCoeff"); - internal static readonly int _MaxCoC = Shader.PropertyToID("_MaxCoC"); - internal static readonly int _RcpMaxCoC = Shader.PropertyToID("_RcpMaxCoC"); - internal static readonly int _RcpAspect = Shader.PropertyToID("_RcpAspect"); - internal static readonly int _MainTex = Shader.PropertyToID("_MainTex"); - internal static readonly int _CoCTex = Shader.PropertyToID("_CoCTex"); - internal static readonly int _TaaParams = Shader.PropertyToID("_TaaParams"); - internal static readonly int _DepthOfFieldParams = Shader.PropertyToID("_DepthOfFieldParams"); - } - - const string k_ShaderString = "Hidden/Post FX/Depth Of Field"; - - public override bool active - { - get - { - return model.enabled - && !context.interrupted; - } - } - - public override DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.Depth; - } - - RenderTexture m_CoCHistory; - - // Height of the 35mm full-frame format (36mm x 24mm) - const float k_FilmHeight = 0.024f; - - float CalculateFocalLength() - { - var settings = model.settings; - - if (!settings.useCameraFov) - return settings.focalLength / 1000f; - - float fov = context.camera.fieldOfView * Mathf.Deg2Rad; - return 0.5f * k_FilmHeight / Mathf.Tan(0.5f * fov); - } - - float CalculateMaxCoCRadius(int screenHeight) - { - // Estimate the allowable maximum radius of CoC from the kernel - // size (the equation below was empirically derived). - float radiusInPixels = (float)model.settings.kernelSize * 4f + 6f; - - // Applying a 5% limit to the CoC radius to keep the size of - // TileMax/NeighborMax small enough. - return Mathf.Min(0.05f, radiusInPixels / screenHeight); - } - - bool CheckHistory(int width, int height) - { - return m_CoCHistory != null && m_CoCHistory.IsCreated() && - m_CoCHistory.width == width && m_CoCHistory.height == height; - } - - RenderTextureFormat SelectFormat(RenderTextureFormat primary, RenderTextureFormat secondary) - { - if (SystemInfo.SupportsRenderTextureFormat(primary)) return primary; - if (SystemInfo.SupportsRenderTextureFormat(secondary)) return secondary; - return RenderTextureFormat.Default; - } - - public void Prepare(RenderTexture source, Material uberMaterial, bool antialiasCoC, Vector2 taaJitter, float taaBlending) - { - var settings = model.settings; - var colorFormat = RenderTextureFormat.DefaultHDR; - var cocFormat = SelectFormat(RenderTextureFormat.R8, RenderTextureFormat.RHalf); - - // Avoid using R8 on OSX with Metal. #896121, https://goo.gl/MgKqu6 - #if (UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX) && !UNITY_2017_1_OR_NEWER - if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Metal) - cocFormat = SelectFormat(RenderTextureFormat.RHalf, RenderTextureFormat.Default); - #endif - - // Material setup - var f = CalculateFocalLength(); - var s1 = Mathf.Max(settings.focusDistance, f); - var aspect = (float)source.width / source.height; - var coeff = f * f / (settings.aperture * (s1 - f) * k_FilmHeight * 2); - var maxCoC = CalculateMaxCoCRadius(source.height); - - var material = context.materialFactory.Get(k_ShaderString); - material.SetFloat(Uniforms._Distance, s1); - material.SetFloat(Uniforms._LensCoeff, coeff); - material.SetFloat(Uniforms._MaxCoC, maxCoC); - material.SetFloat(Uniforms._RcpMaxCoC, 1f / maxCoC); - material.SetFloat(Uniforms._RcpAspect, 1f / aspect); - - // CoC calculation pass - var rtCoC = context.renderTextureFactory.Get(context.width, context.height, 0, cocFormat, RenderTextureReadWrite.Linear); - Graphics.Blit(null, rtCoC, material, 0); - - if (antialiasCoC) - { - // CoC temporal filter pass - material.SetTexture(Uniforms._CoCTex, rtCoC); - - var blend = CheckHistory(context.width, context.height) ? taaBlending : 0f; - material.SetVector(Uniforms._TaaParams, new Vector3(taaJitter.x, taaJitter.y, blend)); - - var rtFiltered = RenderTexture.GetTemporary(context.width, context.height, 0, cocFormat); - Graphics.Blit(m_CoCHistory, rtFiltered, material, 1); - - context.renderTextureFactory.Release(rtCoC); - if (m_CoCHistory != null) RenderTexture.ReleaseTemporary(m_CoCHistory); - - m_CoCHistory = rtCoC = rtFiltered; - } - - // Downsampling and prefiltering pass - var rt1 = context.renderTextureFactory.Get(context.width / 2, context.height / 2, 0, colorFormat); - material.SetTexture(Uniforms._CoCTex, rtCoC); - Graphics.Blit(source, rt1, material, 2); - - // Bokeh simulation pass - var rt2 = context.renderTextureFactory.Get(context.width / 2, context.height / 2, 0, colorFormat); - Graphics.Blit(rt1, rt2, material, 3 + (int)settings.kernelSize); - - // Postfilter pass - Graphics.Blit(rt2, rt1, material, 7); - - // Give the results to the uber shader. - uberMaterial.SetVector(Uniforms._DepthOfFieldParams, new Vector3(s1, coeff, maxCoC)); - - if (context.profile.debugViews.IsModeActive(DebugMode.FocusPlane)) - { - uberMaterial.EnableKeyword("DEPTH_OF_FIELD_COC_VIEW"); - context.Interrupt(); - } - else - { - uberMaterial.SetTexture(Uniforms._DepthOfFieldTex, rt1); - uberMaterial.SetTexture(Uniforms._DepthOfFieldCoCTex, rtCoC); - uberMaterial.EnableKeyword("DEPTH_OF_FIELD"); - } - - context.renderTextureFactory.Release(rt2); - } - - public override void OnDisable() - { - if (m_CoCHistory != null) - RenderTexture.ReleaseTemporary(m_CoCHistory); - - m_CoCHistory = null; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs.meta deleted file mode 100644 index 795ac5fda..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d862c8701bf34c342b95cf9058d0b70c -timeCreated: 1468410915 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs deleted file mode 100644 index a0b594be0..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs +++ /dev/null @@ -1,71 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class DitheringComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _DitheringTex = Shader.PropertyToID("_DitheringTex"); - internal static readonly int _DitheringCoords = Shader.PropertyToID("_DitheringCoords"); - } - - public override bool active - { - get - { - return model.enabled - && !context.interrupted; - } - } - - // Holds 64 64x64 Alpha8 textures (256kb total) - Texture2D[] noiseTextures; - int textureIndex = 0; - - const int k_TextureCount = 64; - - public override void OnDisable() - { - noiseTextures = null; - } - - void LoadNoiseTextures() - { - noiseTextures = new Texture2D[k_TextureCount]; - - for (int i = 0; i < k_TextureCount; i++) - noiseTextures[i] = Resources.Load("Bluenoise64/LDR_LLL1_" + i); - } - - public override void Prepare(Material uberMaterial) - { - float rndOffsetX; - float rndOffsetY; - -#if POSTFX_DEBUG_STATIC_DITHERING - textureIndex = 0; - rndOffsetX = 0f; - rndOffsetY = 0f; -#else - if (++textureIndex >= k_TextureCount) - textureIndex = 0; - - rndOffsetX = Random.value; - rndOffsetY = Random.value; -#endif - - if (noiseTextures == null) - LoadNoiseTextures(); - - var noiseTex = noiseTextures[textureIndex]; - - uberMaterial.EnableKeyword("DITHERING"); - uberMaterial.SetTexture(Uniforms._DitheringTex, noiseTex); - uberMaterial.SetVector(Uniforms._DitheringCoords, new Vector4( - (float)context.width / (float)noiseTex.width, - (float)context.height / (float)noiseTex.height, - rndOffsetX, - rndOffsetY - )); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs.meta deleted file mode 100644 index 088b1d157..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/DitheringComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 35ceb4b3cfab56d43a3f0efeb9d68c43 -timeCreated: 1485179235 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/DitheringComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs deleted file mode 100644 index 2d07ba6f0..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs +++ /dev/null @@ -1,185 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class EyeAdaptationComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _Params = Shader.PropertyToID("_Params"); - internal static readonly int _Speed = Shader.PropertyToID("_Speed"); - internal static readonly int _ScaleOffsetRes = Shader.PropertyToID("_ScaleOffsetRes"); - internal static readonly int _ExposureCompensation = Shader.PropertyToID("_ExposureCompensation"); - internal static readonly int _AutoExposure = Shader.PropertyToID("_AutoExposure"); - internal static readonly int _DebugWidth = Shader.PropertyToID("_DebugWidth"); - } - - ComputeShader m_EyeCompute; - ComputeBuffer m_HistogramBuffer; - - readonly RenderTexture[] m_AutoExposurePool = new RenderTexture[2]; - int m_AutoExposurePingPing; - RenderTexture m_CurrentAutoExposure; - - RenderTexture m_DebugHistogram; - - static uint[] s_EmptyHistogramBuffer; - - bool m_FirstFrame = true; - - // Don't forget to update 'EyeAdaptation.cginc' if you change these values ! - const int k_HistogramBins = 64; - const int k_HistogramThreadX = 16; - const int k_HistogramThreadY = 16; - - public override bool active - { - get - { - return model.enabled - && SystemInfo.supportsComputeShaders - && !context.interrupted; - } - } - - public void ResetHistory() - { - m_FirstFrame = true; - } - - public override void OnEnable() - { - m_FirstFrame = true; - } - - public override void OnDisable() - { - foreach (var rt in m_AutoExposurePool) - GraphicsUtils.Destroy(rt); - - if (m_HistogramBuffer != null) - m_HistogramBuffer.Release(); - - m_HistogramBuffer = null; - - if (m_DebugHistogram != null) - m_DebugHistogram.Release(); - - m_DebugHistogram = null; - } - - Vector4 GetHistogramScaleOffsetRes() - { - var settings = model.settings; - float diff = settings.logMax - settings.logMin; - float scale = 1f / diff; - float offset = -settings.logMin * scale; - return new Vector4(scale, offset, Mathf.Floor(context.width / 2f), Mathf.Floor(context.height / 2f)); - } - - public Texture Prepare(RenderTexture source, Material uberMaterial) - { - var settings = model.settings; - - // Setup compute - if (m_EyeCompute == null) - m_EyeCompute = Resources.Load("Shaders/EyeHistogram"); - - var material = context.materialFactory.Get("Hidden/Post FX/Eye Adaptation"); - material.shaderKeywords = null; - - if (m_HistogramBuffer == null) - m_HistogramBuffer = new ComputeBuffer(k_HistogramBins, sizeof(uint)); - - if (s_EmptyHistogramBuffer == null) - s_EmptyHistogramBuffer = new uint[k_HistogramBins]; - - // Downscale the framebuffer, we don't need an absolute precision for auto exposure and it - // helps making it more stable - var scaleOffsetRes = GetHistogramScaleOffsetRes(); - - var rt = context.renderTextureFactory.Get((int)scaleOffsetRes.z, (int)scaleOffsetRes.w, 0, source.format); - Graphics.Blit(source, rt); - - if (m_AutoExposurePool[0] == null || !m_AutoExposurePool[0].IsCreated()) - m_AutoExposurePool[0] = new RenderTexture(1, 1, 0, RenderTextureFormat.RFloat); - - if (m_AutoExposurePool[1] == null || !m_AutoExposurePool[1].IsCreated()) - m_AutoExposurePool[1] = new RenderTexture(1, 1, 0, RenderTextureFormat.RFloat); - - // Clears the buffer on every frame as we use it to accumulate luminance values on each frame - m_HistogramBuffer.SetData(s_EmptyHistogramBuffer); - - // Gets a log histogram - int kernel = m_EyeCompute.FindKernel("KEyeHistogram"); - m_EyeCompute.SetBuffer(kernel, "_Histogram", m_HistogramBuffer); - m_EyeCompute.SetTexture(kernel, "_Source", rt); - m_EyeCompute.SetVector("_ScaleOffsetRes", scaleOffsetRes); - m_EyeCompute.Dispatch(kernel, Mathf.CeilToInt(rt.width / (float)k_HistogramThreadX), Mathf.CeilToInt(rt.height / (float)k_HistogramThreadY), 1); - - // Cleanup - context.renderTextureFactory.Release(rt); - - // Make sure filtering values are correct to avoid apocalyptic consequences - const float minDelta = 1e-2f; - settings.highPercent = Mathf.Clamp(settings.highPercent, 1f + minDelta, 99f); - settings.lowPercent = Mathf.Clamp(settings.lowPercent, 1f, settings.highPercent - minDelta); - - // Compute auto exposure - material.SetBuffer("_Histogram", m_HistogramBuffer); // No (int, buffer) overload for SetBuffer ? - material.SetVector(Uniforms._Params, new Vector4(settings.lowPercent * 0.01f, settings.highPercent * 0.01f, Mathf.Exp(settings.minLuminance * 0.69314718055994530941723212145818f), Mathf.Exp(settings.maxLuminance * 0.69314718055994530941723212145818f))); - material.SetVector(Uniforms._Speed, new Vector2(settings.speedDown, settings.speedUp)); - material.SetVector(Uniforms._ScaleOffsetRes, scaleOffsetRes); - material.SetFloat(Uniforms._ExposureCompensation, settings.keyValue); - - if (settings.dynamicKeyValue) - material.EnableKeyword("AUTO_KEY_VALUE"); - - if (m_FirstFrame || !Application.isPlaying) - { - // We don't want eye adaptation when not in play mode because the GameView isn't - // animated, thus making it harder to tweak. Just use the final audo exposure value. - m_CurrentAutoExposure = m_AutoExposurePool[0]; - Graphics.Blit(null, m_CurrentAutoExposure, material, (int)EyeAdaptationModel.EyeAdaptationType.Fixed); - - // Copy current exposure to the other pingpong target to avoid adapting from black - Graphics.Blit(m_AutoExposurePool[0], m_AutoExposurePool[1]); - } - else - { - int pp = m_AutoExposurePingPing; - var src = m_AutoExposurePool[++pp % 2]; - var dst = m_AutoExposurePool[++pp % 2]; - Graphics.Blit(src, dst, material, (int)settings.adaptationType); - m_AutoExposurePingPing = ++pp % 2; - m_CurrentAutoExposure = dst; - } - - // Generate debug histogram - if (context.profile.debugViews.IsModeActive(BuiltinDebugViewsModel.Mode.EyeAdaptation)) - { - if (m_DebugHistogram == null || !m_DebugHistogram.IsCreated()) - { - m_DebugHistogram = new RenderTexture(256, 128, 0, RenderTextureFormat.ARGB32) - { - filterMode = FilterMode.Point, - wrapMode = TextureWrapMode.Clamp - }; - } - - material.SetFloat(Uniforms._DebugWidth, m_DebugHistogram.width); - Graphics.Blit(null, m_DebugHistogram, material, 2); - } - - m_FirstFrame = false; - return m_CurrentAutoExposure; - } - - public void OnGUI() - { - if (m_DebugHistogram == null || !m_DebugHistogram.IsCreated()) - return; - - var rect = new Rect(context.viewport.x * Screen.width + 8f, 8f, m_DebugHistogram.width, m_DebugHistogram.height); - GUI.DrawTexture(rect, m_DebugHistogram); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs.meta deleted file mode 100644 index 683c71d3d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c227d71a4040d304c943c26e0914bdeb -timeCreated: 1473088756 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs deleted file mode 100644 index f04691e78..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs +++ /dev/null @@ -1,79 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - public sealed class FogComponent : PostProcessingComponentCommandBuffer - { - static class Uniforms - { - internal static readonly int _FogColor = Shader.PropertyToID("_FogColor"); - internal static readonly int _Density = Shader.PropertyToID("_Density"); - internal static readonly int _Start = Shader.PropertyToID("_Start"); - internal static readonly int _End = Shader.PropertyToID("_End"); - internal static readonly int _TempRT = Shader.PropertyToID("_TempRT"); - } - - const string k_ShaderString = "Hidden/Post FX/Fog"; - - public override bool active - { - get - { - return model.enabled - && context.isGBufferAvailable // In forward fog is already done at shader level - && RenderSettings.fog - && !context.interrupted; - } - } - - public override string GetName() - { - return "Fog"; - } - - public override DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.Depth; - } - - public override CameraEvent GetCameraEvent() - { - return CameraEvent.AfterImageEffectsOpaque; - } - - public override void PopulateCommandBuffer(CommandBuffer cb) - { - var settings = model.settings; - - var material = context.materialFactory.Get(k_ShaderString); - material.shaderKeywords = null; - var fogColor = GraphicsUtils.isLinearColorSpace ? RenderSettings.fogColor.linear : RenderSettings.fogColor; - material.SetColor(Uniforms._FogColor, fogColor); - material.SetFloat(Uniforms._Density, RenderSettings.fogDensity); - material.SetFloat(Uniforms._Start, RenderSettings.fogStartDistance); - material.SetFloat(Uniforms._End, RenderSettings.fogEndDistance); - - switch (RenderSettings.fogMode) - { - case FogMode.Linear: - material.EnableKeyword("FOG_LINEAR"); - break; - case FogMode.Exponential: - material.EnableKeyword("FOG_EXP"); - break; - case FogMode.ExponentialSquared: - material.EnableKeyword("FOG_EXP2"); - break; - } - - var fbFormat = context.isHdr - ? RenderTextureFormat.DefaultHDR - : RenderTextureFormat.Default; - - cb.GetTemporaryRT(Uniforms._TempRT, context.width, context.height, 24, FilterMode.Bilinear, fbFormat); - cb.Blit(BuiltinRenderTextureType.CameraTarget, Uniforms._TempRT); - cb.Blit(Uniforms._TempRT, BuiltinRenderTextureType.CameraTarget, material, settings.excludeSkybox ? 1 : 0); - cb.ReleaseTemporaryRT(Uniforms._TempRT); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs.meta deleted file mode 100644 index 4d86c0898..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FogComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d0363c1cc7de62b4989190994103f5e2 -timeCreated: 1487334918 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/FogComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs deleted file mode 100644 index d3b03dd9c..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs +++ /dev/null @@ -1,48 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class FxaaComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _QualitySettings = Shader.PropertyToID("_QualitySettings"); - internal static readonly int _ConsoleSettings = Shader.PropertyToID("_ConsoleSettings"); - } - - public override bool active - { - get - { - return model.enabled - && model.settings.method == AntialiasingModel.Method.Fxaa - && !context.interrupted; - } - } - - public void Render(RenderTexture source, RenderTexture destination) - { - var settings = model.settings.fxaaSettings; - var material = context.materialFactory.Get("Hidden/Post FX/FXAA"); - var qualitySettings = AntialiasingModel.FxaaQualitySettings.presets[(int)settings.preset]; - var consoleSettings = AntialiasingModel.FxaaConsoleSettings.presets[(int)settings.preset]; - - material.SetVector(Uniforms._QualitySettings, - new Vector3( - qualitySettings.subpixelAliasingRemovalAmount, - qualitySettings.edgeDetectionThreshold, - qualitySettings.minimumRequiredLuminance - ) - ); - - material.SetVector(Uniforms._ConsoleSettings, - new Vector4( - consoleSettings.subpixelSpreadAmount, - consoleSettings.edgeSharpnessAmount, - consoleSettings.edgeDetectionThreshold, - consoleSettings.minimumRequiredLuminance - ) - ); - - Graphics.Blit(source, destination, material, 0); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs.meta deleted file mode 100644 index 47ada7cee..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/FxaaComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d4e1109c5030ca04e9a28243a35155ff -timeCreated: 1473088423 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/FxaaComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs deleted file mode 100644 index 10c2a475d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs +++ /dev/null @@ -1,79 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class GrainComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _Grain_Params1 = Shader.PropertyToID("_Grain_Params1"); - internal static readonly int _Grain_Params2 = Shader.PropertyToID("_Grain_Params2"); - internal static readonly int _GrainTex = Shader.PropertyToID("_GrainTex"); - internal static readonly int _Phase = Shader.PropertyToID("_Phase"); - } - - public override bool active - { - get - { - return model.enabled - && model.settings.intensity > 0f - && SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf) - && !context.interrupted; - } - } - - RenderTexture m_GrainLookupRT; - - public override void OnDisable() - { - GraphicsUtils.Destroy(m_GrainLookupRT); - m_GrainLookupRT = null; - } - - public override void Prepare(Material uberMaterial) - { - var settings = model.settings; - - uberMaterial.EnableKeyword("GRAIN"); - - float rndOffsetX; - float rndOffsetY; - -#if POSTFX_DEBUG_STATIC_GRAIN - // Chosen by a fair dice roll - float time = 4f; - rndOffsetX = 0f; - rndOffsetY = 0f; -#else - float time = Time.realtimeSinceStartup; - rndOffsetX = Random.value; - rndOffsetY = Random.value; -#endif - - // Generate the grain lut for the current frame first - if (m_GrainLookupRT == null || !m_GrainLookupRT.IsCreated()) - { - GraphicsUtils.Destroy(m_GrainLookupRT); - - m_GrainLookupRT = new RenderTexture(192, 192, 0, RenderTextureFormat.ARGBHalf) - { - filterMode = FilterMode.Bilinear, - wrapMode = TextureWrapMode.Repeat, - anisoLevel = 0, - name = "Grain Lookup Texture" - }; - - m_GrainLookupRT.Create(); - } - - var grainMaterial = context.materialFactory.Get("Hidden/Post FX/Grain Generator"); - grainMaterial.SetFloat(Uniforms._Phase, time / 20f); - - Graphics.Blit((Texture)null, m_GrainLookupRT, grainMaterial, settings.colored ? 1 : 0); - - // Send everything to the uber shader - uberMaterial.SetTexture(Uniforms._GrainTex, m_GrainLookupRT); - uberMaterial.SetVector(Uniforms._Grain_Params1, new Vector2(settings.luminanceContribution, settings.intensity * 20f)); - uberMaterial.SetVector(Uniforms._Grain_Params2, new Vector4((float)context.width / (float)m_GrainLookupRT.width / settings.size, (float)context.height / (float)m_GrainLookupRT.height / settings.size, rndOffsetX, rndOffsetY)); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs.meta deleted file mode 100644 index 6ccace7d3..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/GrainComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 6ff793ec42153c34799eed059982bac3 -timeCreated: 1473084716 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/GrainComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs deleted file mode 100644 index 4f7938185..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs +++ /dev/null @@ -1,444 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using Settings = MotionBlurModel.Settings; - - public sealed class MotionBlurComponent : PostProcessingComponentCommandBuffer - { - static class Uniforms - { - internal static readonly int _VelocityScale = Shader.PropertyToID("_VelocityScale"); - internal static readonly int _MaxBlurRadius = Shader.PropertyToID("_MaxBlurRadius"); - internal static readonly int _RcpMaxBlurRadius = Shader.PropertyToID("_RcpMaxBlurRadius"); - internal static readonly int _VelocityTex = Shader.PropertyToID("_VelocityTex"); - internal static readonly int _MainTex = Shader.PropertyToID("_MainTex"); - internal static readonly int _Tile2RT = Shader.PropertyToID("_Tile2RT"); - internal static readonly int _Tile4RT = Shader.PropertyToID("_Tile4RT"); - internal static readonly int _Tile8RT = Shader.PropertyToID("_Tile8RT"); - internal static readonly int _TileMaxOffs = Shader.PropertyToID("_TileMaxOffs"); - internal static readonly int _TileMaxLoop = Shader.PropertyToID("_TileMaxLoop"); - internal static readonly int _TileVRT = Shader.PropertyToID("_TileVRT"); - internal static readonly int _NeighborMaxTex = Shader.PropertyToID("_NeighborMaxTex"); - internal static readonly int _LoopCount = Shader.PropertyToID("_LoopCount"); - internal static readonly int _TempRT = Shader.PropertyToID("_TempRT"); - - internal static readonly int _History1LumaTex = Shader.PropertyToID("_History1LumaTex"); - internal static readonly int _History2LumaTex = Shader.PropertyToID("_History2LumaTex"); - internal static readonly int _History3LumaTex = Shader.PropertyToID("_History3LumaTex"); - internal static readonly int _History4LumaTex = Shader.PropertyToID("_History4LumaTex"); - - internal static readonly int _History1ChromaTex = Shader.PropertyToID("_History1ChromaTex"); - internal static readonly int _History2ChromaTex = Shader.PropertyToID("_History2ChromaTex"); - internal static readonly int _History3ChromaTex = Shader.PropertyToID("_History3ChromaTex"); - internal static readonly int _History4ChromaTex = Shader.PropertyToID("_History4ChromaTex"); - - internal static readonly int _History1Weight = Shader.PropertyToID("_History1Weight"); - internal static readonly int _History2Weight = Shader.PropertyToID("_History2Weight"); - internal static readonly int _History3Weight = Shader.PropertyToID("_History3Weight"); - internal static readonly int _History4Weight = Shader.PropertyToID("_History4Weight"); - } - - enum Pass - { - VelocitySetup, - TileMax1, - TileMax2, - TileMaxV, - NeighborMax, - Reconstruction, - FrameCompression, - FrameBlendingChroma, - FrameBlendingRaw - } - - public class ReconstructionFilter - { - // Texture format for storing 2D vectors. - RenderTextureFormat m_VectorRTFormat = RenderTextureFormat.RGHalf; - - // Texture format for storing packed velocity/depth. - RenderTextureFormat m_PackedRTFormat = RenderTextureFormat.ARGB2101010; - - public ReconstructionFilter() - { - CheckTextureFormatSupport(); - } - - void CheckTextureFormatSupport() - { - // If 2:10:10:10 isn't supported, use ARGB32 instead. - if (!SystemInfo.SupportsRenderTextureFormat(m_PackedRTFormat)) - m_PackedRTFormat = RenderTextureFormat.ARGB32; - } - - public bool IsSupported() - { - return SystemInfo.supportsMotionVectors; - } - - public void ProcessImage(PostProcessingContext context, CommandBuffer cb, ref Settings settings, RenderTargetIdentifier source, RenderTargetIdentifier destination, Material material) - { - const float kMaxBlurRadius = 5f; - - // Calculate the maximum blur radius in pixels. - int maxBlurPixels = (int)(kMaxBlurRadius * context.height / 100); - - // Calculate the TileMax size. - // It should be a multiple of 8 and larger than maxBlur. - int tileSize = ((maxBlurPixels - 1) / 8 + 1) * 8; - - // Pass 1 - Velocity/depth packing - var velocityScale = settings.shutterAngle / 360f; - cb.SetGlobalFloat(Uniforms._VelocityScale, velocityScale); - cb.SetGlobalFloat(Uniforms._MaxBlurRadius, maxBlurPixels); - cb.SetGlobalFloat(Uniforms._RcpMaxBlurRadius, 1f / maxBlurPixels); - - int vbuffer = Uniforms._VelocityTex; - cb.GetTemporaryRT(vbuffer, context.width, context.height, 0, FilterMode.Point, m_PackedRTFormat, RenderTextureReadWrite.Linear); - cb.Blit((Texture)null, vbuffer, material, (int)Pass.VelocitySetup); - - // Pass 2 - First TileMax filter (1/2 downsize) - int tile2 = Uniforms._Tile2RT; - cb.GetTemporaryRT(tile2, context.width / 2, context.height / 2, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear); - cb.SetGlobalTexture(Uniforms._MainTex, vbuffer); - cb.Blit(vbuffer, tile2, material, (int)Pass.TileMax1); - - // Pass 3 - Second TileMax filter (1/2 downsize) - int tile4 = Uniforms._Tile4RT; - cb.GetTemporaryRT(tile4, context.width / 4, context.height / 4, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear); - cb.SetGlobalTexture(Uniforms._MainTex, tile2); - cb.Blit(tile2, tile4, material, (int)Pass.TileMax2); - cb.ReleaseTemporaryRT(tile2); - - // Pass 4 - Third TileMax filter (1/2 downsize) - int tile8 = Uniforms._Tile8RT; - cb.GetTemporaryRT(tile8, context.width / 8, context.height / 8, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear); - cb.SetGlobalTexture(Uniforms._MainTex, tile4); - cb.Blit(tile4, tile8, material, (int)Pass.TileMax2); - cb.ReleaseTemporaryRT(tile4); - - // Pass 5 - Fourth TileMax filter (reduce to tileSize) - var tileMaxOffs = Vector2.one * (tileSize / 8f - 1f) * -0.5f; - cb.SetGlobalVector(Uniforms._TileMaxOffs, tileMaxOffs); - cb.SetGlobalFloat(Uniforms._TileMaxLoop, (int)(tileSize / 8f)); - - int tile = Uniforms._TileVRT; - cb.GetTemporaryRT(tile, context.width / tileSize, context.height / tileSize, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear); - cb.SetGlobalTexture(Uniforms._MainTex, tile8); - cb.Blit(tile8, tile, material, (int)Pass.TileMaxV); - cb.ReleaseTemporaryRT(tile8); - - // Pass 6 - NeighborMax filter - int neighborMax = Uniforms._NeighborMaxTex; - int neighborMaxWidth = context.width / tileSize; - int neighborMaxHeight = context.height / tileSize; - cb.GetTemporaryRT(neighborMax, neighborMaxWidth, neighborMaxHeight, 0, FilterMode.Point, m_VectorRTFormat, RenderTextureReadWrite.Linear); - cb.SetGlobalTexture(Uniforms._MainTex, tile); - cb.Blit(tile, neighborMax, material, (int)Pass.NeighborMax); - cb.ReleaseTemporaryRT(tile); - - // Pass 7 - Reconstruction pass - cb.SetGlobalFloat(Uniforms._LoopCount, Mathf.Clamp(settings.sampleCount / 2, 1, 64)); - cb.SetGlobalTexture(Uniforms._MainTex, source); - - cb.Blit(source, destination, material, (int)Pass.Reconstruction); - - cb.ReleaseTemporaryRT(vbuffer); - cb.ReleaseTemporaryRT(neighborMax); - } - } - - public class FrameBlendingFilter - { - struct Frame - { - public RenderTexture lumaTexture; - public RenderTexture chromaTexture; - - float m_Time; - RenderTargetIdentifier[] m_MRT; - - public float CalculateWeight(float strength, float currentTime) - { - if (Mathf.Approximately(m_Time, 0f)) - return 0f; - - var coeff = Mathf.Lerp(80f, 16f, strength); - return Mathf.Exp((m_Time - currentTime) * coeff); - } - - public void Release() - { - if (lumaTexture != null) - RenderTexture.ReleaseTemporary(lumaTexture); - - if (chromaTexture != null) - RenderTexture.ReleaseTemporary(chromaTexture); - - lumaTexture = null; - chromaTexture = null; - } - - public void MakeRecord(CommandBuffer cb, RenderTargetIdentifier source, int width, int height, Material material) - { - Release(); - - lumaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8, RenderTextureReadWrite.Linear); - chromaTexture = RenderTexture.GetTemporary(width, height, 0, RenderTextureFormat.R8, RenderTextureReadWrite.Linear); - - lumaTexture.filterMode = FilterMode.Point; - chromaTexture.filterMode = FilterMode.Point; - - if (m_MRT == null) - m_MRT = new RenderTargetIdentifier[2]; - - m_MRT[0] = lumaTexture; - m_MRT[1] = chromaTexture; - - cb.SetGlobalTexture(Uniforms._MainTex, source); - cb.SetRenderTarget(m_MRT, lumaTexture); - cb.DrawMesh(GraphicsUtils.quad, Matrix4x4.identity, material, 0, (int)Pass.FrameCompression); - - m_Time = Time.time; - } - - public void MakeRecordRaw(CommandBuffer cb, RenderTargetIdentifier source, int width, int height, RenderTextureFormat format) - { - Release(); - - lumaTexture = RenderTexture.GetTemporary(width, height, 0, format); - lumaTexture.filterMode = FilterMode.Point; - - cb.SetGlobalTexture(Uniforms._MainTex, source); - cb.Blit(source, lumaTexture); - - m_Time = Time.time; - } - } - - bool m_UseCompression; - RenderTextureFormat m_RawTextureFormat; - - Frame[] m_FrameList; - int m_LastFrameCount; - - public FrameBlendingFilter() - { - m_UseCompression = CheckSupportCompression(); - m_RawTextureFormat = GetPreferredRenderTextureFormat(); - m_FrameList = new Frame[4]; - } - - public void Dispose() - { - foreach (var frame in m_FrameList) - frame.Release(); - } - - public void PushFrame(CommandBuffer cb, RenderTargetIdentifier source, int width, int height, Material material) - { - // Push only when actual update (do nothing while pausing) - var frameCount = Time.frameCount; - if (frameCount == m_LastFrameCount) return; - - // Update the frame record. - var index = frameCount % m_FrameList.Length; - - if (m_UseCompression) - m_FrameList[index].MakeRecord(cb, source, width, height, material); - else - m_FrameList[index].MakeRecordRaw(cb, source, width, height, m_RawTextureFormat); - - m_LastFrameCount = frameCount; - } - - public void BlendFrames(CommandBuffer cb, float strength, RenderTargetIdentifier source, RenderTargetIdentifier destination, Material material) - { - var t = Time.time; - - var f1 = GetFrameRelative(-1); - var f2 = GetFrameRelative(-2); - var f3 = GetFrameRelative(-3); - var f4 = GetFrameRelative(-4); - - cb.SetGlobalTexture(Uniforms._History1LumaTex, f1.lumaTexture); - cb.SetGlobalTexture(Uniforms._History2LumaTex, f2.lumaTexture); - cb.SetGlobalTexture(Uniforms._History3LumaTex, f3.lumaTexture); - cb.SetGlobalTexture(Uniforms._History4LumaTex, f4.lumaTexture); - - cb.SetGlobalTexture(Uniforms._History1ChromaTex, f1.chromaTexture); - cb.SetGlobalTexture(Uniforms._History2ChromaTex, f2.chromaTexture); - cb.SetGlobalTexture(Uniforms._History3ChromaTex, f3.chromaTexture); - cb.SetGlobalTexture(Uniforms._History4ChromaTex, f4.chromaTexture); - - cb.SetGlobalFloat(Uniforms._History1Weight, f1.CalculateWeight(strength, t)); - cb.SetGlobalFloat(Uniforms._History2Weight, f2.CalculateWeight(strength, t)); - cb.SetGlobalFloat(Uniforms._History3Weight, f3.CalculateWeight(strength, t)); - cb.SetGlobalFloat(Uniforms._History4Weight, f4.CalculateWeight(strength, t)); - - cb.SetGlobalTexture(Uniforms._MainTex, source); - cb.Blit(source, destination, material, m_UseCompression ? (int)Pass.FrameBlendingChroma : (int)Pass.FrameBlendingRaw); - } - - // Check if the platform has the capability of compression. - static bool CheckSupportCompression() - { - return - SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.R8) && - SystemInfo.supportedRenderTargetCount > 1; - } - - // Determine which 16-bit render texture format is available. - static RenderTextureFormat GetPreferredRenderTextureFormat() - { - RenderTextureFormat[] formats = - { - RenderTextureFormat.RGB565, - RenderTextureFormat.ARGB1555, - RenderTextureFormat.ARGB4444 - }; - - foreach (var f in formats) - if (SystemInfo.SupportsRenderTextureFormat(f)) return f; - - return RenderTextureFormat.Default; - } - - // Retrieve a frame record with relative indexing. - // Use a negative index to refer to previous frames. - Frame GetFrameRelative(int offset) - { - var index = (Time.frameCount + m_FrameList.Length + offset) % m_FrameList.Length; - return m_FrameList[index]; - } - } - - ReconstructionFilter m_ReconstructionFilter; - public ReconstructionFilter reconstructionFilter - { - get - { - if (m_ReconstructionFilter == null) - m_ReconstructionFilter = new ReconstructionFilter(); - - return m_ReconstructionFilter; - } - } - - FrameBlendingFilter m_FrameBlendingFilter; - public FrameBlendingFilter frameBlendingFilter - { - get - { - if (m_FrameBlendingFilter == null) - m_FrameBlendingFilter = new FrameBlendingFilter(); - - return m_FrameBlendingFilter; - } - } - - bool m_FirstFrame = true; - - public override bool active - { - get - { - var settings = model.settings; - return model.enabled - && ((settings.shutterAngle > 0f && reconstructionFilter.IsSupported()) || settings.frameBlending > 0f) - && SystemInfo.graphicsDeviceType != GraphicsDeviceType.OpenGLES2 // No movecs on GLES2 platforms - && !context.interrupted; - } - } - - public override string GetName() - { - return "Motion Blur"; - } - - public void ResetHistory() - { - if (m_FrameBlendingFilter != null) - m_FrameBlendingFilter.Dispose(); - - m_FrameBlendingFilter = null; - } - - public override DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.Depth | DepthTextureMode.MotionVectors; - } - - public override CameraEvent GetCameraEvent() - { - return CameraEvent.BeforeImageEffects; - } - - public override void OnEnable() - { - m_FirstFrame = true; - } - - public override void PopulateCommandBuffer(CommandBuffer cb) - { -#if UNITY_EDITOR - // Don't render motion blur preview when the editor is not playing as it can in some - // cases results in ugly artifacts (i.e. when resizing the game view). - if (!Application.isPlaying) - return; -#endif - - // Skip rendering in the first frame as motion vectors won't be abvailable until the - // next one - if (m_FirstFrame) - { - m_FirstFrame = false; - return; - } - - var material = context.materialFactory.Get("Hidden/Post FX/Motion Blur"); - var blitMaterial = context.materialFactory.Get("Hidden/Post FX/Blit"); - var settings = model.settings; - - var fbFormat = context.isHdr - ? RenderTextureFormat.DefaultHDR - : RenderTextureFormat.Default; - - int tempRT = Uniforms._TempRT; - cb.GetTemporaryRT(tempRT, context.width, context.height, 0, FilterMode.Point, fbFormat); - - if (settings.shutterAngle > 0f && settings.frameBlending > 0f) - { - // Motion blur + frame blending - reconstructionFilter.ProcessImage(context, cb, ref settings, BuiltinRenderTextureType.CameraTarget, tempRT, material); - frameBlendingFilter.BlendFrames(cb, settings.frameBlending, tempRT, BuiltinRenderTextureType.CameraTarget, material); - frameBlendingFilter.PushFrame(cb, tempRT, context.width, context.height, material); - } - else if (settings.shutterAngle > 0f) - { - // No frame blending - cb.SetGlobalTexture(Uniforms._MainTex, BuiltinRenderTextureType.CameraTarget); - cb.Blit(BuiltinRenderTextureType.CameraTarget, tempRT, blitMaterial, 0); - reconstructionFilter.ProcessImage(context, cb, ref settings, tempRT, BuiltinRenderTextureType.CameraTarget, material); - } - else if (settings.frameBlending > 0f) - { - // Frame blending only - cb.SetGlobalTexture(Uniforms._MainTex, BuiltinRenderTextureType.CameraTarget); - cb.Blit(BuiltinRenderTextureType.CameraTarget, tempRT, blitMaterial, 0); - frameBlendingFilter.BlendFrames(cb, settings.frameBlending, tempRT, BuiltinRenderTextureType.CameraTarget, material); - frameBlendingFilter.PushFrame(cb, tempRT, context.width, context.height, material); - } - - // Cleaning up - cb.ReleaseTemporaryRT(tempRT); - } - - public override void OnDisable() - { - if (m_FrameBlendingFilter != null) - m_FrameBlendingFilter.Dispose(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs.meta deleted file mode 100644 index c43b7bfde..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/MotionBlurComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 9a9ae59cbb7c53e40851df7f32805098 -timeCreated: 1468325905 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/MotionBlurComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs deleted file mode 100644 index 7411f8515..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs +++ /dev/null @@ -1,239 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using SSRResolution = ScreenSpaceReflectionModel.SSRResolution; - using SSRReflectionBlendType = ScreenSpaceReflectionModel.SSRReflectionBlendType; - - public sealed class ScreenSpaceReflectionComponent : PostProcessingComponentCommandBuffer - { - static class Uniforms - { - internal static readonly int _RayStepSize = Shader.PropertyToID("_RayStepSize"); - internal static readonly int _AdditiveReflection = Shader.PropertyToID("_AdditiveReflection"); - internal static readonly int _BilateralUpsampling = Shader.PropertyToID("_BilateralUpsampling"); - internal static readonly int _TreatBackfaceHitAsMiss = Shader.PropertyToID("_TreatBackfaceHitAsMiss"); - internal static readonly int _AllowBackwardsRays = Shader.PropertyToID("_AllowBackwardsRays"); - internal static readonly int _TraceBehindObjects = Shader.PropertyToID("_TraceBehindObjects"); - internal static readonly int _MaxSteps = Shader.PropertyToID("_MaxSteps"); - internal static readonly int _FullResolutionFiltering = Shader.PropertyToID("_FullResolutionFiltering"); - internal static readonly int _HalfResolution = Shader.PropertyToID("_HalfResolution"); - internal static readonly int _HighlightSuppression = Shader.PropertyToID("_HighlightSuppression"); - internal static readonly int _PixelsPerMeterAtOneMeter = Shader.PropertyToID("_PixelsPerMeterAtOneMeter"); - internal static readonly int _ScreenEdgeFading = Shader.PropertyToID("_ScreenEdgeFading"); - internal static readonly int _ReflectionBlur = Shader.PropertyToID("_ReflectionBlur"); - internal static readonly int _MaxRayTraceDistance = Shader.PropertyToID("_MaxRayTraceDistance"); - internal static readonly int _FadeDistance = Shader.PropertyToID("_FadeDistance"); - internal static readonly int _LayerThickness = Shader.PropertyToID("_LayerThickness"); - internal static readonly int _SSRMultiplier = Shader.PropertyToID("_SSRMultiplier"); - internal static readonly int _FresnelFade = Shader.PropertyToID("_FresnelFade"); - internal static readonly int _FresnelFadePower = Shader.PropertyToID("_FresnelFadePower"); - internal static readonly int _ReflectionBufferSize = Shader.PropertyToID("_ReflectionBufferSize"); - internal static readonly int _ScreenSize = Shader.PropertyToID("_ScreenSize"); - internal static readonly int _InvScreenSize = Shader.PropertyToID("_InvScreenSize"); - internal static readonly int _ProjInfo = Shader.PropertyToID("_ProjInfo"); - internal static readonly int _CameraClipInfo = Shader.PropertyToID("_CameraClipInfo"); - internal static readonly int _ProjectToPixelMatrix = Shader.PropertyToID("_ProjectToPixelMatrix"); - internal static readonly int _WorldToCameraMatrix = Shader.PropertyToID("_WorldToCameraMatrix"); - internal static readonly int _CameraToWorldMatrix = Shader.PropertyToID("_CameraToWorldMatrix"); - internal static readonly int _Axis = Shader.PropertyToID("_Axis"); - internal static readonly int _CurrentMipLevel = Shader.PropertyToID("_CurrentMipLevel"); - internal static readonly int _NormalAndRoughnessTexture = Shader.PropertyToID("_NormalAndRoughnessTexture"); - internal static readonly int _HitPointTexture = Shader.PropertyToID("_HitPointTexture"); - internal static readonly int _BlurTexture = Shader.PropertyToID("_BlurTexture"); - internal static readonly int _FilteredReflections = Shader.PropertyToID("_FilteredReflections"); - internal static readonly int _FinalReflectionTexture = Shader.PropertyToID("_FinalReflectionTexture"); - internal static readonly int _TempTexture = Shader.PropertyToID("_TempTexture"); - } - - // Unexposed variables - bool k_HighlightSuppression = false; - bool k_TraceBehindObjects = true; - bool k_TreatBackfaceHitAsMiss = false; - bool k_BilateralUpsample = true; - - enum PassIndex - { - RayTraceStep = 0, - CompositeFinal = 1, - Blur = 2, - CompositeSSR = 3, - MinMipGeneration = 4, - HitPointToReflections = 5, - BilateralKeyPack = 6, - BlitDepthAsCSZ = 7, - PoissonBlur = 8, - } - - readonly int[] m_ReflectionTextures = new int[5]; - - // Not really needed as SSR only works in deferred right now - public override DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.Depth; - } - - public override bool active - { - get - { - return model.enabled - && context.isGBufferAvailable - && !context.interrupted; - } - } - - public override void OnEnable() - { - m_ReflectionTextures[0] = Shader.PropertyToID("_ReflectionTexture0"); - m_ReflectionTextures[1] = Shader.PropertyToID("_ReflectionTexture1"); - m_ReflectionTextures[2] = Shader.PropertyToID("_ReflectionTexture2"); - m_ReflectionTextures[3] = Shader.PropertyToID("_ReflectionTexture3"); - m_ReflectionTextures[4] = Shader.PropertyToID("_ReflectionTexture4"); - } - - public override string GetName() - { - return "Screen Space Reflection"; - } - - public override CameraEvent GetCameraEvent() - { - return CameraEvent.AfterFinalPass; - } - - public override void PopulateCommandBuffer(CommandBuffer cb) - { - var settings = model.settings; - var camera = context.camera; - - // Material setup - int downsampleAmount = (settings.reflection.reflectionQuality == SSRResolution.High) ? 1 : 2; - - var rtW = context.width / downsampleAmount; - var rtH = context.height / downsampleAmount; - - float sWidth = context.width; - float sHeight = context.height; - - float sx = sWidth / 2f; - float sy = sHeight / 2f; - - var material = context.materialFactory.Get("Hidden/Post FX/Screen Space Reflection"); - - material.SetInt(Uniforms._RayStepSize, settings.reflection.stepSize); - material.SetInt(Uniforms._AdditiveReflection, settings.reflection.blendType == SSRReflectionBlendType.Additive ? 1 : 0); - material.SetInt(Uniforms._BilateralUpsampling, k_BilateralUpsample ? 1 : 0); - material.SetInt(Uniforms._TreatBackfaceHitAsMiss, k_TreatBackfaceHitAsMiss ? 1 : 0); - material.SetInt(Uniforms._AllowBackwardsRays, settings.reflection.reflectBackfaces ? 1 : 0); - material.SetInt(Uniforms._TraceBehindObjects, k_TraceBehindObjects ? 1 : 0); - material.SetInt(Uniforms._MaxSteps, settings.reflection.iterationCount); - material.SetInt(Uniforms._FullResolutionFiltering, 0); - material.SetInt(Uniforms._HalfResolution, (settings.reflection.reflectionQuality != SSRResolution.High) ? 1 : 0); - material.SetInt(Uniforms._HighlightSuppression, k_HighlightSuppression ? 1 : 0); - - // The height in pixels of a 1m object if viewed from 1m away. - float pixelsPerMeterAtOneMeter = sWidth / (-2f * Mathf.Tan(camera.fieldOfView / 180f * Mathf.PI * 0.5f)); - - material.SetFloat(Uniforms._PixelsPerMeterAtOneMeter, pixelsPerMeterAtOneMeter); - material.SetFloat(Uniforms._ScreenEdgeFading, settings.screenEdgeMask.intensity); - material.SetFloat(Uniforms._ReflectionBlur, settings.reflection.reflectionBlur); - material.SetFloat(Uniforms._MaxRayTraceDistance, settings.reflection.maxDistance); - material.SetFloat(Uniforms._FadeDistance, settings.intensity.fadeDistance); - material.SetFloat(Uniforms._LayerThickness, settings.reflection.widthModifier); - material.SetFloat(Uniforms._SSRMultiplier, settings.intensity.reflectionMultiplier); - material.SetFloat(Uniforms._FresnelFade, settings.intensity.fresnelFade); - material.SetFloat(Uniforms._FresnelFadePower, settings.intensity.fresnelFadePower); - - var P = camera.projectionMatrix; - var projInfo = new Vector4( - -2f / (sWidth * P[0]), - -2f / (sHeight * P[5]), - (1f - P[2]) / P[0], - (1f + P[6]) / P[5] - ); - - var cameraClipInfo = float.IsPositiveInfinity(camera.farClipPlane) ? - new Vector3(camera.nearClipPlane, -1f, 1f) : - new Vector3(camera.nearClipPlane * camera.farClipPlane, camera.nearClipPlane - camera.farClipPlane, camera.farClipPlane); - - material.SetVector(Uniforms._ReflectionBufferSize, new Vector2(rtW, rtH)); - material.SetVector(Uniforms._ScreenSize, new Vector2(sWidth, sHeight)); - material.SetVector(Uniforms._InvScreenSize, new Vector2(1f / sWidth, 1f / sHeight)); - material.SetVector(Uniforms._ProjInfo, projInfo); // used for unprojection - - material.SetVector(Uniforms._CameraClipInfo, cameraClipInfo); - - var warpToScreenSpaceMatrix = new Matrix4x4(); - warpToScreenSpaceMatrix.SetRow(0, new Vector4(sx, 0f, 0f, sx)); - warpToScreenSpaceMatrix.SetRow(1, new Vector4(0f, sy, 0f, sy)); - warpToScreenSpaceMatrix.SetRow(2, new Vector4(0f, 0f, 1f, 0f)); - warpToScreenSpaceMatrix.SetRow(3, new Vector4(0f, 0f, 0f, 1f)); - - var projectToPixelMatrix = warpToScreenSpaceMatrix * P; - - material.SetMatrix(Uniforms._ProjectToPixelMatrix, projectToPixelMatrix); - material.SetMatrix(Uniforms._WorldToCameraMatrix, camera.worldToCameraMatrix); - material.SetMatrix(Uniforms._CameraToWorldMatrix, camera.worldToCameraMatrix.inverse); - - // Command buffer setup - var intermediateFormat = context.isHdr ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.ARGB32; - const int maxMip = 5; - - var kNormalAndRoughnessTexture = Uniforms._NormalAndRoughnessTexture; - var kHitPointTexture = Uniforms._HitPointTexture; - var kBlurTexture = Uniforms._BlurTexture; - var kFilteredReflections = Uniforms._FilteredReflections; - var kFinalReflectionTexture = Uniforms._FinalReflectionTexture; - var kTempTexture = Uniforms._TempTexture; - - // RGB: Normals, A: Roughness. - // Has the nice benefit of allowing us to control the filtering mode as well. - cb.GetTemporaryRT(kNormalAndRoughnessTexture, -1, -1, 0, FilterMode.Point, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); - - cb.GetTemporaryRT(kHitPointTexture, rtW, rtH, 0, FilterMode.Bilinear, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); - - for (int i = 0; i < maxMip; ++i) - { - // We explicitly interpolate during bilateral upsampling. - cb.GetTemporaryRT(m_ReflectionTextures[i], rtW >> i, rtH >> i, 0, FilterMode.Bilinear, intermediateFormat); - } - - cb.GetTemporaryRT(kFilteredReflections, rtW, rtH, 0, k_BilateralUpsample ? FilterMode.Point : FilterMode.Bilinear, intermediateFormat); - cb.GetTemporaryRT(kFinalReflectionTexture, rtW, rtH, 0, FilterMode.Point, intermediateFormat); - - cb.Blit(BuiltinRenderTextureType.CameraTarget, kNormalAndRoughnessTexture, material, (int)PassIndex.BilateralKeyPack); - cb.Blit(BuiltinRenderTextureType.CameraTarget, kHitPointTexture, material, (int)PassIndex.RayTraceStep); - cb.Blit(BuiltinRenderTextureType.CameraTarget, kFilteredReflections, material, (int)PassIndex.HitPointToReflections); - cb.Blit(kFilteredReflections, m_ReflectionTextures[0], material, (int)PassIndex.PoissonBlur); - - for (int i = 1; i < maxMip; ++i) - { - int inputTex = m_ReflectionTextures[i - 1]; - - int lowMip = i; - - cb.GetTemporaryRT(kBlurTexture, rtW >> lowMip, rtH >> lowMip, 0, FilterMode.Bilinear, intermediateFormat); - cb.SetGlobalVector(Uniforms._Axis, new Vector4(1.0f, 0.0f, 0.0f, 0.0f)); - cb.SetGlobalFloat(Uniforms._CurrentMipLevel, i - 1.0f); - - cb.Blit(inputTex, kBlurTexture, material, (int)PassIndex.Blur); - - cb.SetGlobalVector(Uniforms._Axis, new Vector4(0.0f, 1.0f, 0.0f, 0.0f)); - - inputTex = m_ReflectionTextures[i]; - cb.Blit(kBlurTexture, inputTex, material, (int)PassIndex.Blur); - cb.ReleaseTemporaryRT(kBlurTexture); - } - - cb.Blit(m_ReflectionTextures[0], kFinalReflectionTexture, material, (int)PassIndex.CompositeSSR); - - cb.GetTemporaryRT(kTempTexture, camera.pixelWidth, camera.pixelHeight, 0, FilterMode.Bilinear, intermediateFormat); - - cb.Blit(BuiltinRenderTextureType.CameraTarget, kTempTexture, material, (int)PassIndex.CompositeFinal); - cb.Blit(kTempTexture, BuiltinRenderTextureType.CameraTarget); - - cb.ReleaseTemporaryRT(kTempTexture); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs.meta deleted file mode 100644 index b1a33acad..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: dd75f795d6a798f44a7801082f6a703f -timeCreated: 1467626205 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs deleted file mode 100644 index afd9d4908..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs +++ /dev/null @@ -1,216 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - public sealed class TaaComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static int _Jitter = Shader.PropertyToID("_Jitter"); - internal static int _SharpenParameters = Shader.PropertyToID("_SharpenParameters"); - internal static int _FinalBlendParameters = Shader.PropertyToID("_FinalBlendParameters"); - internal static int _HistoryTex = Shader.PropertyToID("_HistoryTex"); - internal static int _MainTex = Shader.PropertyToID("_MainTex"); - } - - const string k_ShaderString = "Hidden/Post FX/Temporal Anti-aliasing"; - const int k_SampleCount = 8; - - readonly RenderBuffer[] m_MRT = new RenderBuffer[2]; - - int m_SampleIndex = 0; - bool m_ResetHistory = true; - - RenderTexture m_HistoryTexture; - - public override bool active - { - get - { - return model.enabled - && model.settings.method == AntialiasingModel.Method.Taa - && SystemInfo.supportsMotionVectors - && SystemInfo.supportedRenderTargetCount >= 2 - && !context.interrupted; - } - } - - public override DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.Depth | DepthTextureMode.MotionVectors; - } - - public Vector2 jitterVector { get; private set; } - - public void ResetHistory() - { - m_ResetHistory = true; - } - - public void SetProjectionMatrix(Func jitteredFunc) - { - var settings = model.settings.taaSettings; - - var jitter = GenerateRandomOffset(); - jitter *= settings.jitterSpread; - - context.camera.nonJitteredProjectionMatrix = context.camera.projectionMatrix; - - if (jitteredFunc != null) - { - context.camera.projectionMatrix = jitteredFunc(jitter); - } - else - { - context.camera.projectionMatrix = context.camera.orthographic - ? GetOrthographicProjectionMatrix(jitter) - : GetPerspectiveProjectionMatrix(jitter); - } - -#if UNITY_5_5_OR_NEWER - context.camera.useJitteredProjectionMatrixForTransparentRendering = false; -#endif - - jitter.x /= context.width; - jitter.y /= context.height; - - var material = context.materialFactory.Get(k_ShaderString); - material.SetVector(Uniforms._Jitter, jitter); - - jitterVector = jitter; - } - - public void Render(RenderTexture source, RenderTexture destination) - { - var material = context.materialFactory.Get(k_ShaderString); - material.shaderKeywords = null; - - var settings = model.settings.taaSettings; - - if (m_ResetHistory || m_HistoryTexture == null || m_HistoryTexture.width != source.width || m_HistoryTexture.height != source.height) - { - if (m_HistoryTexture) - RenderTexture.ReleaseTemporary(m_HistoryTexture); - - m_HistoryTexture = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); - m_HistoryTexture.name = "TAA History"; - - Graphics.Blit(source, m_HistoryTexture, material, 2); - } - - const float kMotionAmplification = 100f * 60f; - material.SetVector(Uniforms._SharpenParameters, new Vector4(settings.sharpen, 0f, 0f, 0f)); - material.SetVector(Uniforms._FinalBlendParameters, new Vector4(settings.stationaryBlending, settings.motionBlending, kMotionAmplification, 0f)); - material.SetTexture(Uniforms._MainTex, source); - material.SetTexture(Uniforms._HistoryTex, m_HistoryTexture); - - var tempHistory = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); - tempHistory.name = "TAA History"; - - m_MRT[0] = destination.colorBuffer; - m_MRT[1] = tempHistory.colorBuffer; - - Graphics.SetRenderTarget(m_MRT, source.depthBuffer); - GraphicsUtils.Blit(material, context.camera.orthographic ? 1 : 0); - - RenderTexture.ReleaseTemporary(m_HistoryTexture); - m_HistoryTexture = tempHistory; - - m_ResetHistory = false; - } - - float GetHaltonValue(int index, int radix) - { - float result = 0f; - float fraction = 1f / (float)radix; - - while (index > 0) - { - result += (float)(index % radix) * fraction; - - index /= radix; - fraction /= (float)radix; - } - - return result; - } - - Vector2 GenerateRandomOffset() - { - var offset = new Vector2( - GetHaltonValue(m_SampleIndex & 1023, 2), - GetHaltonValue(m_SampleIndex & 1023, 3)); - - if (++m_SampleIndex >= k_SampleCount) - m_SampleIndex = 0; - - return offset; - } - - // Adapted heavily from PlayDead's TAA code - // https://github.com/playdeadgames/temporal/blob/master/Assets/Scripts/Extensions.cs - Matrix4x4 GetPerspectiveProjectionMatrix(Vector2 offset) - { - float vertical = Mathf.Tan(0.5f * Mathf.Deg2Rad * context.camera.fieldOfView); - float horizontal = vertical * context.camera.aspect; - - offset.x *= horizontal / (0.5f * context.width); - offset.y *= vertical / (0.5f * context.height); - - float left = (offset.x - horizontal) * context.camera.nearClipPlane; - float right = (offset.x + horizontal) * context.camera.nearClipPlane; - float top = (offset.y + vertical) * context.camera.nearClipPlane; - float bottom = (offset.y - vertical) * context.camera.nearClipPlane; - - var matrix = new Matrix4x4(); - - matrix[0, 0] = (2f * context.camera.nearClipPlane) / (right - left); - matrix[0, 1] = 0f; - matrix[0, 2] = (right + left) / (right - left); - matrix[0, 3] = 0f; - - matrix[1, 0] = 0f; - matrix[1, 1] = (2f * context.camera.nearClipPlane) / (top - bottom); - matrix[1, 2] = (top + bottom) / (top - bottom); - matrix[1, 3] = 0f; - - matrix[2, 0] = 0f; - matrix[2, 1] = 0f; - matrix[2, 2] = -(context.camera.farClipPlane + context.camera.nearClipPlane) / (context.camera.farClipPlane - context.camera.nearClipPlane); - matrix[2, 3] = -(2f * context.camera.farClipPlane * context.camera.nearClipPlane) / (context.camera.farClipPlane - context.camera.nearClipPlane); - - matrix[3, 0] = 0f; - matrix[3, 1] = 0f; - matrix[3, 2] = -1f; - matrix[3, 3] = 0f; - - return matrix; - } - - Matrix4x4 GetOrthographicProjectionMatrix(Vector2 offset) - { - float vertical = context.camera.orthographicSize; - float horizontal = vertical * context.camera.aspect; - - offset.x *= horizontal / (0.5f * context.width); - offset.y *= vertical / (0.5f * context.height); - - float left = offset.x - horizontal; - float right = offset.x + horizontal; - float top = offset.y + vertical; - float bottom = offset.y - vertical; - - return Matrix4x4.Ortho(left, right, bottom, top, context.camera.nearClipPlane, context.camera.farClipPlane); - } - - public override void OnDisable() - { - if (m_HistoryTexture != null) - RenderTexture.ReleaseTemporary(m_HistoryTexture); - - m_HistoryTexture = null; - m_SampleIndex = 0; - ResetHistory(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs.meta deleted file mode 100644 index cddb6e871..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/TaaComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: f28703283e17be54180fd04a7c70e1d5 -timeCreated: 1472806965 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/TaaComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs deleted file mode 100644 index 0dd05de22..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class UserLutComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _UserLut = Shader.PropertyToID("_UserLut"); - internal static readonly int _UserLut_Params = Shader.PropertyToID("_UserLut_Params"); - } - - public override bool active - { - get - { - var settings = model.settings; - return model.enabled - && settings.lut != null - && settings.contribution > 0f - && settings.lut.height == (int)Mathf.Sqrt(settings.lut.width) - && !context.interrupted; - } - } - - public override void Prepare(Material uberMaterial) - { - var settings = model.settings; - uberMaterial.EnableKeyword("USER_LUT"); - uberMaterial.SetTexture(Uniforms._UserLut, settings.lut); - uberMaterial.SetVector(Uniforms._UserLut_Params, new Vector4(1f / settings.lut.width, 1f / settings.lut.height, settings.lut.height - 1f, settings.contribution)); - } - - public void OnGUI() - { - var settings = model.settings; - var rect = new Rect(context.viewport.x * Screen.width + 8f, 8f, settings.lut.width, settings.lut.height); - GUI.DrawTexture(rect, settings.lut); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs.meta deleted file mode 100644 index 366acb8dc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/UserLutComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 63cb071fb8442a14f85c02e6ddba9b72 -timeCreated: 1473086193 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/UserLutComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs deleted file mode 100644 index 58148ddfc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public sealed class VignetteComponent : PostProcessingComponentRenderTexture - { - static class Uniforms - { - internal static readonly int _Vignette_Color = Shader.PropertyToID("_Vignette_Color"); - internal static readonly int _Vignette_Center = Shader.PropertyToID("_Vignette_Center"); - internal static readonly int _Vignette_Settings = Shader.PropertyToID("_Vignette_Settings"); - internal static readonly int _Vignette_Mask = Shader.PropertyToID("_Vignette_Mask"); - internal static readonly int _Vignette_Opacity = Shader.PropertyToID("_Vignette_Opacity"); - } - - public override bool active - { - get - { - return model.enabled - && !context.interrupted; - } - } - - public override void Prepare(Material uberMaterial) - { - var settings = model.settings; - uberMaterial.SetColor(Uniforms._Vignette_Color, settings.color); - - if (settings.mode == VignetteModel.Mode.Classic) - { - uberMaterial.SetVector(Uniforms._Vignette_Center, settings.center); - uberMaterial.EnableKeyword("VIGNETTE_CLASSIC"); - float roundness = (1f - settings.roundness) * 6f + settings.roundness; - uberMaterial.SetVector(Uniforms._Vignette_Settings, new Vector4(settings.intensity * 3f, settings.smoothness * 5f, roundness, settings.rounded ? 1f : 0f)); - } - else if (settings.mode == VignetteModel.Mode.Masked) - { - if (settings.mask != null && settings.opacity > 0f) - { - uberMaterial.EnableKeyword("VIGNETTE_MASKED"); - uberMaterial.SetTexture(Uniforms._Vignette_Mask, settings.mask); - uberMaterial.SetFloat(Uniforms._Vignette_Opacity, settings.opacity); - } - } - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs.meta deleted file mode 100644 index c7844fe0b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Components/VignetteComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 39074aa97f4be23438147346f081c7f3 -timeCreated: 1473083872 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Components/VignetteComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models.meta deleted file mode 100644 index 0133f914b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 8d5a699332eb8a9499077fa4bcd4e0a0 -folderAsset: yes -timeCreated: 1459757852 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs deleted file mode 100644 index 189d447c2..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class AmbientOcclusionModel : PostProcessingModel - { - public enum SampleCount - { - Lowest = 3, - Low = 6, - Medium = 10, - High = 16 - } - - [Serializable] - public struct Settings - { - [Range(0, 4), Tooltip("Degree of darkness produced by the effect.")] - public float intensity; - - [Min(1e-4f), Tooltip("Radius of sample points, which affects extent of darkened areas.")] - public float radius; - - [Tooltip("Number of sample points, which affects quality and performance.")] - public SampleCount sampleCount; - - [Tooltip("Halves the resolution of the effect to increase performance at the cost of visual quality.")] - public bool downsampling; - - [Tooltip("Forces compatibility with Forward rendered objects when working with the Deferred rendering path.")] - public bool forceForwardCompatibility; - - [Tooltip("Enables the ambient-only mode in that the effect only affects ambient lighting. This mode is only available with the Deferred rendering path and HDR rendering.")] - public bool ambientOnly; - - [Tooltip("Toggles the use of a higher precision depth texture with the forward rendering path (may impact performances). Has no effect with the deferred rendering path.")] - public bool highPrecision; - - public static Settings defaultSettings - { - get - { - return new Settings - { - intensity = 1f, - radius = 0.3f, - sampleCount = SampleCount.Medium, - downsampling = true, - forceForwardCompatibility = false, - ambientOnly = false, - highPrecision = false - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs.meta deleted file mode 100644 index 045808abe..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 564228afc5cbd5f49beb80038b4b7af2 -timeCreated: 1462280796 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs deleted file mode 100644 index 05e73a78f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs +++ /dev/null @@ -1,242 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class AntialiasingModel : PostProcessingModel - { - public enum Method - { - Fxaa, - Taa - } - - // Most settings aren't exposed to the user anymore, presets are enough. Still, I'm leaving - // the tooltip attributes in case an user wants to customize each preset. - - #region FXAA Settings - public enum FxaaPreset - { - ExtremePerformance, - Performance, - Default, - Quality, - ExtremeQuality - } - - [Serializable] - public struct FxaaQualitySettings - { - [Tooltip("The amount of desired sub-pixel aliasing removal. Effects the sharpeness of the output.")] - [Range(0f, 1f)] - public float subpixelAliasingRemovalAmount; - - [Tooltip("The minimum amount of local contrast required to qualify a region as containing an edge.")] - [Range(0.063f, 0.333f)] - public float edgeDetectionThreshold; - - [Tooltip("Local contrast adaptation value to disallow the algorithm from executing on the darker regions.")] - [Range(0f, 0.0833f)] - public float minimumRequiredLuminance; - - public static FxaaQualitySettings[] presets = - { - // ExtremePerformance - new FxaaQualitySettings - { - subpixelAliasingRemovalAmount = 0f, - edgeDetectionThreshold = 0.333f, - minimumRequiredLuminance = 0.0833f - }, - - // Performance - new FxaaQualitySettings - { - subpixelAliasingRemovalAmount = 0.25f, - edgeDetectionThreshold = 0.25f, - minimumRequiredLuminance = 0.0833f - }, - - // Default - new FxaaQualitySettings - { - subpixelAliasingRemovalAmount = 0.75f, - edgeDetectionThreshold = 0.166f, - minimumRequiredLuminance = 0.0833f - }, - - // Quality - new FxaaQualitySettings - { - subpixelAliasingRemovalAmount = 1f, - edgeDetectionThreshold = 0.125f, - minimumRequiredLuminance = 0.0625f - }, - - // ExtremeQuality - new FxaaQualitySettings - { - subpixelAliasingRemovalAmount = 1f, - edgeDetectionThreshold = 0.063f, - minimumRequiredLuminance = 0.0312f - } - }; - } - - [Serializable] - public struct FxaaConsoleSettings - { - [Tooltip("The amount of spread applied to the sampling coordinates while sampling for subpixel information.")] - [Range(0.33f, 0.5f)] - public float subpixelSpreadAmount; - - [Tooltip("This value dictates how sharp the edges in the image are kept; a higher value implies sharper edges.")] - [Range(2f, 8f)] - public float edgeSharpnessAmount; - - [Tooltip("The minimum amount of local contrast required to qualify a region as containing an edge.")] - [Range(0.125f, 0.25f)] - public float edgeDetectionThreshold; - - [Tooltip("Local contrast adaptation value to disallow the algorithm from executing on the darker regions.")] - [Range(0.04f, 0.06f)] - public float minimumRequiredLuminance; - - public static FxaaConsoleSettings[] presets = - { - // ExtremePerformance - new FxaaConsoleSettings - { - subpixelSpreadAmount = 0.33f, - edgeSharpnessAmount = 8f, - edgeDetectionThreshold = 0.25f, - minimumRequiredLuminance = 0.06f - }, - - // Performance - new FxaaConsoleSettings - { - subpixelSpreadAmount = 0.33f, - edgeSharpnessAmount = 8f, - edgeDetectionThreshold = 0.125f, - minimumRequiredLuminance = 0.06f - }, - - // Default - new FxaaConsoleSettings - { - subpixelSpreadAmount = 0.5f, - edgeSharpnessAmount = 8f, - edgeDetectionThreshold = 0.125f, - minimumRequiredLuminance = 0.05f - }, - - // Quality - new FxaaConsoleSettings - { - subpixelSpreadAmount = 0.5f, - edgeSharpnessAmount = 4f, - edgeDetectionThreshold = 0.125f, - minimumRequiredLuminance = 0.04f - }, - - // ExtremeQuality - new FxaaConsoleSettings - { - subpixelSpreadAmount = 0.5f, - edgeSharpnessAmount = 2f, - edgeDetectionThreshold = 0.125f, - minimumRequiredLuminance = 0.04f - } - }; - } - - [Serializable] - public struct FxaaSettings - { - public FxaaPreset preset; - - public static FxaaSettings defaultSettings - { - get - { - return new FxaaSettings - { - preset = FxaaPreset.Default - }; - } - } - } - #endregion - - #region TAA Settings - [Serializable] - public struct TaaSettings - { - [Tooltip("The diameter (in texels) inside which jitter samples are spread. Smaller values result in crisper but more aliased output, while larger values result in more stable but blurrier output.")] - [Range(0.1f, 1f)] - public float jitterSpread; - - [Tooltip("Controls the amount of sharpening applied to the color buffer.")] - [Range(0f, 3f)] - public float sharpen; - - [Tooltip("The blend coefficient for a stationary fragment. Controls the percentage of history sample blended into the final color.")] - [Range(0f, 0.99f)] - public float stationaryBlending; - - [Tooltip("The blend coefficient for a fragment with significant motion. Controls the percentage of history sample blended into the final color.")] - [Range(0f, 0.99f)] - public float motionBlending; - - public static TaaSettings defaultSettings - { - get - { - return new TaaSettings - { - jitterSpread = 0.75f, - sharpen = 0.3f, - stationaryBlending = 0.95f, - motionBlending = 0.85f - }; - } - } - } - #endregion - - [Serializable] - public struct Settings - { - public Method method; - public FxaaSettings fxaaSettings; - public TaaSettings taaSettings; - - public static Settings defaultSettings - { - get - { - return new Settings - { - method = Method.Fxaa, - fxaaSettings = FxaaSettings.defaultSettings, - taaSettings = TaaSettings.defaultSettings - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs.meta deleted file mode 100644 index 2a5fcbae7..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/AntialiasingModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: cb9a239ec5f20ca4cb5d0391441588de -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/AntialiasingModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs deleted file mode 100644 index bddae5e18..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class BloomModel : PostProcessingModel - { - [Serializable] - public struct BloomSettings - { - [Min(0f), Tooltip("Strength of the bloom filter.")] - public float intensity; - - [Min(0f), Tooltip("Filters out pixels under this level of brightness.")] - public float threshold; - - public float thresholdLinear - { - set { threshold = Mathf.LinearToGammaSpace(value); } - get { return Mathf.GammaToLinearSpace(threshold); } - } - - [Range(0f, 1f), Tooltip("Makes transition between under/over-threshold gradual (0 = hard threshold, 1 = soft threshold).")] - public float softKnee; - - [Range(1f, 7f), Tooltip("Changes extent of veiling effects in a screen resolution-independent fashion.")] - public float radius; - - [Tooltip("Reduces flashing noise with an additional filter.")] - public bool antiFlicker; - - public static BloomSettings defaultSettings - { - get - { - return new BloomSettings - { - intensity = 0.5f, - threshold = 1.1f, - softKnee = 0.5f, - radius = 4f, - antiFlicker = false, - }; - } - } - } - - [Serializable] - public struct LensDirtSettings - { - [Tooltip("Dirtiness texture to add smudges or dust to the lens.")] - public Texture texture; - - [Min(0f), Tooltip("Amount of lens dirtiness.")] - public float intensity; - - public static LensDirtSettings defaultSettings - { - get - { - return new LensDirtSettings - { - texture = null, - intensity = 3f - }; - } - } - } - - [Serializable] - public struct Settings - { - public BloomSettings bloom; - public LensDirtSettings lensDirt; - - public static Settings defaultSettings - { - get - { - return new Settings - { - bloom = BloomSettings.defaultSettings, - lensDirt = LensDirtSettings.defaultSettings - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs.meta deleted file mode 100644 index 65c75dde1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BloomModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e215a6ec29d100f489c186f289526f06 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/BloomModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs deleted file mode 100644 index 473fdb862..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class BuiltinDebugViewsModel : PostProcessingModel - { - [Serializable] - public struct DepthSettings - { - [Range(0f, 1f), Tooltip("Scales the camera far plane before displaying the depth map.")] - public float scale; - - public static DepthSettings defaultSettings - { - get - { - return new DepthSettings - { - scale = 1f - }; - } - } - } - - [Serializable] - public struct MotionVectorsSettings - { - [Range(0f, 1f), Tooltip("Opacity of the source render.")] - public float sourceOpacity; - - [Range(0f, 1f), Tooltip("Opacity of the per-pixel motion vector colors.")] - public float motionImageOpacity; - - [Min(0f), Tooltip("Because motion vectors are mainly very small vectors, you can use this setting to make them more visible.")] - public float motionImageAmplitude; - - [Range(0f, 1f), Tooltip("Opacity for the motion vector arrows.")] - public float motionVectorsOpacity; - - [Range(8, 64), Tooltip("The arrow density on screen.")] - public int motionVectorsResolution; - - [Min(0f), Tooltip("Tweaks the arrows length.")] - public float motionVectorsAmplitude; - - public static MotionVectorsSettings defaultSettings - { - get - { - return new MotionVectorsSettings - { - sourceOpacity = 1f, - - motionImageOpacity = 0f, - motionImageAmplitude = 16f, - - motionVectorsOpacity = 1f, - motionVectorsResolution = 24, - motionVectorsAmplitude = 64f - }; - } - } - } - - public enum Mode - { - None, - - Depth, - Normals, - MotionVectors, - - AmbientOcclusion, - EyeAdaptation, - FocusPlane, - PreGradingLog, - LogLut, - UserLut - } - - [Serializable] - public struct Settings - { - public Mode mode; - public DepthSettings depth; - public MotionVectorsSettings motionVectors; - - public static Settings defaultSettings - { - get - { - return new Settings - { - mode = Mode.None, - depth = DepthSettings.defaultSettings, - motionVectors = MotionVectorsSettings.defaultSettings - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public bool willInterrupt - { - get - { - return !IsModeActive(Mode.None) - && !IsModeActive(Mode.EyeAdaptation) - && !IsModeActive(Mode.PreGradingLog) - && !IsModeActive(Mode.LogLut) - && !IsModeActive(Mode.UserLut); - } - } - - public override void Reset() - { - settings = Settings.defaultSettings; - } - - public bool IsModeActive(Mode mode) - { - return m_Settings.mode == mode; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs.meta deleted file mode 100644 index b92a0d874..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 33d6d1a4b7b3dec40819019a25605191 -timeCreated: 1467970684 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs deleted file mode 100644 index 27881677e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class ChromaticAberrationModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - [Tooltip("Shift the hue of chromatic aberrations.")] - public Texture2D spectralTexture; - - [Range(0f, 1f), Tooltip("Amount of tangential distortion.")] - public float intensity; - - public static Settings defaultSettings - { - get - { - return new Settings - { - spectralTexture = null, - intensity = 0.1f - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs.meta deleted file mode 100644 index e88416817..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8da01668697617e43879715e835a2367 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs deleted file mode 100644 index 7933f9f41..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class ColorGradingModel : PostProcessingModel - { - public enum Tonemapper - { - None, - - /// - /// ACES Filmic reference tonemapper. - /// - ACES, - - /// - /// Neutral tonemapper (based off John Hable's & Jim Hejl's work). - /// - Neutral - } - - [Serializable] - public struct TonemappingSettings - { - [Tooltip("Tonemapping algorithm to use at the end of the color grading process. Use \"Neutral\" if you need a customizable tonemapper or \"Filmic\" to give a standard filmic look to your scenes.")] - public Tonemapper tonemapper; - - // Neutral settings - [Range(-0.1f, 0.1f)] - public float neutralBlackIn; - - [Range(1f, 20f)] - public float neutralWhiteIn; - - [Range(-0.09f, 0.1f)] - public float neutralBlackOut; - - [Range(1f, 19f)] - public float neutralWhiteOut; - - [Range(0.1f, 20f)] - public float neutralWhiteLevel; - - [Range(1f, 10f)] - public float neutralWhiteClip; - - public static TonemappingSettings defaultSettings - { - get - { - return new TonemappingSettings - { - tonemapper = Tonemapper.Neutral, - - neutralBlackIn = 0.02f, - neutralWhiteIn = 10f, - neutralBlackOut = 0f, - neutralWhiteOut = 10f, - neutralWhiteLevel = 5.3f, - neutralWhiteClip = 10f - }; - } - } - } - - [Serializable] - public struct BasicSettings - { - [Tooltip("Adjusts the overall exposure of the scene in EV units. This is applied after HDR effect and right before tonemapping so it won't affect previous effects in the chain.")] - public float postExposure; - - [Range(-100f, 100f), Tooltip("Sets the white balance to a custom color temperature.")] - public float temperature; - - [Range(-100f, 100f), Tooltip("Sets the white balance to compensate for a green or magenta tint.")] - public float tint; - - [Range(-180f, 180f), Tooltip("Shift the hue of all colors.")] - public float hueShift; - - [Range(0f, 2f), Tooltip("Pushes the intensity of all colors.")] - public float saturation; - - [Range(0f, 2f), Tooltip("Expands or shrinks the overall range of tonal values.")] - public float contrast; - - public static BasicSettings defaultSettings - { - get - { - return new BasicSettings - { - postExposure = 0f, - - temperature = 0f, - tint = 0f, - - hueShift = 0f, - saturation = 1f, - contrast = 1f, - }; - } - } - } - - [Serializable] - public struct ChannelMixerSettings - { - public Vector3 red; - public Vector3 green; - public Vector3 blue; - - [HideInInspector] - public int currentEditingChannel; // Used only in the editor - - public static ChannelMixerSettings defaultSettings - { - get - { - return new ChannelMixerSettings - { - red = new Vector3(1f, 0f, 0f), - green = new Vector3(0f, 1f, 0f), - blue = new Vector3(0f, 0f, 1f), - currentEditingChannel = 0 - }; - } - } - } - - [Serializable] - public struct LogWheelsSettings - { - [Trackball("GetSlopeValue")] - public Color slope; - - [Trackball("GetPowerValue")] - public Color power; - - [Trackball("GetOffsetValue")] - public Color offset; - - public static LogWheelsSettings defaultSettings - { - get - { - return new LogWheelsSettings - { - slope = Color.clear, - power = Color.clear, - offset = Color.clear - }; - } - } - } - - [Serializable] - public struct LinearWheelsSettings - { - [Trackball("GetLiftValue")] - public Color lift; - - [Trackball("GetGammaValue")] - public Color gamma; - - [Trackball("GetGainValue")] - public Color gain; - - public static LinearWheelsSettings defaultSettings - { - get - { - return new LinearWheelsSettings - { - lift = Color.clear, - gamma = Color.clear, - gain = Color.clear - }; - } - } - } - - public enum ColorWheelMode - { - Linear, - Log - } - - [Serializable] - public struct ColorWheelsSettings - { - public ColorWheelMode mode; - - [TrackballGroup] - public LogWheelsSettings log; - - [TrackballGroup] - public LinearWheelsSettings linear; - - public static ColorWheelsSettings defaultSettings - { - get - { - return new ColorWheelsSettings - { - mode = ColorWheelMode.Log, - log = LogWheelsSettings.defaultSettings, - linear = LinearWheelsSettings.defaultSettings - }; - } - } - } - - [Serializable] - public struct CurvesSettings - { - public ColorGradingCurve master; - public ColorGradingCurve red; - public ColorGradingCurve green; - public ColorGradingCurve blue; - public ColorGradingCurve hueVShue; - public ColorGradingCurve hueVSsat; - public ColorGradingCurve satVSsat; - public ColorGradingCurve lumVSsat; - - // Used only in the editor - [HideInInspector] public int e_CurrentEditingCurve; - [HideInInspector] public bool e_CurveY; - [HideInInspector] public bool e_CurveR; - [HideInInspector] public bool e_CurveG; - [HideInInspector] public bool e_CurveB; - - public static CurvesSettings defaultSettings - { - get - { - return new CurvesSettings - { - master = new ColorGradingCurve(new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f)), 0f, false, new Vector2(0f, 1f)), - red = new ColorGradingCurve(new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f)), 0f, false, new Vector2(0f, 1f)), - green = new ColorGradingCurve(new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f)), 0f, false, new Vector2(0f, 1f)), - blue = new ColorGradingCurve(new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f)), 0f, false, new Vector2(0f, 1f)), - - hueVShue = new ColorGradingCurve(new AnimationCurve(), 0.5f, true, new Vector2(0f, 1f)), - hueVSsat = new ColorGradingCurve(new AnimationCurve(), 0.5f, true, new Vector2(0f, 1f)), - satVSsat = new ColorGradingCurve(new AnimationCurve(), 0.5f, false, new Vector2(0f, 1f)), - lumVSsat = new ColorGradingCurve(new AnimationCurve(), 0.5f, false, new Vector2(0f, 1f)), - - e_CurrentEditingCurve = 0, - e_CurveY = true, - e_CurveR = false, - e_CurveG = false, - e_CurveB = false - }; - } - } - } - - [Serializable] - public struct Settings - { - public TonemappingSettings tonemapping; - public BasicSettings basic; - public ChannelMixerSettings channelMixer; - public ColorWheelsSettings colorWheels; - public CurvesSettings curves; - - public static Settings defaultSettings - { - get - { - return new Settings - { - tonemapping = TonemappingSettings.defaultSettings, - basic = BasicSettings.defaultSettings, - channelMixer = ChannelMixerSettings.defaultSettings, - colorWheels = ColorWheelsSettings.defaultSettings, - curves = CurvesSettings.defaultSettings - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set - { - m_Settings = value; - OnValidate(); - } - } - - public bool isDirty { get; internal set; } - public RenderTexture bakedLut { get; internal set; } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - OnValidate(); - } - - public override void OnValidate() - { - isDirty = true; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs.meta deleted file mode 100644 index 14273e215..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ColorGradingModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: fe146bcdc1fb8ae4ab7dd803982d3489 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/ColorGradingModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs deleted file mode 100644 index bde86cb11..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class DepthOfFieldModel : PostProcessingModel - { - public enum KernelSize - { - Small, - Medium, - Large, - VeryLarge - } - - [Serializable] - public struct Settings - { - [Min(0.1f), Tooltip("Distance to the point of focus.")] - public float focusDistance; - - [Range(0.05f, 32f), Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")] - public float aperture; - - [Range(1f, 300f), Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")] - public float focalLength; - - [Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera. Using this setting isn't recommended.")] - public bool useCameraFov; - - [Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")] - public KernelSize kernelSize; - - public static Settings defaultSettings - { - get - { - return new Settings - { - focusDistance = 10f, - aperture = 5.6f, - focalLength = 50f, - useCameraFov = false, - kernelSize = KernelSize.Medium - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs.meta deleted file mode 100644 index c3be37fb8..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 2626b17c595c71e43811d654eb28d30d -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/DepthOfFieldModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs deleted file mode 100644 index 7fd6afb46..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class DitheringModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - public static Settings defaultSettings - { - get { return new Settings(); } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs.meta deleted file mode 100644 index de5c9fda9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/DitheringModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 41209882cdbcf31429d2a457a2164801 -timeCreated: 1485179235 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/DitheringModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs deleted file mode 100644 index aa2020b81..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class EyeAdaptationModel : PostProcessingModel - { - public enum EyeAdaptationType - { - Progressive, - Fixed - } - - [Serializable] - public struct Settings - { - [Range(1f, 99f), Tooltip("Filters the dark part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")] - public float lowPercent; - - [Range(1f, 99f), Tooltip("Filters the bright part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")] - public float highPercent; - - [Tooltip("Minimum average luminance to consider for auto exposure (in EV).")] - public float minLuminance; - - [Tooltip("Maximum average luminance to consider for auto exposure (in EV).")] - public float maxLuminance; - - [Min(0f), Tooltip("Exposure bias. Use this to offset the global exposure of the scene.")] - public float keyValue; - - [Tooltip("Set this to true to let Unity handle the key value automatically based on average luminance.")] - public bool dynamicKeyValue; - - [Tooltip("Use \"Progressive\" if you want the auto exposure to be animated. Use \"Fixed\" otherwise.")] - public EyeAdaptationType adaptationType; - - [Min(0f), Tooltip("Adaptation speed from a dark to a light environment.")] - public float speedUp; - - [Min(0f), Tooltip("Adaptation speed from a light to a dark environment.")] - public float speedDown; - - [Range(-16, -1), Tooltip("Lower bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")] - public int logMin; - - [Range(1, 16), Tooltip("Upper bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")] - public int logMax; - - public static Settings defaultSettings - { - get - { - return new Settings - { - lowPercent = 45f, - highPercent = 95f, - - minLuminance = -5f, - maxLuminance = 1f, - keyValue = 0.25f, - dynamicKeyValue = true, - - adaptationType = EyeAdaptationType.Progressive, - speedUp = 2f, - speedDown = 1f, - - logMin = -8, - logMax = 4 - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs.meta deleted file mode 100644 index 44fa0f004..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: edf6d216ca4b60942a0c533c14f26d53 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/EyeAdaptationModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs deleted file mode 100644 index 81effcb8a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class FogModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - [Tooltip("Should the fog affect the skybox?")] - public bool excludeSkybox; - - public static Settings defaultSettings - { - get - { - return new Settings - { - excludeSkybox = true - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs.meta deleted file mode 100644 index 359c58a61..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/FogModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 1e20e66aa2deb7943993c444137d9acd -timeCreated: 1487328709 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/FogModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs deleted file mode 100644 index f2d1b56ca..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class GrainModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - [Tooltip("Enable the use of colored grain.")] - public bool colored; - - [Range(0f, 1f), Tooltip("Grain strength. Higher means more visible grain.")] - public float intensity; - - [Range(0.3f, 3f), Tooltip("Grain particle size.")] - public float size; - - [Range(0f, 1f), Tooltip("Controls the noisiness response curve based on scene luminance. Lower values mean less noise in dark areas.")] - public float luminanceContribution; - - public static Settings defaultSettings - { - get - { - return new Settings - { - colored = true, - intensity = 0.5f, - size = 1f, - luminanceContribution = 0.8f - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs.meta deleted file mode 100644 index 05fdfa53b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/GrainModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: f4fbcdb7f7a3c76489f32ffea74e6bb3 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/GrainModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs deleted file mode 100644 index 4fd317177..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class MotionBlurModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - [Range(0f, 360f), Tooltip("The angle of rotary shutter. Larger values give longer exposure.")] - public float shutterAngle; - - [Range(4, 32), Tooltip("The amount of sample points, which affects quality and performances.")] - public int sampleCount; - - [Range(0f, 1f), Tooltip("The strength of multiple frame blending. The opacity of preceding frames are determined from this coefficient and time differences.")] - public float frameBlending; - - public static Settings defaultSettings - { - get - { - return new Settings - { - shutterAngle = 270f, - sampleCount = 10, - frameBlending = 0f - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs.meta deleted file mode 100644 index 6a414b1ce..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/MotionBlurModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: bb4df227c906dd342bd34767914d292c -timeCreated: 1468325392 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/MotionBlurModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs deleted file mode 100644 index b697cd2b9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs +++ /dev/null @@ -1,140 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class ScreenSpaceReflectionModel : PostProcessingModel - { - public enum SSRResolution - { - High = 0, - Low = 2 - } - - public enum SSRReflectionBlendType - { - PhysicallyBased, - Additive - } - - [Serializable] - public struct IntensitySettings - { - [Tooltip("Nonphysical multiplier for the SSR reflections. 1.0 is physically based.")] - [Range(0.0f, 2.0f)] - public float reflectionMultiplier; - - [Tooltip("How far away from the maxDistance to begin fading SSR.")] - [Range(0.0f, 1000.0f)] - public float fadeDistance; - - [Tooltip("Amplify Fresnel fade out. Increase if floor reflections look good close to the surface and bad farther 'under' the floor.")] - [Range(0.0f, 1.0f)] - public float fresnelFade; - - [Tooltip("Higher values correspond to a faster Fresnel fade as the reflection changes from the grazing angle.")] - [Range(0.1f, 10.0f)] - public float fresnelFadePower; - } - - [Serializable] - public struct ReflectionSettings - { - // When enabled, we just add our reflections on top of the existing ones. This is physically incorrect, but several - // popular demos and games have taken this approach, and it does hide some artifacts. - [Tooltip("How the reflections are blended into the render.")] - public SSRReflectionBlendType blendType; - - [Tooltip("Half resolution SSRR is much faster, but less accurate.")] - public SSRResolution reflectionQuality; - - [Tooltip("Maximum reflection distance in world units.")] - [Range(0.1f, 300.0f)] - public float maxDistance; - - /// REFLECTIONS - [Tooltip("Max raytracing length.")] - [Range(16, 1024)] - public int iterationCount; - - [Tooltip("Log base 2 of ray tracing coarse step size. Higher traces farther, lower gives better quality silhouettes.")] - [Range(1, 16)] - public int stepSize; - - [Tooltip("Typical thickness of columns, walls, furniture, and other objects that reflection rays might pass behind.")] - [Range(0.01f, 10.0f)] - public float widthModifier; - - [Tooltip("Blurriness of reflections.")] - [Range(0.1f, 8.0f)] - public float reflectionBlur; - - [Tooltip("Disable for a performance gain in scenes where most glossy objects are horizontal, like floors, water, and tables. Leave on for scenes with glossy vertical objects.")] - public bool reflectBackfaces; - } - - [Serializable] - public struct ScreenEdgeMask - { - [Tooltip("Higher = fade out SSRR near the edge of the screen so that reflections don't pop under camera motion.")] - [Range(0.0f, 1.0f)] - public float intensity; - } - - [Serializable] - public struct Settings - { - public ReflectionSettings reflection; - public IntensitySettings intensity; - public ScreenEdgeMask screenEdgeMask; - - public static Settings defaultSettings - { - get - { - return new Settings - { - reflection = new ReflectionSettings - { - blendType = SSRReflectionBlendType.PhysicallyBased, - reflectionQuality = SSRResolution.Low, - maxDistance = 100f, - iterationCount = 256, - stepSize = 3, - widthModifier = 0.5f, - reflectionBlur = 1f, - reflectBackfaces = false - }, - - intensity = new IntensitySettings - { - reflectionMultiplier = 1f, - fadeDistance = 100f, - - fresnelFade = 1f, - fresnelFadePower = 1f, - }, - - screenEdgeMask = new ScreenEdgeMask - { - intensity = 0.03f - } - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs.meta deleted file mode 100644 index 46625eb2d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e841012229e57cd408a146561435e90d -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs deleted file mode 100644 index d0efc2d8d..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class UserLutModel : PostProcessingModel - { - [Serializable] - public struct Settings - { - [Tooltip("Custom lookup texture (strip format, e.g. 256x16).")] - public Texture2D lut; - - [Range(0f, 1f), Tooltip("Blending factor.")] - public float contribution; - - public static Settings defaultSettings - { - get - { - return new Settings - { - lut = null, - contribution = 1f - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs.meta deleted file mode 100644 index 53b8f4b62..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/UserLutModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 3a7afd753a89c4140b80c855e15f69d6 -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/UserLutModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs deleted file mode 100644 index 33b082efb..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public class VignetteModel : PostProcessingModel - { - public enum Mode - { - Classic, - Masked - } - - [Serializable] - public struct Settings - { - [Tooltip("Use the \"Classic\" mode for parametric controls. Use the \"Masked\" mode to use your own texture mask.")] - public Mode mode; - - [ColorUsage(false)] - [Tooltip("Vignette color. Use the alpha channel for transparency.")] - public Color color; - - [Tooltip("Sets the vignette center point (screen center is [0.5,0.5]).")] - public Vector2 center; - - [Range(0f, 1f), Tooltip("Amount of vignetting on screen.")] - public float intensity; - - [Range(0.01f, 1f), Tooltip("Smoothness of the vignette borders.")] - public float smoothness; - - [Range(0f, 1f), Tooltip("Lower values will make a square-ish vignette.")] - public float roundness; - - [Tooltip("A black and white mask to use as a vignette.")] - public Texture mask; - - [Range(0f, 1f), Tooltip("Mask opacity.")] - public float opacity; - - [Tooltip("Should the vignette be perfectly round or be dependent on the current aspect ratio?")] - public bool rounded; - - public static Settings defaultSettings - { - get - { - return new Settings - { - mode = Mode.Classic, - color = new Color(0f, 0f, 0f, 1f), - center = new Vector2(0.5f, 0.5f), - intensity = 0.45f, - smoothness = 0.2f, - roundness = 1f, - mask = null, - opacity = 1f, - rounded = false - }; - } - } - } - - [SerializeField] - Settings m_Settings = Settings.defaultSettings; - public Settings settings - { - get { return m_Settings; } - set { m_Settings = value; } - } - - public override void Reset() - { - m_Settings = Settings.defaultSettings; - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs.meta deleted file mode 100644 index 43e90858e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Models/VignetteModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d7aa967ba692363448f1b25d0728b9bd -timeCreated: 1467126855 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Models/VignetteModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs deleted file mode 100644 index 6f292d242..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs +++ /dev/null @@ -1,470 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - using DebugMode = BuiltinDebugViewsModel.Mode; - -#if UNITY_5_4_OR_NEWER - [ImageEffectAllowedInSceneView] -#endif - [RequireComponent(typeof(Camera)), DisallowMultipleComponent, ExecuteInEditMode] - [AddComponentMenu("Effects/Post-Processing Behaviour", -1)] - public class PostProcessingBehaviour : MonoBehaviour - { - // Inspector fields - public PostProcessingProfile profile; - - public Func jitteredMatrixFunc; - - // Internal helpers - Dictionary> m_CommandBuffers; - List m_Components; - Dictionary m_ComponentStates; - - MaterialFactory m_MaterialFactory; - RenderTextureFactory m_RenderTextureFactory; - PostProcessingContext m_Context; - Camera m_Camera; - PostProcessingProfile m_PreviousProfile; - - bool m_RenderingInSceneView = false; - - // Effect components - BuiltinDebugViewsComponent m_DebugViews; - AmbientOcclusionComponent m_AmbientOcclusion; - ScreenSpaceReflectionComponent m_ScreenSpaceReflection; - FogComponent m_FogComponent; - MotionBlurComponent m_MotionBlur; - TaaComponent m_Taa; - EyeAdaptationComponent m_EyeAdaptation; - DepthOfFieldComponent m_DepthOfField; - BloomComponent m_Bloom; - ChromaticAberrationComponent m_ChromaticAberration; - ColorGradingComponent m_ColorGrading; - UserLutComponent m_UserLut; - GrainComponent m_Grain; - VignetteComponent m_Vignette; - DitheringComponent m_Dithering; - FxaaComponent m_Fxaa; - - void OnEnable() - { - m_CommandBuffers = new Dictionary>(); - m_MaterialFactory = new MaterialFactory(); - m_RenderTextureFactory = new RenderTextureFactory(); - m_Context = new PostProcessingContext(); - - // Keep a list of all post-fx for automation purposes - m_Components = new List(); - - // Component list - m_DebugViews = AddComponent(new BuiltinDebugViewsComponent()); - m_AmbientOcclusion = AddComponent(new AmbientOcclusionComponent()); - m_ScreenSpaceReflection = AddComponent(new ScreenSpaceReflectionComponent()); - m_FogComponent = AddComponent(new FogComponent()); - m_MotionBlur = AddComponent(new MotionBlurComponent()); - m_Taa = AddComponent(new TaaComponent()); - m_EyeAdaptation = AddComponent(new EyeAdaptationComponent()); - m_DepthOfField = AddComponent(new DepthOfFieldComponent()); - m_Bloom = AddComponent(new BloomComponent()); - m_ChromaticAberration = AddComponent(new ChromaticAberrationComponent()); - m_ColorGrading = AddComponent(new ColorGradingComponent()); - m_UserLut = AddComponent(new UserLutComponent()); - m_Grain = AddComponent(new GrainComponent()); - m_Vignette = AddComponent(new VignetteComponent()); - m_Dithering = AddComponent(new DitheringComponent()); - m_Fxaa = AddComponent(new FxaaComponent()); - - // Prepare state observers - m_ComponentStates = new Dictionary(); - - foreach (var component in m_Components) - m_ComponentStates.Add(component, false); - - useGUILayout = false; - } - - void OnPreCull() - { - // All the per-frame initialization logic has to be done in OnPreCull instead of Update - // because [ImageEffectAllowedInSceneView] doesn't trigger Update events... - - m_Camera = GetComponent(); - - if (profile == null || m_Camera == null) - return; - -#if UNITY_EDITOR - // Track the scene view camera to disable some effects we don't want to see in the - // scene view - // Currently disabled effects : - // - Temporal Antialiasing - // - Depth of Field - // - Motion blur - m_RenderingInSceneView = UnityEditor.SceneView.currentDrawingSceneView != null - && UnityEditor.SceneView.currentDrawingSceneView.camera == m_Camera; -#endif - - // Prepare context - var context = m_Context.Reset(); - context.profile = profile; - context.renderTextureFactory = m_RenderTextureFactory; - context.materialFactory = m_MaterialFactory; - context.camera = m_Camera; - - // Prepare components - m_DebugViews.Init(context, profile.debugViews); - m_AmbientOcclusion.Init(context, profile.ambientOcclusion); - m_ScreenSpaceReflection.Init(context, profile.screenSpaceReflection); - m_FogComponent.Init(context, profile.fog); - m_MotionBlur.Init(context, profile.motionBlur); - m_Taa.Init(context, profile.antialiasing); - m_EyeAdaptation.Init(context, profile.eyeAdaptation); - m_DepthOfField.Init(context, profile.depthOfField); - m_Bloom.Init(context, profile.bloom); - m_ChromaticAberration.Init(context, profile.chromaticAberration); - m_ColorGrading.Init(context, profile.colorGrading); - m_UserLut.Init(context, profile.userLut); - m_Grain.Init(context, profile.grain); - m_Vignette.Init(context, profile.vignette); - m_Dithering.Init(context, profile.dithering); - m_Fxaa.Init(context, profile.antialiasing); - - // Handles profile change and 'enable' state observers - if (m_PreviousProfile != profile) - { - DisableComponents(); - m_PreviousProfile = profile; - } - - CheckObservers(); - - // Find out which camera flags are needed before rendering begins - // Note that motion vectors will only be available one frame after being enabled - var flags = context.camera.depthTextureMode; - foreach (var component in m_Components) - { - if (component.active) - flags |= component.GetCameraFlags(); - } - - context.camera.depthTextureMode = flags; - - // Temporal antialiasing jittering, needs to happen before culling - if (!m_RenderingInSceneView && m_Taa.active && !profile.debugViews.willInterrupt) - m_Taa.SetProjectionMatrix(jitteredMatrixFunc); - } - - void OnPreRender() - { - if (profile == null) - return; - - // Command buffer-based effects should be set-up here - TryExecuteCommandBuffer(m_DebugViews); - TryExecuteCommandBuffer(m_AmbientOcclusion); - TryExecuteCommandBuffer(m_ScreenSpaceReflection); - TryExecuteCommandBuffer(m_FogComponent); - - if (!m_RenderingInSceneView) - TryExecuteCommandBuffer(m_MotionBlur); - } - - void OnPostRender() - { - if (profile == null || m_Camera == null) - return; - - if (!m_RenderingInSceneView && m_Taa.active && !profile.debugViews.willInterrupt) - m_Context.camera.ResetProjectionMatrix(); - } - - // Classic render target pipeline for RT-based effects - void OnRenderImage(RenderTexture source, RenderTexture destination) - { - if (profile == null || m_Camera == null) - { - Graphics.Blit(source, destination); - return; - } - - // Uber shader setup - bool uberActive = false; - bool fxaaActive = m_Fxaa.active; - bool taaActive = m_Taa.active && !m_RenderingInSceneView; - bool dofActive = m_DepthOfField.active && !m_RenderingInSceneView; - - var uberMaterial = m_MaterialFactory.Get("Hidden/Post FX/Uber Shader"); - uberMaterial.shaderKeywords = null; - - var src = source; - var dst = destination; - - if (taaActive) - { - var tempRT = m_RenderTextureFactory.Get(src); - m_Taa.Render(src, tempRT); - src = tempRT; - } - -#if UNITY_EDITOR - // Render to a dedicated target when monitors are enabled so they can show information - // about the final render. - // At runtime the output will always be the backbuffer or whatever render target is - // currently set on the camera. - if (profile.monitors.onFrameEndEditorOnly != null) - dst = m_RenderTextureFactory.Get(src); -#endif - - Texture autoExposure = GraphicsUtils.whiteTexture; - if (m_EyeAdaptation.active) - { - uberActive = true; - autoExposure = m_EyeAdaptation.Prepare(src, uberMaterial); - } - - uberMaterial.SetTexture("_AutoExposure", autoExposure); - - if (dofActive) - { - uberActive = true; - m_DepthOfField.Prepare(src, uberMaterial, taaActive, m_Taa.jitterVector, m_Taa.model.settings.taaSettings.motionBlending); - } - - if (m_Bloom.active) - { - uberActive = true; - m_Bloom.Prepare(src, uberMaterial, autoExposure); - } - - uberActive |= TryPrepareUberImageEffect(m_ChromaticAberration, uberMaterial); - uberActive |= TryPrepareUberImageEffect(m_ColorGrading, uberMaterial); - uberActive |= TryPrepareUberImageEffect(m_Vignette, uberMaterial); - uberActive |= TryPrepareUberImageEffect(m_UserLut, uberMaterial); - - var fxaaMaterial = fxaaActive - ? m_MaterialFactory.Get("Hidden/Post FX/FXAA") - : null; - - if (fxaaActive) - { - fxaaMaterial.shaderKeywords = null; - TryPrepareUberImageEffect(m_Grain, fxaaMaterial); - TryPrepareUberImageEffect(m_Dithering, fxaaMaterial); - - if (uberActive) - { - var output = m_RenderTextureFactory.Get(src); - Graphics.Blit(src, output, uberMaterial, 0); - src = output; - } - - m_Fxaa.Render(src, dst); - } - else - { - uberActive |= TryPrepareUberImageEffect(m_Grain, uberMaterial); - uberActive |= TryPrepareUberImageEffect(m_Dithering, uberMaterial); - - if (uberActive) - { - if (!GraphicsUtils.isLinearColorSpace) - uberMaterial.EnableKeyword("UNITY_COLORSPACE_GAMMA"); - - Graphics.Blit(src, dst, uberMaterial, 0); - } - } - - if (!uberActive && !fxaaActive) - Graphics.Blit(src, dst); - -#if UNITY_EDITOR - if (profile.monitors.onFrameEndEditorOnly != null) - { - Graphics.Blit(dst, destination); - - var oldRt = RenderTexture.active; - profile.monitors.onFrameEndEditorOnly(dst); - RenderTexture.active = oldRt; - } -#endif - - m_RenderTextureFactory.ReleaseAll(); - } - - void OnGUI() - { - if (Event.current.type != EventType.Repaint) - return; - - if (profile == null || m_Camera == null) - return; - - if (m_EyeAdaptation.active && profile.debugViews.IsModeActive(DebugMode.EyeAdaptation)) - m_EyeAdaptation.OnGUI(); - else if (m_ColorGrading.active && profile.debugViews.IsModeActive(DebugMode.LogLut)) - m_ColorGrading.OnGUI(); - else if (m_UserLut.active && profile.debugViews.IsModeActive(DebugMode.UserLut)) - m_UserLut.OnGUI(); - } - - void OnDisable() - { - // Clear command buffers - foreach (var cb in m_CommandBuffers.Values) - { - m_Camera.RemoveCommandBuffer(cb.Key, cb.Value); - cb.Value.Dispose(); - } - - m_CommandBuffers.Clear(); - - // Clear components - if (profile != null) - DisableComponents(); - - m_Components.Clear(); - - // Factories - m_MaterialFactory.Dispose(); - m_RenderTextureFactory.Dispose(); - GraphicsUtils.Dispose(); - } - - public void ResetTemporalEffects() - { - m_Taa.ResetHistory(); - m_MotionBlur.ResetHistory(); - m_EyeAdaptation.ResetHistory(); - } - - #region State management - - List m_ComponentsToEnable = new List(); - List m_ComponentsToDisable = new List(); - - void CheckObservers() - { - foreach (var cs in m_ComponentStates) - { - var component = cs.Key; - var state = component.GetModel().enabled; - - if (state != cs.Value) - { - if (state) m_ComponentsToEnable.Add(component); - else m_ComponentsToDisable.Add(component); - } - } - - for (int i = 0; i < m_ComponentsToDisable.Count; i++) - { - var c = m_ComponentsToDisable[i]; - m_ComponentStates[c] = false; - c.OnDisable(); - } - - for (int i = 0; i < m_ComponentsToEnable.Count; i++) - { - var c = m_ComponentsToEnable[i]; - m_ComponentStates[c] = true; - c.OnEnable(); - } - - m_ComponentsToDisable.Clear(); - m_ComponentsToEnable.Clear(); - } - - void DisableComponents() - { - foreach (var component in m_Components) - { - var model = component.GetModel(); - if (model != null && model.enabled) - component.OnDisable(); - } - } - - #endregion - - #region Command buffer handling & rendering helpers - // Placeholders before the upcoming Scriptable Render Loop as command buffers will be - // executed on the go so we won't need of all that stuff - CommandBuffer AddCommandBuffer(CameraEvent evt, string name) - where T : PostProcessingModel - { - var cb = new CommandBuffer { name = name }; - var kvp = new KeyValuePair(evt, cb); - m_CommandBuffers.Add(typeof(T), kvp); - m_Camera.AddCommandBuffer(evt, kvp.Value); - return kvp.Value; - } - - void RemoveCommandBuffer() - where T : PostProcessingModel - { - KeyValuePair kvp; - var type = typeof(T); - - if (!m_CommandBuffers.TryGetValue(type, out kvp)) - return; - - m_Camera.RemoveCommandBuffer(kvp.Key, kvp.Value); - m_CommandBuffers.Remove(type); - kvp.Value.Dispose(); - } - - CommandBuffer GetCommandBuffer(CameraEvent evt, string name) - where T : PostProcessingModel - { - CommandBuffer cb; - KeyValuePair kvp; - - if (!m_CommandBuffers.TryGetValue(typeof(T), out kvp)) - { - cb = AddCommandBuffer(evt, name); - } - else if (kvp.Key != evt) - { - RemoveCommandBuffer(); - cb = AddCommandBuffer(evt, name); - } - else cb = kvp.Value; - - return cb; - } - - void TryExecuteCommandBuffer(PostProcessingComponentCommandBuffer component) - where T : PostProcessingModel - { - if (component.active) - { - var cb = GetCommandBuffer(component.GetCameraEvent(), component.GetName()); - cb.Clear(); - component.PopulateCommandBuffer(cb); - } - else RemoveCommandBuffer(); - } - - bool TryPrepareUberImageEffect(PostProcessingComponentRenderTexture component, Material material) - where T : PostProcessingModel - { - if (!component.active) - return false; - - component.Prepare(material); - return true; - } - - T AddComponent(T component) - where T : PostProcessingComponentBase - { - m_Components.Add(component); - return component; - } - - #endregion - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs.meta deleted file mode 100644 index a80fe1111..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingBehaviour.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ff26db721962cdf4a8edcdfa9a767d2a -timeCreated: 1459757354 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/PostProcessingBehaviour.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs deleted file mode 100644 index c3c0d7dc6..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs +++ /dev/null @@ -1,58 +0,0 @@ -using UnityEngine.Rendering; - -namespace UnityEngine.PostProcessing -{ - public abstract class PostProcessingComponentBase - { - public PostProcessingContext context; - - public virtual DepthTextureMode GetCameraFlags() - { - return DepthTextureMode.None; - } - - public abstract bool active { get; } - - public virtual void OnEnable() - {} - - public virtual void OnDisable() - {} - - public abstract PostProcessingModel GetModel(); - } - - public abstract class PostProcessingComponent : PostProcessingComponentBase - where T : PostProcessingModel - { - public T model { get; internal set; } - - public virtual void Init(PostProcessingContext pcontext, T pmodel) - { - context = pcontext; - model = pmodel; - } - - public override PostProcessingModel GetModel() - { - return model; - } - } - - public abstract class PostProcessingComponentCommandBuffer : PostProcessingComponent - where T : PostProcessingModel - { - public abstract CameraEvent GetCameraEvent(); - - public abstract string GetName(); - - public abstract void PopulateCommandBuffer(CommandBuffer cb); - } - - public abstract class PostProcessingComponentRenderTexture : PostProcessingComponent - where T : PostProcessingModel - { - public virtual void Prepare(Material material) - {} - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs.meta deleted file mode 100644 index fec4a3966..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingComponent.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ef3277e9c14f78546a1ecaab0d293b77 -timeCreated: 1473009349 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/PostProcessingComponent.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs deleted file mode 100644 index dba51ed77..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs +++ /dev/null @@ -1,60 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - public class PostProcessingContext - { - public PostProcessingProfile profile; - public Camera camera; - - public MaterialFactory materialFactory; - public RenderTextureFactory renderTextureFactory; - - public bool interrupted { get; private set; } - - public void Interrupt() - { - interrupted = true; - } - - public PostProcessingContext Reset() - { - profile = null; - camera = null; - materialFactory = null; - renderTextureFactory = null; - interrupted = false; - return this; - } - - #region Helpers - public bool isGBufferAvailable - { - get { return camera.actualRenderingPath == RenderingPath.DeferredShading; } - } - - public bool isHdr - { - // No UNITY_5_6_OR_NEWER defined in early betas of 5.6 -#if UNITY_5_6 || UNITY_5_6_OR_NEWER - get { return camera.allowHDR; } -#else - get { return camera.hdr; } -#endif - } - - public int width - { - get { return camera.pixelWidth; } - } - - public int height - { - get { return camera.pixelHeight; } - } - - public Rect viewport - { - get { return camera.rect; } // Normalized coordinates - } - #endregion - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs.meta deleted file mode 100644 index 1ee4a1449..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingContext.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 63da4b6536f11834fa026e327087bd7b -timeCreated: 1467630780 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/PostProcessingContext.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs deleted file mode 100644 index 69f50958b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - [Serializable] - public abstract class PostProcessingModel - { - [SerializeField, GetSet("enabled")] - bool m_Enabled; - public bool enabled - { - get { return m_Enabled; } - set - { - m_Enabled = value; - - if (value) - OnValidate(); - } - } - - public abstract void Reset(); - - public virtual void OnValidate() - {} - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs.meta deleted file mode 100644 index e77e8f44e..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingModel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 28413153a26e53342baf1a7b2c3711c3 -timeCreated: 1466586474 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/PostProcessingModel.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs deleted file mode 100644 index 2628a5874..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - public class PostProcessingProfile : ScriptableObject - { - #pragma warning disable 0169 // "field x is never used" - - public BuiltinDebugViewsModel debugViews = new BuiltinDebugViewsModel(); - public FogModel fog = new FogModel(); - public AntialiasingModel antialiasing = new AntialiasingModel(); - public AmbientOcclusionModel ambientOcclusion = new AmbientOcclusionModel(); - public ScreenSpaceReflectionModel screenSpaceReflection = new ScreenSpaceReflectionModel(); - public DepthOfFieldModel depthOfField = new DepthOfFieldModel(); - public MotionBlurModel motionBlur = new MotionBlurModel(); - public EyeAdaptationModel eyeAdaptation = new EyeAdaptationModel(); - public BloomModel bloom = new BloomModel(); - public ColorGradingModel colorGrading = new ColorGradingModel(); - public UserLutModel userLut = new UserLutModel(); - public ChromaticAberrationModel chromaticAberration = new ChromaticAberrationModel(); - public GrainModel grain = new GrainModel(); - public VignetteModel vignette = new VignetteModel(); - public DitheringModel dithering = new DitheringModel(); - -#if UNITY_EDITOR - // Monitor settings - [Serializable] - public class MonitorSettings - { - // Callback used in the editor to grab the rendered frame and sent it to monitors - public Action onFrameEndEditorOnly; - - // Global - public int currentMonitorID = 0; - public bool refreshOnPlay = false; - - // Histogram - public enum HistogramMode - { - Red = 0, - Green = 1, - Blue = 2, - Luminance = 3, - RGBMerged, - RGBSplit - } - - public HistogramMode histogramMode = HistogramMode.Luminance; - - // Waveform - public float waveformExposure = 0.12f; - public bool waveformY = false; - public bool waveformR = true; - public bool waveformG = true; - public bool waveformB = true; - - // Parade - public float paradeExposure = 0.12f; - - // Vectorscope - public float vectorscopeExposure = 0.12f; - public bool vectorscopeShowBackground = true; - } - - public MonitorSettings monitors = new MonitorSettings(); -#endif - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs.meta deleted file mode 100644 index 45ed6d57a..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/PostProcessingProfile.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 8a3bdb2cd68f901469e7cc149151eb49 -timeCreated: 1459756301 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/PostProcessingProfile.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils.meta deleted file mode 100644 index 5b617b7fc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 18fb6a6b698945843a16c2d0111a7af2 -folderAsset: yes -timeCreated: 1459945070 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs deleted file mode 100644 index da75978ef..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; - -namespace UnityEngine.PostProcessing -{ - // Small wrapper on top of AnimationCurve to handle zero-key curves and keyframe looping - - [Serializable] - public sealed class ColorGradingCurve - { - public AnimationCurve curve; - - [SerializeField] - bool m_Loop; - - [SerializeField] - float m_ZeroValue; - - [SerializeField] - float m_Range; - - AnimationCurve m_InternalLoopingCurve; - - public ColorGradingCurve(AnimationCurve curve, float zeroValue, bool loop, Vector2 bounds) - { - this.curve = curve; - m_ZeroValue = zeroValue; - m_Loop = loop; - m_Range = bounds.magnitude; - } - - public void Cache() - { - if (!m_Loop) - return; - - var length = curve.length; - - if (length < 2) - return; - - if (m_InternalLoopingCurve == null) - m_InternalLoopingCurve = new AnimationCurve(); - - var prev = curve[length - 1]; - prev.time -= m_Range; - var next = curve[0]; - next.time += m_Range; - m_InternalLoopingCurve.keys = curve.keys; - m_InternalLoopingCurve.AddKey(prev); - m_InternalLoopingCurve.AddKey(next); - } - - public float Evaluate(float t) - { - if (curve.length == 0) - return m_ZeroValue; - - if (!m_Loop || curve.length == 1) - return curve.Evaluate(t); - - return m_InternalLoopingCurve.Evaluate(t); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs.meta deleted file mode 100644 index f4c738c66..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 1bb6f2275f7eff940b6f0d72681e7877 -timeCreated: 1473847739 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Utils/ColorGradingCurve.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs deleted file mode 100644 index 5e428c0cc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs +++ /dev/null @@ -1,144 +0,0 @@ -namespace UnityEngine.PostProcessing -{ - using UnityObject = Object; - - public static class GraphicsUtils - { - public static bool isLinearColorSpace - { - get { return QualitySettings.activeColorSpace == ColorSpace.Linear; } - } - - public static bool supportsDX11 - { -#if UNITY_WEBGL - get { return false; } -#else - get { return SystemInfo.graphicsShaderLevel >= 50 && SystemInfo.supportsComputeShaders; } -#endif - } - - static Texture2D s_WhiteTexture; - public static Texture2D whiteTexture - { - get - { - if (s_WhiteTexture != null) - return s_WhiteTexture; - - s_WhiteTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false); - s_WhiteTexture.SetPixel(0, 0, new Color(1f, 1f, 1f, 1f)); - s_WhiteTexture.Apply(); - - return s_WhiteTexture; - } - } - - static Mesh s_Quad; - public static Mesh quad - { - get - { - if (s_Quad != null) - return s_Quad; - - var vertices = new[] - { - new Vector3(-1f, -1f, 0f), - new Vector3( 1f, 1f, 0f), - new Vector3( 1f, -1f, 0f), - new Vector3(-1f, 1f, 0f) - }; - - var uvs = new[] - { - new Vector2(0f, 0f), - new Vector2(1f, 1f), - new Vector2(1f, 0f), - new Vector2(0f, 1f) - }; - - var indices = new[] { 0, 1, 2, 1, 0, 3 }; - - s_Quad = new Mesh - { - vertices = vertices, - uv = uvs, - triangles = indices - }; - s_Quad.RecalculateNormals(); - s_Quad.RecalculateBounds(); - - return s_Quad; - } - } - - // Useful when rendering to MRT - public static void Blit(Material material, int pass) - { - GL.PushMatrix(); - { - GL.LoadOrtho(); - - material.SetPass(pass); - - GL.Begin(GL.TRIANGLE_STRIP); - { - GL.TexCoord2(0f, 0f); GL.Vertex3(0f, 0f, 0.1f); - GL.TexCoord2(1f, 0f); GL.Vertex3(1f, 0f, 0.1f); - GL.TexCoord2(0f, 1f); GL.Vertex3(0f, 1f, 0.1f); - GL.TexCoord2(1f, 1f); GL.Vertex3(1f, 1f, 0.1f); - } - GL.End(); - } - GL.PopMatrix(); - } - - public static void ClearAndBlit(Texture source, RenderTexture destination, Material material, int pass, bool clearColor = true, bool clearDepth = false) - { - var oldRT = RenderTexture.active; - RenderTexture.active = destination; - - GL.Clear(false, clearColor, Color.clear); - GL.PushMatrix(); - { - GL.LoadOrtho(); - - material.SetTexture("_MainTex", source); - material.SetPass(pass); - - GL.Begin(GL.TRIANGLE_STRIP); - { - GL.TexCoord2(0f, 0f); GL.Vertex3(0f, 0f, 0.1f); - GL.TexCoord2(1f, 0f); GL.Vertex3(1f, 0f, 0.1f); - GL.TexCoord2(0f, 1f); GL.Vertex3(0f, 1f, 0.1f); - GL.TexCoord2(1f, 1f); GL.Vertex3(1f, 1f, 0.1f); - } - GL.End(); - } - GL.PopMatrix(); - - RenderTexture.active = oldRT; - } - - public static void Destroy(UnityObject obj) - { - if (obj != null) - { -#if UNITY_EDITOR - if (Application.isPlaying) - UnityObject.Destroy(obj); - else - UnityObject.DestroyImmediate(obj); -#else - UnityObject.Destroy(obj); -#endif - } - } - - public static void Dispose() - { - Destroy(s_Quad); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs.meta deleted file mode 100644 index 67e026802..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/GraphicsUtils.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: f40f0a1acf6ce2f419f2b71c667e8973 -timeCreated: 1467635425 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Utils/GraphicsUtils.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs deleted file mode 100644 index fa5eee763..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace UnityEngine.PostProcessing -{ - using UnityObject = Object; - - public sealed class MaterialFactory : IDisposable - { - Dictionary m_Materials; - - public MaterialFactory() - { - m_Materials = new Dictionary(); - } - - public Material Get(string shaderName) - { - Material material; - - if (!m_Materials.TryGetValue(shaderName, out material)) - { - var shader = Shader.Find(shaderName); - - if (shader == null) - throw new ArgumentException(string.Format("Shader not found ({0})", shaderName)); - - material = new Material(shader) - { - name = string.Format("PostFX - {0}", shaderName.Substring(shaderName.LastIndexOf("/") + 1)), - hideFlags = HideFlags.DontSave - }; - - m_Materials.Add(shaderName, material); - } - - return material; - } - - public void Dispose() - { - var enumerator = m_Materials.GetEnumerator(); - while (enumerator.MoveNext()) - { - var material = enumerator.Current.Value; - GraphicsUtils.Destroy(material); - } - - m_Materials.Clear(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs.meta deleted file mode 100644 index 0a80fff7f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/MaterialFactory.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 594fad000c373f746864717c588e1815 -timeCreated: 1466586851 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Utils/MaterialFactory.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs deleted file mode 100644 index a38647327..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace UnityEngine.PostProcessing -{ - public sealed class RenderTextureFactory : IDisposable - { - HashSet m_TemporaryRTs; - - public RenderTextureFactory() - { - m_TemporaryRTs = new HashSet(); - } - - public RenderTexture Get(RenderTexture baseRenderTexture) - { - return Get( - baseRenderTexture.width, - baseRenderTexture.height, - baseRenderTexture.depth, - baseRenderTexture.format, - baseRenderTexture.sRGB ? RenderTextureReadWrite.sRGB : RenderTextureReadWrite.Linear, - baseRenderTexture.filterMode, - baseRenderTexture.wrapMode - ); - } - - public RenderTexture Get(int width, int height, int depthBuffer = 0, RenderTextureFormat format = RenderTextureFormat.ARGBHalf, RenderTextureReadWrite rw = RenderTextureReadWrite.Default, FilterMode filterMode = FilterMode.Bilinear, TextureWrapMode wrapMode = TextureWrapMode.Clamp, string name = "FactoryTempTexture") - { - var rt = RenderTexture.GetTemporary(width, height, depthBuffer, format, rw); // add forgotten param rw - rt.filterMode = filterMode; - rt.wrapMode = wrapMode; - rt.name = name; - m_TemporaryRTs.Add(rt); - return rt; - } - - public void Release(RenderTexture rt) - { - if (rt == null) - return; - - if (!m_TemporaryRTs.Contains(rt)) - throw new ArgumentException(string.Format("Attempting to remove a RenderTexture that was not allocated: {0}", rt)); - - m_TemporaryRTs.Remove(rt); - RenderTexture.ReleaseTemporary(rt); - } - - public void ReleaseAll() - { - var enumerator = m_TemporaryRTs.GetEnumerator(); - while (enumerator.MoveNext()) - RenderTexture.ReleaseTemporary(enumerator.Current); - - m_TemporaryRTs.Clear(); - } - - public void Dispose() - { - ReleaseAll(); - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs.meta deleted file mode 100644 index d6c84dcf9..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: aec5694806c4d75449e231cfae69c329 -timeCreated: 1467361102 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Runtime/Utils/RenderTextureFactory.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities.meta index 2162062d6..e44701dd6 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 478d405e757b044f2bd9c4b777026b7e +guid: 32501e8adbfe6474083804cff57183e0 folderAsset: yes -timeCreated: 1487339997 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture.meta index 1a389dfff..b508032ae 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 5b271143f6e834d6bb7a4309f2c781f2 +guid: 04e1a30d49be3134fb5ffecf7d492b2d folderAsset: yes -timeCreated: 1487339997 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset deleted file mode 100644 index 62d5fd1f1..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset +++ /dev/null @@ -1,345 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8a3bdb2cd68f901469e7cc149151eb49, type: 3} - m_Name: CustomMotionVectorDebugProfile - m_EditorClassIdentifier: - debugViews: - m_Enabled: 1 - m_Settings: - mode: 3 - depth: - scale: 1 - motionVectors: - sourceOpacity: 1 - motionImageOpacity: 0 - motionImageAmplitude: 16 - motionVectorsOpacity: 1 - motionVectorsResolution: 48 - motionVectorsAmplitude: 64 - fog: - m_Enabled: 0 - m_Settings: - excludeSkybox: 1 - antialiasing: - m_Enabled: 0 - m_Settings: - method: 0 - fxaaSettings: - preset: 2 - taaSettings: - jitterSpread: 0.75 - sharpen: 0.3 - stationaryBlending: 0.95 - motionBlending: 0.85 - ambientOcclusion: - m_Enabled: 0 - m_Settings: - intensity: 1 - radius: 0.3 - sampleCount: 10 - downsampling: 1 - forceForwardCompatibility: 0 - ambientOnly: 0 - highPrecision: 0 - screenSpaceReflection: - m_Enabled: 0 - m_Settings: - reflection: - blendType: 0 - reflectionQuality: 2 - maxDistance: 100 - iterationCount: 256 - stepSize: 3 - widthModifier: 0.5 - reflectionBlur: 1 - reflectBackfaces: 0 - intensity: - reflectionMultiplier: 1 - fadeDistance: 100 - fresnelFade: 1 - fresnelFadePower: 1 - screenEdgeMask: - intensity: 0.03 - depthOfField: - m_Enabled: 0 - m_Settings: - focusDistance: 10 - aperture: 5.6 - focalLength: 50 - useCameraFov: 0 - kernelSize: 1 - motionBlur: - m_Enabled: 1 - m_Settings: - shutterAngle: 270 - sampleCount: 10 - frameBlending: 0 - eyeAdaptation: - m_Enabled: 0 - m_Settings: - lowPercent: 65 - highPercent: 95 - minLuminance: 0.03 - maxLuminance: 2 - keyValue: 0.25 - dynamicKeyValue: 1 - adaptationType: 0 - speedUp: 2 - speedDown: 1 - logMin: -8 - logMax: 4 - bloom: - m_Enabled: 0 - m_Settings: - bloom: - intensity: 0.5 - threshold: 1.1 - softKnee: 0.5 - radius: 4 - antiFlicker: 0 - lensDirt: - texture: {fileID: 0} - intensity: 3 - colorGrading: - m_Enabled: 0 - m_Settings: - tonemapping: - tonemapper: 2 - neutralBlackIn: 0.02 - neutralWhiteIn: 10 - neutralBlackOut: 0 - neutralWhiteOut: 10 - neutralWhiteLevel: 5.3 - neutralWhiteClip: 10 - basic: - postExposure: 0 - temperature: 0 - tint: 0 - hueShift: 0 - saturation: 1 - contrast: 1 - channelMixer: - red: {x: 1, y: 0, z: 0} - green: {x: 0, y: 1, z: 0} - blue: {x: 0, y: 0, z: 1} - currentEditingChannel: 0 - colorWheels: - mode: 1 - log: - slope: {r: 0, g: 0, b: 0, a: 0} - power: {r: 0, g: 0, b: 0, a: 0} - offset: {r: 0, g: 0, b: 0, a: 0} - linear: - lift: {r: 0, g: 0, b: 0, a: 0} - gamma: {r: 0, g: 0, b: 0, a: 0} - gain: {r: 0, g: 0, b: 0, a: 0} - curves: - master: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - red: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - green: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - blue: - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0 - m_Range: 1 - hueVShue: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 1 - m_ZeroValue: 0.5 - m_Range: 1 - hueVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 1 - m_ZeroValue: 0.5 - m_Range: 1 - satVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0.5 - m_Range: 1 - lumVSsat: - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Loop: 0 - m_ZeroValue: 0.5 - m_Range: 1 - e_CurrentEditingCurve: 0 - e_CurveY: 1 - e_CurveR: 0 - e_CurveG: 0 - e_CurveB: 0 - userLut: - m_Enabled: 0 - m_Settings: - lut: {fileID: 0} - contribution: 1 - chromaticAberration: - m_Enabled: 0 - m_Settings: - spectralTexture: {fileID: 0} - intensity: 0.1 - grain: - m_Enabled: 0 - m_Settings: - colored: 1 - intensity: 0.5 - size: 1 - luminanceContribution: 0.8 - vignette: - m_Enabled: 0 - m_Settings: - mode: 0 - color: {r: 0, g: 0, b: 0, a: 1} - center: {x: 0.5, y: 0.5} - intensity: 0.45 - smoothness: 0.2 - roundness: 1 - mask: {fileID: 0} - opacity: 1 - rounded: 0 - dithering: - m_Enabled: 0 - monitors: - currentMonitorID: 0 - refreshOnPlay: 0 - histogramMode: 3 - waveformExposure: 0.12 - waveformY: 0 - waveformR: 1 - waveformG: 1 - waveformB: 1 - paradeExposure: 0.12 - vectorscopeExposure: 0.12 - vectorscopeShowBackground: 1 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset.meta deleted file mode 100644 index 2f8db092b..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: d982e879ff67b4d3fb6522d08c3cd5af -timeCreated: 1487341088 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/CustomMotionVectorDebugProfile.asset" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleScene.unity.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleScene.unity.meta index bcb49a762..33df76720 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleScene.unity.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleScene.unity.meta @@ -1,15 +1,7 @@ fileFormatVersion: 2 -guid: ed3a9f41209f84f6db99e07013da9628 -timeCreated: 1487347827 -licenseType: Store +guid: 7ebadf13f3a80e243b05fce5df3e8aaa DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/ExampleScene.unity" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting deleted file mode 100644 index bd03bf82f..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%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: ExampleSceneSettings - serializedVersion: 9 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 1 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 0 - m_BakeBackend: 1 - m_LightmapMaxSize: 1024 - m_LightmapSizeFixed: 0 - m_UseMipmapLimits: 1 - m_BakeResolution: 40 - m_Padding: 2 - m_LightmapCompression: 3 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - 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_EnableWorkerProcessBaking: 1 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 2 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - 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_PVREnvironmentImportanceSampling: 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 - m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting.meta deleted file mode 100644 index 6bf994c79..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleSceneSettings.lighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9986ba3475bd6514189ace06050eeb20 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs deleted file mode 100644 index a8bf34af6..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs +++ /dev/null @@ -1,33 +0,0 @@ -using UnityEngine; - -public class ExampleWheelController : MonoBehaviour -{ - public float acceleration; - public Renderer motionVectorRenderer; // Reference to the custom motion vector renderer - - Rigidbody m_Rigidbody; - - static class Uniforms - { - internal static readonly int _MotionAmount = Shader.PropertyToID("_MotionAmount"); - } - - void Start() - { - m_Rigidbody = GetComponent(); // Get reference to rigidbody - m_Rigidbody.maxAngularVelocity = 100; // Set max velocity for rigidbody - } - - void Update() - { - if (Input.GetKey (KeyCode.UpArrow)) // Rotate forward - m_Rigidbody.AddRelativeTorque(new Vector3(-1 * acceleration, 0, 0), ForceMode.Acceleration); // Add forward torque to mesh - else if (Input.GetKey (KeyCode.DownArrow)) // Rotate backward - m_Rigidbody.AddRelativeTorque(new Vector3(1 * acceleration, 0, 0), ForceMode.Acceleration); // Add backward torque to mesh - - float m = -m_Rigidbody.angularVelocity.x / 100; // Calculate multiplier for motion vector texture - - if (motionVectorRenderer) // If the custom motion vector texture renderer exists - motionVectorRenderer.material.SetFloat(Uniforms._MotionAmount, Mathf.Clamp(m, -0.25f, 0.25f)); // Set the multiplier on the renderer's material - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs.meta deleted file mode 100644 index 0a737f951..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 840c928746809454cb5b9309b640dbd7 -timeCreated: 1479836093 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/ExampleWheelController.cs" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials.meta deleted file mode 100644 index 89cab6eb6..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c4b2008f2662a41e587c4351609053c4 -folderAsset: yes -timeCreated: 1487340121 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat deleted file mode 100644 index fdc88b495..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat +++ /dev/null @@ -1,82 +0,0 @@ -%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: DebugMotionVectors - m_Shader: {fileID: 4800000, guid: 9189229324e2342b8b69f7c1904dceba, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 1 - 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: 3aac3087967ea4fae858ec0494fd24d9, type: 3} - 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} - - _MotionTex: - m_Texture: {fileID: 2800000, guid: 3aac3087967ea4fae858ec0494fd24d9, type: 3} - 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.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _MotionAmount: 0.1 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat.meta deleted file mode 100644 index e46ebe878..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: d7daeefbca4f14360bac0e1df1bdacd4 -timeCreated: 1479896287 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugMotionVectors.mat" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat deleted file mode 100644 index e9fa79496..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat +++ /dev/null @@ -1,82 +0,0 @@ -%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: DebugQuad - m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 1 - 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: 3aac3087967ea4fae858ec0494fd24d9, type: 3} - 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} - - _MotionTex: - m_Texture: {fileID: 2800000, guid: 3aac3087967ea4fae858ec0494fd24d9, type: 3} - 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.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _MotionAmount: 0.26 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat.meta deleted file mode 100644 index 9eb08d5dd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 3c40c8fdc50a841579d7cb15882ac9d9 -timeCreated: 1479896287 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Materials/DebugQuad.mat" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat deleted file mode 100644 index 39afcd4bd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: UVChecker - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 1 - 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: a08960dd6e8274e7f8fca616e09c48ed, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat.meta deleted file mode 100644 index 85c2cfa97..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 944463113244f4bf8b05c1757cd838a4 -timeCreated: 1487340121 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Materials/UVChecker.mat" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat deleted file mode 100644 index be88e8ffd..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat +++ /dev/null @@ -1,82 +0,0 @@ -%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: WheelMotionVectors - m_Shader: {fileID: 4800000, guid: 9189229324e2342b8b69f7c1904dceba, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 1 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MotionTex: - m_Texture: {fileID: 2800000, guid: d1cc06458fe724df8837423c0a2f8f93, type: 3} - 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.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _MotionAmount: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat.meta deleted file mode 100644 index 8c3894334..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 055f7217f136349d9b68e82b9e987dae -timeCreated: 1479896287 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Materials/WheelMotionVectors.mat" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models.meta index c6d9a8cf3..3a1257479 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: ef5ce588de3614b39b5ba7b0613cbe43 +guid: d639d40b30668ae41b2f269d6f8e38ee folderAsset: yes -timeCreated: 1487348152 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models/WheelMovecs.FBX.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models/WheelMovecs.FBX.meta index fbf2777dd..ac11014e2 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models/WheelMovecs.FBX.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Models/WheelMovecs.FBX.meta @@ -1,36 +1,34 @@ fileFormatVersion: 2 -guid: c4abfbff3b9d442f4b435849d2d2124c -timeCreated: 1479895866 -licenseType: Store +guid: 104fd8829d2517a4a819f0bcdd5eda49 ModelImporter: - serializedVersion: 19 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2300000: //RootNode - 3300000: //RootNode - 4300000: Object - 9500000: //RootNode + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 0 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] isReadable: 0 meshes: @@ -38,26 +36,52 @@ ModelImporter: globalScale: 1 meshCompression: 0 addColliders: 0 - importBlendShapes: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -67,22 +91,20 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: - rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Models/WheelMovecs.FBX" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders.meta deleted file mode 100644 index 3baecf4fc..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 8e565c240745c49628f96f0573adfa76 -folderAsset: yes -timeCreated: 1487348368 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader deleted file mode 100644 index b96681531..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader +++ /dev/null @@ -1,70 +0,0 @@ -Shader "Post Processing/Custom Motion Vector Texture" -{ - Properties - { - _MotionTex ("Motion Vector Texture", 2D) = "black" {} - _MotionAmount ("Motion Vector Multiplier", range (-0.25, 0.25)) = 0 - } - SubShader - { - Pass - { - Name "Motion Vectors" - Tags { "LightMode" = "MotionVectors" } - - ZTest LEqual Cull Back ZWrite On - - CGPROGRAM - - #pragma vertex vert - #pragma fragment FragMotionVectors - #include "UnityCG.cginc" - - float4 _MotionValue; - sampler2D _MotionTex; - float4 _MotionTex_ST; - float _MotionAmount; - - struct appdata - { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float3 normal : NORMAL; - float4 tangent : TANGENT; - }; - - struct v2f - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - float3 normal : NORMAL; - float4 tangent : TANGENT; - float4 transposedTangent : TEXCOORD1; - }; - - v2f vert (appdata v) - { - v2f o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = TRANSFORM_TEX(v.uv, _MotionTex); - o.normal = UnityObjectToClipPos(v.normal); - o.normal = o.normal * 0.5 + 0.5; - o.tangent = mul(UNITY_MATRIX_MV, v.tangent); - o.transposedTangent = (mul(UNITY_MATRIX_IT_MV, v.tangent)) * 0.5 + 0.5; - return o; - } - - float4 FragMotionVectors(v2f i) : SV_Target - { - half4 c = tex2D(_MotionTex, i.uv); - c.rg = (c.rg * 2.0 - 1.0) * _MotionAmount; // Using color texture so need to make 0.5 neutral - half4 t1 = i.tangent * 0.005; // Sides of tire - half4 t2 = c * float4(i.transposedTangent.r * 2.0, i.transposedTangent.g * 2.0, 0.0, 1.0); // Front of tire - half4 t3 = lerp(t2, t1, c.b); // Lerp between front and side of tire - return t3 * _MotionAmount; - } - - ENDCG - } - } -} diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader.meta deleted file mode 100644 index 2486b1eff..000000000 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 9189229324e2342b8b69f7c1904dceba -timeCreated: 1479826273 -licenseType: Store -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Shaders/CustomMotionVectorTexture.shader" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures.meta index 238d28574..0c4154b7f 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 92c42dce939f844cea2248583e06bd55 +guid: a56ccd18c43b59e4997fa5af841cbdcb folderAsset: yes -timeCreated: 1487348131 -licenseType: Store DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/DebugMotionVectors.png.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/DebugMotionVectors.png.meta index 5ab670e1d..54daa9642 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/DebugMotionVectors.png.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/DebugMotionVectors.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 3aac3087967ea4fae858ec0494fd24d9 -timeCreated: 1479828550 -licenseType: Store +guid: 94c445c28cf21ce4caa615d6aafa9644 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 4 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 0 + enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +33,13 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,45 +48,70 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - - buildTarget: Standalone + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Textures/DebugMotionVectors.png" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/UVChecker.png.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/UVChecker.png.meta index ff5af42fa..ce23bb119 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/UVChecker.png.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/UVChecker.png.meta @@ -1,10 +1,9 @@ fileFormatVersion: 2 -guid: a08960dd6e8274e7f8fca616e09c48ed -timeCreated: 1487340672 -licenseType: Store +guid: 6400750c1b48b8649a06ce7a6cd5995a TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 4 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -12,6 +11,8 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +33,13 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,37 +48,70 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Textures/UVChecker.png" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/WheelMotionVectors.png.meta b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/WheelMotionVectors.png.meta index d458ae31d..64a221752 100644 --- a/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/WheelMotionVectors.png.meta +++ b/Assets/Resources/Background/@실내/무지B/PostProcessing/Utilities/CustomMotionTexture/Textures/WheelMotionVectors.png.meta @@ -1,10 +1,9 @@ fileFormatVersion: 2 -guid: d1cc06458fe724df8837423c0a2f8f93 -timeCreated: 1487348028 -licenseType: Store +guid: ee539f71f7356f445b3cbfb3e1db4b58 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 4 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -12,6 +11,8 @@ TextureImporter: linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -27,10 +33,13 @@ TextureImporter: textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -39,37 +48,70 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 + resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 162791 - packageName: Attic Room - packageVersion: 1.2 - assetPath: "Assets/Resources/Background/@\uC2E4\uB0B4/\uBB34\uC9C0B/PostProcessing/Utilities/CustomMotionTexture/Textures/WheelMotionVectors.png" - uploadId: 617777 diff --git a/Assets/Resources/Background/@실내/무지B/Scripts.meta b/Assets/Resources/Background/@실내/무지B/Scripts.meta deleted file mode 100644 index 71b602af0..000000000 --- a/Assets/Resources/Background/@실내/무지B/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 634be38a8a1fccc46a9c0f2194188938 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/Scripts/ImageText.cs b/Assets/Resources/Background/@실내/무지B/Scripts/ImageText.cs deleted file mode 100644 index c165e905ff936e1e7a8ec3932305b0fa84122705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcmb7?TT8=05QWcc1pmX*rxvt|=!@cu7o?yFUVcDZqYc(ZdKdAptKaMzvL-DeVYA8Z zoS8Xi&e!Km6J;9dNly3dnWlQvxj(VhT^zeA|}M8dQn@a$~ELk)#ohZZ^Ugt z8S)iukNb>!#~P~3{eAZo%sDmYPB*-bvE#-N zrd(iOayR}7n4BBy>Kbi~ovE36l`Yp;O|^bl73`9=tc>jpRMFRmNB&i5>HGUnow|CV zQkBmIzUg=dPG$EQ>Ni(#XhkuJ0=BJ7RPDiO2*y0Oi1cmh)=wqne1zW?Udt)Y*kNYd zI?%4RDlr3M%@G4Sh@(); - } - - public void TrigegrInteraction() - { - if(!DoorWindow.GetComponent().isPlaying) - { - Debug.Log("Interactive object"); - switch (m_state) - { - case eInteractiveState.Active: - DoorWindow.GetComponent().Play("Close"); - m_state = eInteractiveState.Inactive; - sonido.clip = CloseSound; - sonido.Play(); - break; - case eInteractiveState.Inactive: - DoorWindow.GetComponent().Play("Open"); - m_state = eInteractiveState.Active; - sonido.clip = OpenSound; - sonido.Play(); - break; - default: - break; - } - } - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@실내/무지B/Scripts/InteractiveObject.cs.meta b/Assets/Resources/Background/@실내/무지B/Scripts/InteractiveObject.cs.meta deleted file mode 100644 index 0c3ff6da4..000000000 --- a/Assets/Resources/Background/@실내/무지B/Scripts/InteractiveObject.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 74ce04abbdd624f499dfb8dbfdf51766 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs b/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs deleted file mode 100644 index db8335301..000000000 --- a/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs +++ /dev/null @@ -1,32 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class crosshairRaycast : MonoBehaviour -{ - public Texture2D crosshair; - public Rect position; - - - void OnGUI() { - GUI.DrawTexture (position, crosshair); - } - - void Update () - { - position = new Rect((Screen.width - crosshair.width) / 2, (Screen.height - crosshair.height) /2, crosshair.width, crosshair.height); - if(Input.GetMouseButton(0)) - { - Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); - RaycastHit hit; - - if(Physics.Raycast(ray.origin, ray.direction, out hit, Mathf.Infinity)) - { - InteractiveObject obj = hit.collider.GetComponent(); - if(obj) - { - obj.TrigegrInteraction(); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs.meta b/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs.meta deleted file mode 100644 index 4dc37866a..000000000 --- a/Assets/Resources/Background/@실내/무지B/Scripts/crosshairRaycast.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c87de2114239bb34db30ca9eacb745b3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지B/Sounds.meta b/Assets/Resources/Background/@실내/무지B/Sounds.meta index 28c2010c9..499f44056 100644 --- a/Assets/Resources/Background/@실내/무지B/Sounds.meta +++ b/Assets/Resources/Background/@실내/무지B/Sounds.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b9689e9a29c740e47810bf5caa5a38e6 +guid: 2f85d05eb1d61a748a634dbef1a0c482 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Background/@실내/무지B/Sounds/door close.wav.meta b/Assets/Resources/Background/@실내/무지B/Sounds/door close.wav.meta index 1cfdca4f0..513dfdebe 100644 --- a/Assets/Resources/Background/@실내/무지B/Sounds/door close.wav.meta +++ b/Assets/Resources/Background/@실내/무지B/Sounds/door close.wav.meta @@ -1,19 +1,20 @@ fileFormatVersion: 2 -guid: a8cf50b1669f46f4eb825d5d5fcd01c6 +guid: 510d1f36677540d4298b092554585c80 AudioImporter: externalObjects: {} - serializedVersion: 6 + serializedVersion: 8 defaultSettings: + serializedVersion: 2 loadType: 0 sampleRateSetting: 0 sampleRateOverride: 44100 compressionFormat: 1 quality: 1 conversionMode: 0 + preloadAudioData: 0 platformSettingOverrides: {} forceToMono: 0 normalize: 1 - preloadAudioData: 1 loadInBackground: 0 ambisonic: 0 3D: 1 diff --git a/Assets/Resources/Background/@실내/무지B/Sounds/door open.wav.meta b/Assets/Resources/Background/@실내/무지B/Sounds/door open.wav.meta index 7c3fde853..e6e26df04 100644 --- a/Assets/Resources/Background/@실내/무지B/Sounds/door open.wav.meta +++ b/Assets/Resources/Background/@실내/무지B/Sounds/door open.wav.meta @@ -1,19 +1,20 @@ fileFormatVersion: 2 -guid: 290947ce0c3239146858be9001d8b8a7 +guid: 39c31fb3e6ed98f44a3ada8bd3a22a80 AudioImporter: externalObjects: {} - serializedVersion: 6 + serializedVersion: 8 defaultSettings: + serializedVersion: 2 loadType: 0 sampleRateSetting: 0 sampleRateOverride: 44100 compressionFormat: 1 quality: 1 conversionMode: 0 + preloadAudioData: 0 platformSettingOverrides: {} forceToMono: 0 normalize: 1 - preloadAudioData: 1 loadInBackground: 0 ambisonic: 0 3D: 1 diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs b/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs deleted file mode 100644 index 9deae0bb8..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class AnimationTrigger : MonoBehaviour -{ - public Animator sniperAnimator; - public GameObject clip; - public GameObject clipSolo; - -public void TriggerSniperAniamtion() - { - - sniperAnimator.SetTrigger("Sniper"); - } -public void TriggerSmgAniamtion() - { - - sniperAnimator.SetTrigger("Smg"); - } - - public void StartAnimationReload() - { - clip.SetActive(false); - clipSolo.SetActive(true); - - } - public void StopAnimationReload() - { - clip.SetActive(true); - clipSolo.SetActive(false); - - } - -} diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs.meta b/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs.meta deleted file mode 100644 index b48a56de3..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/AnimationTrigger.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: dcd88c02cba29cf4e9d252ee7463d29b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs b/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs deleted file mode 100644 index d940fb089..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; - - -public class DisplayCurrentAnimation : MonoBehaviour { - - - public Text textAnimationName; - public Animator anim; - - AnimatorClipInfo[] m_CurrentClipInfo; - float m_CurrentClipLength; - - // Update is called once per frame - void Update () { - - - m_CurrentClipInfo = anim.GetCurrentAnimatorClipInfo(0); - textAnimationName.text = m_CurrentClipInfo[0].clip.name; - - } -} diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs.meta b/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs.meta deleted file mode 100644 index 0f73dfbc6..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/DisplayCurrentAnimation.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ebb8f45e4ab7b7e4f800caa3155fdf42 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs b/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs deleted file mode 100644 index 580457e3b..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs +++ /dev/null @@ -1,87 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class FlyCamera : MonoBehaviour -{ - - /* - Writen by Windexglow 11-13-10. Use it, edit it, steal it I don't care. - Converted to C# 27-02-13 - no credit wanted. - Simple flycam I made, since I couldn't find any others made public. - Made simple to use (drag and drop, done) for regular keyboard layout - wasd : basic movement - shift : Makes camera accelerate - space : Moves camera on X and Z axis only. So camera doesn't gain any height*/ - - - float mainSpeed = 100.0f; //regular speed - float shiftAdd = 250.0f; //multiplied by how long shift is held. Basically running - float maxShift = 1000.0f; //Maximum speed when holdin gshift - float camSens = 0.25f; //How sensitive it with mouse - private Vector3 lastMouse = new Vector3(255, 255, 255); //kind of in the middle of the screen, rather than at the top (play) - private float totalRun = 1.0f; - - void Update() - { - lastMouse = Input.mousePosition - lastMouse; - lastMouse = new Vector3(-lastMouse.y * camSens, lastMouse.x * camSens, 0); - lastMouse = new Vector3(transform.eulerAngles.x + lastMouse.x, transform.eulerAngles.y + lastMouse.y, 0); - transform.eulerAngles = lastMouse; - lastMouse = Input.mousePosition; - //Mouse camera angle done. - - //Keyboard commands - float f = 0.0f; - Vector3 p = GetBaseInput(); - if (Input.GetKey(KeyCode.LeftShift)) - { - totalRun += Time.deltaTime; - p = p * totalRun * shiftAdd; - p.x = Mathf.Clamp(p.x, -maxShift, maxShift); - p.y = Mathf.Clamp(p.y, -maxShift, maxShift); - p.z = Mathf.Clamp(p.z, -maxShift, maxShift); - } - else - { - totalRun = Mathf.Clamp(totalRun * 0.5f, 1f, 1000f); - p = p * mainSpeed; - } - - p = p * Time.deltaTime; - Vector3 newPosition = transform.position; - if (Input.GetKey(KeyCode.Space)) - { //If player wants to move on X and Z axis only - transform.Translate(p); - newPosition.x = transform.position.x; - newPosition.z = transform.position.z; - transform.position = newPosition; - } - else - { - transform.Translate(p); - } - - } - - private Vector3 GetBaseInput() - { //returns the basic values, if it's 0 than it's not active. - Vector3 p_Velocity = new Vector3(); - if (Input.GetKey(KeyCode.W)) - { - p_Velocity += new Vector3(0, 0, 1); - } - if (Input.GetKey(KeyCode.S)) - { - p_Velocity += new Vector3(0, 0, -1); - } - if (Input.GetKey(KeyCode.A)) - { - p_Velocity += new Vector3(-1, 0, 0); - } - if (Input.GetKey(KeyCode.D)) - { - p_Velocity += new Vector3(1, 0, 0); - } - return p_Velocity; - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs.meta b/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs.meta deleted file mode 100644 index ece666dae..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/FlyCam.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bace08df4f6e5744281fa649fbc009c0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs b/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs deleted file mode 100644 index c3f6f5333..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class autorotatePied : MonoBehaviour -{ - - public float yspeed = 0.0f; - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - yspeed+=Time.deltaTime*10; -transform.rotation= Quaternion.Euler(0,yspeed,0); - } -} diff --git a/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs.meta b/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs.meta deleted file mode 100644 index 8470950b4..000000000 --- a/Assets/Resources/Background/@실내/무지C/Source/Animations/autorotatePied.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 750943268b532c14c9a711bd7b96b460 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/학교B/Setting.meta b/Assets/Resources/Background/@실내/학교B/Setting.meta deleted file mode 100644 index a6e2dbe31..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2df3d3d8d52456646af6953aeaf4e202 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader deleted file mode 100644 index b534ba8f5..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader +++ /dev/null @@ -1,158 +0,0 @@ -Shader "DoubleSide" { - Properties{ - _BaseColor("Base Color", Color) = (1, 1, 1, 1) - _BaseMap("Base (RGB)", 2D) = "white" {} - [Normal] _NormalMap("Normal Map", 2D) = "bump" {} - _Metallic("Metallic", Range(0.0, 1.0)) = 0.0 - _Smoothness("Smoothness", Range(0.0, 1.0)) = 0.0 - } - - SubShader{ - Tags { - "RenderType" = "Opaque" - "Queue" = "Transparent" - "RenderPipeline" = "UniversalPipeline" - "UniversalMaterialType" = "SimpleLit" - "IgnoreProjector" = "True" - } - LOD 300 - - Pass - { - Name "ForwardLit" - ZTest LEqual - Cull Off - - Tags { "LightMode" = "UniversalForward" } - - HLSLPROGRAM - #pragma vertex vert - #pragma fragment frag - - // Universal Render Pipeline keywords - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - - // Unity keywords - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile_fog - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - - struct Attributes - { - float4 positionOS : POSITION; - float2 uv : TEXCOORD0; - float2 lightmapUV : TEXCOORD1; - float3 normal : NORMAL; - float4 tangent : TANGENT; - }; - - struct Varyings - { - float4 positionHCS : SV_POSITION; - float2 uv : TEXCOORD0; - float3 positionWS : TEXCOORD1; - float3 normalWS : TEXCOORD2; - float3 tangentWS : TEXCOORD3; - float3 bitangentWS : TEXCOORD4; - float3 viewDirWS : TEXCOORD5; - half fogFactor : TEXCOORD6; - half3 vertexLight : TEXCOORD7; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD8; - #endif - DECLARE_LIGHTMAP_OR_SH(lightmapUV, vertexSH, 9); - }; - - TEXTURE2D(_BaseMap); SAMPLER(sampler_BaseMap); - TEXTURE2D(_NormalMap); SAMPLER(sampler_NormalMap); - - CBUFFER_START(UnityPerMaterial) - float4 _BaseMap_ST; - half4 _BaseColor; - float4 _NormalMap_ST; - float _NormalScale; - float _Metallic; - float _Smoothness; - CBUFFER_END - - Varyings vert(Attributes input) - { - Varyings output; - - output.uv = TRANSFORM_TEX(input.uv, _BaseMap); - output.positionWS = TransformObjectToWorld(input.positionOS); - output.positionHCS = TransformWorldToHClip(output.positionWS); - output.viewDirWS = GetWorldSpaceViewDir(output.positionWS); - output.normalWS = TransformObjectToWorldNormal(input.normal); - output.tangentWS = TransformObjectToWorldDir(input.tangent.xyz); - output.bitangentWS = cross(output.normalWS, output.tangentWS) * input.tangent.w; - OUTPUT_LIGHTMAP_UV(input.lightmapUV, unity_LightmapST, output.lightmapUV); - OUTPUT_SH(output.normalWS.xyz, output.vertexSH); - output.fogFactor = ComputeFogFactor(output.positionHCS.z); - output.vertexLight = VertexLighting(output.positionWS, output.normalWS); - - // Shadow - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - output.shadowCoord = TransformWorldToShadowCoord(output.positionWS); - #endif - - return output; - } - - half4 frag(Varyings input) : SV_Target - { - // SurfaceData쐬 - SurfaceData surfaceData; - surfaceData.normalTS = UnpackNormal(SAMPLE_TEXTURE2D(_NormalMap, sampler_NormalMap, input.uv)); - half4 col = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, input.uv) * _BaseColor; - surfaceData.albedo = col.rgb; - surfaceData.alpha = col.a; - clip(col.a - 0.001f); - surfaceData.emission = 0.0; - surfaceData.metallic = _Metallic; - surfaceData.occlusion = 1.0; - surfaceData.smoothness = _Smoothness; - surfaceData.specular = 0.0; - surfaceData.clearCoatMask = 0.0h; - surfaceData.clearCoatSmoothness = 0.0h; - - // InputData쐬 - InputData inputData = (InputData)0; - inputData.positionWS = input.positionWS; - inputData.normalWS = TransformTangentToWorld(surfaceData.normalTS, half3x3(input.tangentWS.xyz, input.bitangentWS.xyz, input.normalWS.xyz)); - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize(input.viewDirWS); - inputData.fogCoord = input.fogFactor; - inputData.vertexLighting = input.vertexLight; - inputData.bakedGI = SAMPLE_GI(input.lightmapUV, input.vertexSH, inputData.normalWS); - inputData.normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionHCS); - inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUV); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(input.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - half4 color = UniversalFragmentBlinnPhong(inputData, surfaceData); - - // tHOKp - color.rgb = MixFog(color.rgb, inputData.fogCoord); - - return color; - } - ENDHLSL - } - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader.meta b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader.meta deleted file mode 100644 index 3658c73a1..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaque.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 7e3780ff6ddf57548b41552e61a08f06 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/DoubleSideOpaque.shader - uploadId: 629251 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs deleted file mode 100644 index 83097db3f..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Rendering.Universal; - -[CreateAssetMenu] -public class DoubleSideOpaqueRenderFeature : ScriptableRendererFeature -{ - private DoubleSideOpaquePass _doubleSideOpaquePass; - - public override void Create() - { - _doubleSideOpaquePass = new DoubleSideOpaquePass(); - } - - public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) - { - renderer.EnqueuePass(_doubleSideOpaquePass); - } -} diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs.meta b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs.meta deleted file mode 100644 index 8418bf777..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideOpaqueRenderFeature.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: fa69c891e03c13a43b398a7f70abbb4d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/DoubleSideOpaqueRenderFeature.cs - uploadId: 629251 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs deleted file mode 100644 index 188ff4a98..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -public class DoubleSideOpaquePass : ScriptableRenderPass -{ - private const string ProfilerTag = nameof(DoubleSideOpaquePass); - private readonly ProfilingSampler _profilingSampler = new ProfilingSampler(ProfilerTag); - - private readonly RenderPassEvent _renderPassEvent = RenderPassEvent.AfterRenderingOpaques; - - private readonly RenderQueueRange _renderQueueRange = RenderQueueRange.all; - - private readonly ShaderTagId _frontShaderTagId = new ShaderTagId("DoubleSideFront"); - private readonly ShaderTagId _backShaderTagId = new ShaderTagId("DoubleSideBack"); - - private FilteringSettings _filteringSettings; - - public DoubleSideOpaquePass() - { - _filteringSettings = new FilteringSettings(_renderQueueRange); - renderPassEvent = _renderPassEvent; - } - - public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor) - { - } - - public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) - { - var cmd = CommandBufferPool.Get(ProfilerTag); - using (new ProfilingScope(cmd, _profilingSampler)) - { - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); - CommandBufferPool.Release(cmd); - - var frontDrawSettings = CreateDrawingSettings(_frontShaderTagId, ref renderingData, SortingCriteria.CommonOpaque); - context.DrawRenderers(renderingData.cullResults, ref frontDrawSettings, ref _filteringSettings); - - var backDrawSettings = CreateDrawingSettings(_backShaderTagId, ref renderingData, SortingCriteria.CommonOpaque); - context.DrawRenderers(renderingData.cullResults, ref backDrawSettings, ref _filteringSettings); - } - } - - public override void FrameCleanup(CommandBuffer cmd) - { - } -} diff --git a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs.meta b/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs.meta deleted file mode 100644 index fa9624bab..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/DoubleSideRenderPass.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 72532ef82de310c48bb17d9190dcb569 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/DoubleSideRenderPass.cs - uploadId: 629251 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset b/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset deleted file mode 100644 index 986e8ae25..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset +++ /dev/null @@ -1,136 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} - m_Name: URP_HighFidelity - m_EditorClassIdentifier: - k_AssetVersion: 12 - k_AssetPreviousVersion: 12 - m_RendererType: 1 - m_RendererData: {fileID: 0} - m_RendererDataList: - - {fileID: 11400000, guid: 293f3ccde366e38459d35ed713855c6e, type: 2} - m_DefaultRendererIndex: 0 - m_RequireDepthTexture: 0 - m_RequireOpaqueTexture: 0 - m_OpaqueDownsampling: 1 - m_SupportsTerrainHoles: 1 - m_SupportsHDR: 1 - m_HDRColorBufferPrecision: 0 - m_MSAA: 1 - m_RenderScale: 1 - m_UpscalingFilter: 0 - m_FsrOverrideSharpness: 0 - m_FsrSharpness: 0.92 - m_EnableLODCrossFade: 1 - m_LODCrossFadeDitheringType: 1 - m_ShEvalMode: 0 - m_LightProbeSystem: 0 - m_ProbeVolumeMemoryBudget: 1024 - m_ProbeVolumeBlendingMemoryBudget: 256 - m_SupportProbeVolumeGPUStreaming: 0 - m_SupportProbeVolumeDiskStreaming: 0 - m_SupportProbeVolumeScenarios: 0 - m_SupportProbeVolumeScenarioBlending: 0 - m_ProbeVolumeSHBands: 1 - m_MainLightRenderingMode: 1 - m_MainLightShadowsSupported: 1 - m_MainLightShadowmapResolution: 2048 - m_AdditionalLightsRenderingMode: 1 - m_AdditionalLightsPerObjectLimit: 8 - m_AdditionalLightShadowsSupported: 1 - m_AdditionalLightsShadowmapResolution: 2048 - m_AdditionalLightsShadowResolutionTierLow: 256 - m_AdditionalLightsShadowResolutionTierMedium: 1024 - m_AdditionalLightsShadowResolutionTierHigh: 2048 - m_ReflectionProbeBlending: 0 - m_ReflectionProbeBoxProjection: 1 - m_ShadowDistance: 50 - m_ShadowCascadeCount: 1 - m_Cascade2Split: 0.25 - m_Cascade3Split: {x: 0.1, y: 0.3} - m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} - m_CascadeBorder: 0.28 - m_ShadowDepthBias: 1 - m_ShadowNormalBias: 1 - m_AnyShadowsSupported: 1 - m_SoftShadowsSupported: 1 - m_ConservativeEnclosingSphere: 1 - m_NumIterationsEnclosingSphere: 64 - m_SoftShadowQuality: 2 - m_AdditionalLightsCookieResolution: 2048 - m_AdditionalLightsCookieFormat: 3 - m_UseSRPBatcher: 1 - m_SupportsDynamicBatching: 0 - m_MixedLightingSupported: 1 - m_SupportsLightCookies: 1 - m_SupportsLightLayers: 0 - m_DebugLevel: 0 - m_StoreActionsOptimization: 0 - m_UseAdaptivePerformance: 1 - m_ColorGradingMode: 0 - m_ColorGradingLutSize: 32 - m_AllowPostProcessAlphaOutput: 0 - m_UseFastSRGBLinearConversion: 0 - m_SupportDataDrivenLensFlare: 1 - m_SupportScreenSpaceLensFlare: 1 - m_GPUResidentDrawerMode: 0 - m_SmallMeshScreenPercentage: 0 - m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 - m_ShadowType: 1 - m_LocalShadowsSupported: 0 - m_LocalShadowsAtlasResolution: 256 - m_MaxPixelLights: 0 - m_ShadowAtlasResolution: 256 - m_VolumeFrameworkUpdateMode: 0 - m_VolumeProfile: {fileID: 0} - apvScenesData: - obsoleteSceneBounds: - m_Keys: [] - m_Values: [] - obsoleteHasProbeVolumes: - m_Keys: [] - m_Values: - m_PrefilteringModeMainLightShadows: 1 - m_PrefilteringModeAdditionalLight: 4 - m_PrefilteringModeAdditionalLightShadows: 1 - m_PrefilterXRKeywords: 0 - m_PrefilteringModeForwardPlus: 1 - m_PrefilteringModeDeferredRendering: 1 - m_PrefilteringModeScreenSpaceOcclusion: 1 - m_PrefilterDebugKeywords: 0 - m_PrefilterWriteRenderingLayers: 0 - m_PrefilterHDROutput: 0 - m_PrefilterAlphaOutput: 0 - m_PrefilterSSAODepthNormals: 0 - m_PrefilterSSAOSourceDepthLow: 0 - m_PrefilterSSAOSourceDepthMedium: 0 - m_PrefilterSSAOSourceDepthHigh: 0 - m_PrefilterSSAOInterleaved: 0 - m_PrefilterSSAOBlueNoise: 0 - m_PrefilterSSAOSampleCountLow: 0 - m_PrefilterSSAOSampleCountMedium: 0 - m_PrefilterSSAOSampleCountHigh: 0 - m_PrefilterDBufferMRT1: 0 - m_PrefilterDBufferMRT2: 0 - m_PrefilterDBufferMRT3: 0 - m_PrefilterSoftShadowsQualityLow: 0 - m_PrefilterSoftShadowsQualityMedium: 0 - m_PrefilterSoftShadowsQualityHigh: 0 - m_PrefilterSoftShadows: 0 - m_PrefilterScreenCoord: 0 - m_PrefilterNativeRenderPass: 0 - m_PrefilterUseLegacyLightmaps: 0 - m_ShaderVariantLogLevel: 0 - m_ShadowCascades: 0 - m_Textures: - blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} - bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset.meta b/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset.meta deleted file mode 100644 index c916b14ae..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity.asset.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 9f7eb0d3aa7f00942a76718d4811e64e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/URP_HighFidelity.asset - uploadId: 629251 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset b/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset deleted file mode 100644 index 19b7195fd..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset +++ /dev/null @@ -1,76 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1149763752016011902 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fa69c891e03c13a43b398a7f70abbb4d, type: 3} - m_Name: DoubleSideOpaqueRenderFeature - m_EditorClassIdentifier: - m_Active: 1 ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} - m_Name: URP_HighFidelity_Renderer - m_EditorClassIdentifier: - debugShaders: - debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, - type: 3} - hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} - m_RendererFeatures: - - {fileID: -1149763752016011902} - m_RendererFeatureMap: 821d7791f5370bf0 - m_UseNativeRenderPass: 0 - postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} - xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} - shaders: - blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} - copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} - screenSpaceShadowPS: {fileID: 0} - samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} - stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} - fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} - fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3} - materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} - coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} - coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, - type: 3} - blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} - cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, - type: 3} - objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, - type: 3} - dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, - type: 3} - m_AssetVersion: 2 - m_OpaqueLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_TransparentLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_DefaultStencilState: - overrideStencilState: 0 - stencilReference: 0 - stencilCompareFunction: 8 - passOperation: 2 - failOperation: 0 - zFailOperation: 0 - m_ShadowTransparentReceive: 1 - m_RenderingMode: 1 - m_DepthPrimingMode: 0 - m_CopyDepthMode: 0 - m_AccurateGbufferNormals: 0 - m_IntermediateTextureMode: 1 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset.meta b/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset.meta deleted file mode 100644 index d0fab2d47..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/URP_HighFidelity_Renderer.asset.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 293f3ccde366e38459d35ed713855c6e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/URP_HighFidelity_Renderer.asset - uploadId: 629251 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset b/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset deleted file mode 100644 index 35619de73..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset +++ /dev/null @@ -1,27 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3} - m_Name: UniversalRenderPipelineGlobalSettings - m_EditorClassIdentifier: - k_AssetVersion: 3 - lightLayerName0: Light Layer default - lightLayerName1: Light Layer 1 - lightLayerName2: Light Layer 2 - lightLayerName3: Light Layer 3 - lightLayerName4: Light Layer 4 - lightLayerName5: Light Layer 5 - lightLayerName6: Light Layer 6 - lightLayerName7: Light Layer 7 - m_StripDebugVariants: 1 - m_StripUnusedPostProcessingVariants: 0 - m_StripUnusedVariants: 1 - supportRuntimeDebugDisplay: 0 diff --git a/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset.meta b/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset.meta deleted file mode 100644 index e027977d9..000000000 --- a/Assets/Resources/Background/@실내/학교B/Setting/UniversalRenderPipelineGlobalSettings.asset.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: a6e6b6f6470e0c642a933a982af3e42e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271212 - packageName: Untitled - packageVersion: 1.0 - assetPath: Assets/Schoolgym/Setting/UniversalRenderPipelineGlobalSettings.asset - uploadId: 629251 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts.meta deleted file mode 100644 index e792be84d..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 37a0223e1019f02418e16c86be7b1a9c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera.meta deleted file mode 100644 index 4db009b5e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 80e1becacf33cb94885db69052e0fc71 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs deleted file mode 100644 index bf1e80f33..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs +++ /dev/null @@ -1,57 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class CameraOrbit : MonoBehaviour -{ - public Transform Target; - public float Distance = 5.0f; - public float xSpeed = 250.0f; - public float ySpeed = 120.0f; - public float yMinLimit = -20.0f; - public float yMaxLimit = 80.0f; - - private float x; - private float y; - - void Awake() - { - Vector3 angles = transform.eulerAngles; - x = angles.x; - y = angles.y; - - if (GetComponent() != null) - { - GetComponent().freezeRotation = true; - } - } - - void LateUpdate() - { - if (Target != null) - { - x += (float)(Input.GetAxis("Mouse X") * xSpeed * 0.02f); - y -= (float)(Input.GetAxis("Mouse Y") * ySpeed * 0.02f); - - y = ClampAngle(y, yMinLimit, yMaxLimit); - - Quaternion rotation = Quaternion.Euler(y, x, 0); - Vector3 position = rotation * (new Vector3(0.0f, 0.0f, -Distance)) + Target.position; - - transform.rotation = rotation; - transform.position = position; - } - } - - private float ClampAngle(float angle, float min, float max) - { - if (angle < -360) - { - angle += 360; - } - if (angle > 360) - { - angle -= 360; - } - return Mathf.Clamp(angle, min, max); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs.meta deleted file mode 100644 index 286875642..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbit.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 43d98dd02afab01468c38e02613ca414 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Camera/CameraOrbit.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs deleted file mode 100644 index 9ae6d3346..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs +++ /dev/null @@ -1,67 +0,0 @@ -using UnityEngine; - -public class CameraOrbitCollision : MonoBehaviour -{ - public Transform playerTransform; // The player object to orbit around - public float distance = 10.0f; // The distance from the player object - public float distanceScrollSpeed = 2.0f; // The speed at which to zoom in/out - public float xSpeed = 120.0f; // The x rotation speed - public float ySpeed = 120.0f; // The y rotation speed - public float yMinLimit = -20f; // The minimum y rotation limit - public float yMaxLimit = 80f; // The maximum y rotation limit - public float xMinLimit = -360f; // The minimum x rotation limit - public float xMaxLimit = 360f; // The maximum x rotation limit - public float raycastOffset = 0.2f; // The offset used to avoid clipping through walls - - public LayerMask excludeLayers; // The layers to exclude from the raycast - - private float x = 0.0f; // The current x rotation - private float y = 0.0f; // The current y rotation - - void Start() - { - Vector3 angles = transform.eulerAngles; - x = angles.y; - y = angles.x; - } - - void LateUpdate() - { - if (playerTransform != null) - { - // Update distance based on scroll wheel input - float scroll = Input.GetAxis("Mouse ScrollWheel"); - distance -= scroll * distanceScrollSpeed; - distance = Mathf.Clamp(distance, 1.0f, Mathf.Infinity); - - x += Input.GetAxis("Mouse X") * xSpeed * Time.deltaTime; - y -= Input.GetAxis("Mouse Y") * ySpeed * Time.deltaTime; - - y = ClampAngle(y, yMinLimit, yMaxLimit); - x = ClampAngle(x, xMinLimit, xMaxLimit); - - Quaternion rotation = Quaternion.Euler(y, x, 0); - - Vector3 negDistance = new Vector3(0.0f, 0.0f, -distance); - Vector3 position = rotation * negDistance + playerTransform.position; - - RaycastHit hit; - if (Physics.Linecast(playerTransform.position, position, out hit, ~excludeLayers)) - { - position = hit.point + (hit.normal * raycastOffset); - } - - transform.rotation = rotation; - transform.position = position; - } - } - - static float ClampAngle(float angle, float min, float max) - { - if (angle < -360f) - angle += 360f; - if (angle > 360f) - angle -= 360f; - return Mathf.Clamp(angle, min, max); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs.meta deleted file mode 100644 index 41ec84a8b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Camera/CameraOrbitCollision.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d4c99389b657e6b4ebc045099dac691d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Camera/CameraOrbitCollision.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator.meta deleted file mode 100644 index 5b3815450..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: de4c5f2d5ba63974db8f2adfeb9ee14d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs deleted file mode 100644 index 43bdab7b7..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs +++ /dev/null @@ -1,115 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class ChildOnCollision : MonoBehaviour -{ - public string targetTag = "Player"; - private Transform originalParent; - private GameObject collidedObject; - private CharacterController characterController; - private Vector3 lastParentPosition; - - private bool originalParentSet = false; - public bool useTrigger = true; - public float exitDistanceThreshold = 1.0f; - - private void Start() - { - GetComponent().enabled = false; - } - - void OnTriggerEnter(Collider other) - { - if (useTrigger && other.gameObject.CompareTag(targetTag)) - { - HandleCollision(other.gameObject); - } - } - - void Update() - { - // If the collided object is assigned, sync its position - if (collidedObject != null) - { - SyncChildPositionWithParent(); - - // Check if the object has moved too far away - if (IsObjectOutsideBounds(collidedObject)) - { - StartCoroutine(ResetObjectParentAfterFrame()); - } - } - } - - private void HandleCollision(GameObject obj) - { - collidedObject = obj; - - // Only save the original parent the first time the object collides (don't overwrite) - if (!originalParentSet) - { - originalParent = collidedObject.transform.parent; - originalParentSet = true; - } - - // Set the collided object as a child of this GameObject (the elevator) - collidedObject.transform.SetParent(transform); - - // Get the CharacterController on the collided object - characterController = collidedObject.GetComponent(); - - // Track the initial position of the parent for movement calculation - lastParentPosition = transform.position; - - Debug.Log("Object with tag " + targetTag + " is now a child of " + gameObject.name); - } - - private void SyncChildPositionWithParent() - { - if (characterController != null) - { - // Calculate movement of the parent object since the last frame - Vector3 parentMovement = transform.position - lastParentPosition; - - // Apply the movement to the CharacterController of the child - characterController.Move(parentMovement); - - // Update the last known position of the parent - lastParentPosition = transform.position; - } - } - - private bool IsObjectOutsideBounds(GameObject obj) - { - Collider elevatorCollider = GetComponent(); - Bounds elevatorBounds = elevatorCollider.bounds; - Vector3 closestPoint = elevatorBounds.ClosestPoint(obj.transform.position); - float distanceToClosestPoint = Vector3.Distance(obj.transform.position, closestPoint); - - return distanceToClosestPoint > exitDistanceThreshold; - } - - private IEnumerator ResetObjectParentAfterFrame() - { - yield return new WaitForEndOfFrame(); - - if (collidedObject != null) - { - if (originalParent != null) - { - collidedObject.transform.SetParent(originalParent); - Debug.Log("Object returned to its original parent: " + originalParent.name); - } - else - { - collidedObject.transform.SetParent(null); - Debug.Log("Object returned to the root of the hierarchy."); - } - - // Clear references - collidedObject = null; - characterController = null; - originalParentSet = false; - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs.meta deleted file mode 100644 index 3c8dd901e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/ChildOnCollision.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: bc8c4d652f57be04e9fef9c9429ca32d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Elevator/ChildOnCollision.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs deleted file mode 100644 index c6fd735b0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs +++ /dev/null @@ -1,86 +0,0 @@ -using UnityEngine; - -public class Elevator : MonoBehaviour -{ - public float floorHeight = 3f; // Height of each floor - public float speed = 5f; // Speed of the elevator - public int originalFloor = 1; // Original floor number (1 is the ground floor) - - private Vector3 initialPosition; // Initial position of the elevator as a reference point - private Vector3 targetPosition; - private int targetFloor = 1; // Target floor number - private bool isMoving = false; // Flag to track if the elevator is currently moving - private bool shouldReturn = false; // Flag to track if the elevator should return to the original position - - private int currentFloor; // Current floor number - - public bool useOriginalFloor = true; // Toggle option to use the original floor as the target - - private void Start() - { - initialPosition = transform.position; // Store the initial position as a reference for originalFloor - currentFloor = CalculateCurrentFloor(); - SetTargetPosition(); - } - - private void FixedUpdate() - { - if (isMoving) - { - // Move the elevator towards the target position - transform.position = Vector3.MoveTowards(transform.position, targetPosition, speed * Time.fixedDeltaTime); - - // Check if the elevator has reached the target floor - if (Mathf.Approximately(Vector3.Distance(transform.position, targetPosition), 0f)) - { - // Arrived at the target floor, stop the elevator - isMoving = false; - currentFloor = CalculateCurrentFloor(); - - // Reset `shouldReturn` to prevent unintended movement back - shouldReturn = false; - } - } - } - - private void SetTargetPosition() - { - // Calculate the target position based on the target floor and initial position offset - targetPosition = initialPosition + Vector3.up * (targetFloor - originalFloor) * floorHeight; - } - - private int CalculateCurrentFloor() - { - // Calculate the current floor based on the height relative to the initial position - float heightOffset = transform.position.y - initialPosition.y; - int calculatedFloor = originalFloor + Mathf.RoundToInt(heightOffset / floorHeight); - return calculatedFloor; - } - - public int GetCurrentFloor() - { - return currentFloor; - } - - public int GetOriginalFloor() - { - return originalFloor; - } - - public void ChangeTargetFloor(int newTargetFloor) - { - // Check if the elevator is already at the target floor - if (newTargetFloor == targetFloor) - return; - - // Only set `shouldReturn` when changing to a floor that is not the current target - if (useOriginalFloor && newTargetFloor == originalFloor && currentFloor != originalFloor) - { - shouldReturn = true; - } - - targetFloor = newTargetFloor; - SetTargetPosition(); - isMoving = true; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs.meta deleted file mode 100644 index f857560a2..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/Elevator.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e9a97ca163a4e3d4e9481c8831a18e26 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Elevator/Elevator.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs deleted file mode 100644 index 31dfdb3be..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs +++ /dev/null @@ -1,64 +0,0 @@ -using UnityEngine; - -public class FloorChangeTrigger : MonoBehaviour -{ - public Elevator elevator; // Reference to the Elevator script - public int targetFloor = 2; // Target floor number to change to - public KeyCode floorChangeKey = KeyCode.E; // Key used to trigger the floor change - public bool useOriginalFloor = true; // Toggle option to use the original floor as the target - - private bool playerInRange = false; // Indicates if the player is within the trigger - private int originalFloor; // Original floor number - private int currentTargetFloor; // Current target floor number - - private void Start() - { - originalFloor = elevator.GetOriginalFloor(); // Store the elevator's original floor - currentTargetFloor = targetFloor; // Initialize the target floor - - // Disable the MeshRenderer component on start - GetComponent().enabled = false; - } - - private void OnTriggerEnter(Collider other) - { - if (other.CompareTag("Player")) - { - playerInRange = true; - Debug.Log("Press '" + floorChangeKey.ToString() + "' to change floor."); - } - } - - private void OnTriggerExit(Collider other) - { - if (other.CompareTag("Player")) - { - playerInRange = false; - Debug.Log("Player left the trigger."); - } - } - - private void Update() - { - if (playerInRange && Input.GetKeyDown(floorChangeKey)) - { - int currentFloor = elevator.GetCurrentFloor(); - - if (currentFloor == currentTargetFloor) - { - // If the elevator is already at the target floor, set it to the opposite floor - currentTargetFloor = (currentFloor == originalFloor) ? targetFloor : originalFloor; - } - else - { - // If elevator is not at the target, move it to the current target floor - currentTargetFloor = targetFloor; - } - - // Change the elevator's target floor to the determined floor - elevator.ChangeTargetFloor(currentTargetFloor); - - Debug.Log("Floor changed to " + currentTargetFloor.ToString()); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs.meta deleted file mode 100644 index 8049438ef..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Elevator/FloorChangeTrigger.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 1ccac07ed2627cc44a8751fa967ac0d1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Elevator/FloorChangeTrigger.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights.meta deleted file mode 100644 index efc4a3f10..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d03c16f301ffcd343b108348e804f605 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs deleted file mode 100644 index 49a8e8f32..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs +++ /dev/null @@ -1,128 +0,0 @@ -#if UNITY_EDITOR -using UnityEditor; -#endif -using UnityEngine; - -public enum ReflectionProbeResolution -{ - Resolution16 = 16, - Resolution32 = 32, - Resolution64 = 64, - Resolution128 = 128, - Resolution256 = 256, - Resolution512 = 512, - Resolution1024 = 1024, - Resolution2048 = 2048 -} - -[System.Serializable] -public class LightGroupController : MonoBehaviour -{ - [Header("[Light Control]")] - public bool useLightsEnabled = true; - public bool lightsEnabled = true; - - [Header("[Light Intensity Control]")] - public bool useLightIntensity = false; - public float lightIntensity = 1f; - - [Header("[Shadows Control]")] - public bool useShadowControl = false; - public bool enableShadows = true; - - [Header("[Light Color Control]")] - public bool useLightColor = false; - public Color lightColor = Color.white; - - [Header("[Light Range Control]")] - public bool useLightRange = false; - public float lightRange = 10f; - - [Header("[Reflection Probe Control]")] - public bool useProbeControl = false; - public bool enableReflectionProbes = true; - public ReflectionProbeResolution reflectionProbeResolution = ReflectionProbeResolution.Resolution32; - - [Header("[Light Probe Control]")] - public bool useLightProbeControl = false; - public bool enableLightProbes = true; - - private void SetLightsState(Transform parent, bool enabled) - { - Light[] lights = parent.GetComponentsInChildren(); - - foreach (Light light in lights) - { - if (useLightsEnabled) - { - light.enabled = lightsEnabled && enabled; - } - else - { - light.enabled = enabled; - } - - if (enabled && light.enabled) - { - if (useLightIntensity) - { - light.intensity = lightIntensity; - } - - if (useShadowControl) - { - light.shadows = enableShadows ? LightShadows.Soft : LightShadows.None; - } - - if (useLightColor) - { - light.color = lightColor; - } - - if (useLightRange) - { - light.range = lightRange; - } - } - } - } - - private void SetProbeState(bool state) - { - ReflectionProbe[] reflectionProbes = GetComponentsInChildren(); - foreach (ReflectionProbe probe in reflectionProbes) - { - probe.enabled = state && enableReflectionProbes; - probe.resolution = (int)reflectionProbeResolution; - } - - LightProbeGroup[] lightProbeGroups = GetComponentsInChildren(); - foreach (LightProbeGroup group in lightProbeGroups) - { - group.enabled = state && enableLightProbes; - } - } - - private void OnEnable() - { -#if UNITY_EDITOR - SetLightsState(transform, true); - SetProbeState(true); -#endif - } - - private void OnDisable() - { -#if UNITY_EDITOR - SetProbeState(false); -#endif - } - - private void OnValidate() - { -#if UNITY_EDITOR - SetLightsState(transform, true); - SetProbeState(enableReflectionProbes || enableLightProbes); -#endif - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs.meta deleted file mode 100644 index d754f86b9..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightGroupController.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 3569720feebf1c940a7c679d38f0cd7d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Lights/LightGroupController.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs deleted file mode 100644 index 322d902bd..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs +++ /dev/null @@ -1,89 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class LightTilt : MonoBehaviour { - - - // DLNK WORKSHOP WWW.DAELONIK.COM - - public float Tempo = 1f; - - // Light Values - public bool EnableIntensity = true; - public float RandomIntensity = 0.1f; - public float Fluctuation = 0.2f; - - private float OriginalInt; - private float TiltInt; - private float Tmp; - - - // Position Values - - public bool EnableMovement; - public float MovFluct = 0.01f; - public float PositionRandom = 0.1f; - public float RangeFluct = 0.1f; - - private Vector3 OriginalPos = new Vector3(); - private float OriginalRan; - private float TiltMovx; - private float TiltMovy; - private float TiltMovz; - - - // Color Values - - public bool EnableColorChange; - public Color TiltColor = Color.white; - - private Color OriginalColor; - - - // Taking initial values - void Start () { - - OriginalInt = (this.GetComponent().intensity); - OriginalPos = (this.GetComponent().transform.position); - OriginalColor = (this.GetComponent().color); - OriginalRan = (this.GetComponent().range); - //Debug.Log (OriginalPos); - - } - - - - // Light Tilt - void Update () { - - Tmp = (Tmp + ((Time.deltaTime)*Tempo)); - //Debug.Log (Tmp); - - // LIGHT INTENSITY - if (EnableIntensity) { - TiltInt = ((OriginalInt + ((Mathf.Sin (Tmp)) * Fluctuation))+ (Random.Range(0,RandomIntensity))); - this.GetComponent().intensity = TiltInt; - //Debug.Log (TiltInt); - - } - - - // LIGHT POSITION - if (EnableMovement) { - TiltMovx = (((Mathf.Cos (Mathf.Sin(Tmp))) * MovFluct))+ (Random.Range(-PositionRandom,PositionRandom)); - TiltMovy = (((Mathf.Sin (Mathf.Cos(Tmp))) * MovFluct))+ (Random.Range(-PositionRandom,PositionRandom)); - TiltMovz = (((Mathf.Sin (Mathf.Sin(Tmp))) * MovFluct))+ (Random.Range(-PositionRandom,PositionRandom)); - this.GetComponent().transform.position = new Vector3(OriginalPos.x + TiltMovx,OriginalPos.y + TiltMovy,OriginalPos.z + TiltMovz); - this.GetComponent().range= (OriginalRan + ((Mathf.Sin (Tmp)) * RangeFluct)); - // Debug.Log(); - - } - - - // LIGHT COLOR - if (EnableColorChange) { - this.GetComponent().color = Color.Lerp(OriginalColor,TiltColor, ( Mathf.PingPong (Time.time, (Tempo)) / Tempo)); - } - - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs.meta deleted file mode 100644 index 76b3606ff..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/LightTilt.cs.meta +++ /dev/null @@ -1,20 +0,0 @@ -fileFormatVersion: 2 -guid: 2e488912355ca60448a93f0ba97efcba -timeCreated: 1492184161 -licenseType: Store -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Lights/LightTilt.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs deleted file mode 100644 index dfab6bf61..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs +++ /dev/null @@ -1,38 +0,0 @@ -using UnityEngine; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -public class ScaleInLightmapSetter : MonoBehaviour -{ - public float scaleInLightmap = 1.0f; - - void Start() - { - SetScaleInLightmap(); - } - -#if UNITY_EDITOR - void OnValidate() - { - SetScaleInLightmap(); - } -#endif - - void SetScaleInLightmap() - { -#if UNITY_EDITOR - // Get all the Mesh Renderers that are children of this GameObject - MeshRenderer[] meshRenderers = GetComponentsInChildren(); - - // Set the Scale in Lightmap for each Mesh Renderer - foreach (MeshRenderer renderer in meshRenderers) - { - SerializedObject so = new SerializedObject(renderer); - so.FindProperty("m_ScaleInLightmap").floatValue = scaleInLightmap; - so.ApplyModifiedProperties(); - } -#endif - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs.meta deleted file mode 100644 index 33b3400f1..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Lights/ScaleInLightmapSetter.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 9bbe9aa4dfc04184984042b0a3857985 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Lights/ScaleInLightmapSetter.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc.meta deleted file mode 100644 index 84b9726e6..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e6179c64a421b454b8e37eb0c54059ab -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs deleted file mode 100644 index ca373ed85..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs +++ /dev/null @@ -1,68 +0,0 @@ -using UnityEngine; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -public class ChangeMaterials : MonoBehaviour -{ - public Material newMaterial; // The material to be applied - public int materialIndex = 0; // Index of the material to change - -#if UNITY_EDITOR - [CustomEditor(typeof(ChangeMaterials))] - public class ChangeMaterialsEditor : Editor - { - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - ChangeMaterials changeMaterials = (ChangeMaterials)target; - GUILayout.BeginHorizontal(); - if (GUILayout.Button("Change Material at Index")) - { - changeMaterials.ChangeMaterialAtIndex(); - } - if (GUILayout.Button("Change All Materials")) - { - changeMaterials.ChangeAllMaterials(); - } - GUILayout.EndHorizontal(); - } - } -#endif - - public void ChangeMaterialAtIndex() - { - Renderer[] renderers = GetComponentsInChildren(); - - foreach (Renderer renderer in renderers) - { - Material[] materials = renderer.sharedMaterials; - if (materialIndex >= 0 && materialIndex < materials.Length) - { - materials[materialIndex] = newMaterial; - renderer.sharedMaterials = materials; - } - else - { - Debug.LogWarning("Material index out of range for renderer: " + renderer.gameObject.name); - } - } - } - - public void ChangeAllMaterials() - { - Renderer[] renderers = GetComponentsInChildren(); - - foreach (Renderer renderer in renderers) - { - Material[] materials = new Material[renderer.sharedMaterials.Length]; - for (int i = 0; i < materials.Length; i++) - { - materials[i] = newMaterial; - } - renderer.sharedMaterials = materials; - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs.meta deleted file mode 100644 index 8c7ea7656..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ChangeMaterials.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: fb8713abcfc52124981f7db520db5ea4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/ChangeMaterials.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs deleted file mode 100644 index dcabe5aa8..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class CharControlSimple : MonoBehaviour -{ - [Header("[Char Properties]")] - public float WalkSpeed = 5f; - public KeyCode RunKey = KeyCode.LeftShift; - public float RunSpeed = 10f; - public float RotateSpeed = 3f; - public float JumpSpeed = 5f; - public float Gravity = 100f; - public bool Invisible; - public KeyCode InvisibleKey = KeyCode.I; - public KeyCode LightKey = KeyCode.F; - public GameObject LightFocus; - public bool CameraFollow = true; - public KeyCode FollowKey = KeyCode.K; - [Header("[Char Source]")] - public CharacterController Charcon; - public GameObject jumpEffect; - public GameObject Camera; - public GameObject CharacterMesh; - private Vector3 CamRot; - private Vector3 Jander = new Vector3(0f,0f,0f); - - // Start is called before the first frame update - void Start() - { - // Set camera if not defined - if (Camera == null) - { - Camera = GameObject.FindWithTag("MainCamera"); - } - // Get original transform - CamRot = Camera.transform.eulerAngles; - } - - // Update is called once per frame - void Update() - { - // Get Values - CharacterController controller = GetComponent(); - float moveHorizontal = Input.GetAxis("Horizontal"); - Jander = new Vector3(0, 0, Input.GetAxis("Vertical")); - Jander = transform.TransformDirection(Jander); - if (Input.GetKey(RunKey)) - Jander *= RunSpeed; - else Jander *= WalkSpeed; - // Check camera active - if (Camera != GameObject.FindWithTag("MainCamera")) - { - Camera = GameObject.FindWithTag("MainCamera"); - } - // Jump action - if (Input.GetButton("Jump")) - { - Jander.y = JumpSpeed; - jumpEffect.SetActive(true); - } - else jumpEffect.SetActive(false); - // Define movement - Jander.y -= Gravity * Time.deltaTime; - controller.Move(Jander * Time.deltaTime); - float diferencia = (Camera.transform.eulerAngles.y - CamRot.y); - // Move character - if (!CameraFollow) - gameObject.transform.Rotate(0,moveHorizontal*RotateSpeed,0); - else - gameObject.transform.Rotate(0, (moveHorizontal + diferencia)*RotateSpeed, 0); - // Get camera rotation this frame - CamRot = Camera.transform.eulerAngles; - - // Check if character visible - if (Input.GetKeyUp(InvisibleKey)) - { - if (Invisible) - { - Invisible = false; - CharacterMesh.SetActive(true); - } - else - { - Invisible = true; - CharacterMesh.SetActive(false); - } - } - // Check camera follow - if (Input.GetKeyDown(FollowKey)) - { - if (CameraFollow) - CameraFollow = false; - else - CameraFollow = true; - } - // Check light status - if (Input.GetKeyUp(LightKey) && (LightFocus != null)) - { - if (LightFocus.activeInHierarchy) LightFocus.SetActive(false); - else LightFocus.SetActive(true); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs.meta deleted file mode 100644 index 4dfc4ef00..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/CharControlSimple.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e6ceb8972f6f0d44e9a52ca9aa1559cb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/CharControlSimple.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs deleted file mode 100644 index 1113b301b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs +++ /dev/null @@ -1,38 +0,0 @@ -using UnityEngine; - -public class DisableMeshRenderer : MonoBehaviour -{ - public bool disableChildRenderers = true; // Flag to enable or disable MeshRenderer on child objects - - void Start() - { - // Disable the MeshRenderer component on this game object - MeshRenderer meshRenderer = GetComponent(); - if (meshRenderer != null) - { - meshRenderer.enabled = false; - } - - // Optionally, disable the MeshRenderer component on all child game objects recursively - if (disableChildRenderers) - { - DisableMeshRendererInChildren(transform); - } - } - - void DisableMeshRendererInChildren(Transform parent) - { - foreach (Transform child in parent) - { - // Disable the MeshRenderer component on the child game object - MeshRenderer childMeshRenderer = child.GetComponent(); - if (childMeshRenderer != null) - { - childMeshRenderer.enabled = false; - } - - // Recursively disable the MeshRenderer on child's children - DisableMeshRendererInChildren(child); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs.meta deleted file mode 100644 index 273e15454..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/DisableMeshRenderer.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: bfe2ec134f6a90746920057c5ab7b7f0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/DisableMeshRenderer.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs deleted file mode 100644 index 3798f1d6b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs +++ /dev/null @@ -1,17 +0,0 @@ -using UnityEngine; - -public class ObjectRemover : MonoBehaviour -{ - public MonoBehaviour scriptToRemove; // Reference to the script to check for - - private void OnTriggerEnter(Collider other) - { - Debug.Log("Trigger Entered"); - // Check if the collided object has the specified script attached - if (other.gameObject.TryGetComponent(scriptToRemove.GetType(), out var scriptComponent)) - { - // Remove the collided object from the scene - Destroy(other.gameObject); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs.meta deleted file mode 100644 index c419ebc04..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/ObjectRemover.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 59f2e8109d39d594a97edd443f639375 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/ObjectRemover.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs deleted file mode 100644 index 84fca06b4..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class OnTriggerActivator : MonoBehaviour -{ - public Collider Activator; - public List TargetGO = new List(); - public bool Once; - private bool done = false; - - void OnTriggerEnter(Collider Col) - { - Debug.Log(Col + " y luego " + Activator); - // check collider is target and task is undone - if ((Col.GetComponent() == Activator) && (!done)) - { - foreach (GameObject GO in TargetGO) - // check if enable or unable to change - if (GO.activeInHierarchy) - GO.SetActive(false); - else - GO.SetActive(true); - // check if task is single time and mark as done - if (Once) - done = true; - } - } - -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs.meta deleted file mode 100644 index 760329c71..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/OnTriggerActivator.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: c3fc3a25af1e35a4695870a1c5a578e9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/OnTriggerActivator.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs deleted file mode 100644 index 3216454a2..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class RandomObjectSpawner : MonoBehaviour -{ - public List objectList; // List of game objects to spawn - public float minSpawnInterval = 1.0f; // Minimum spawn interval - public float maxSpawnInterval = 2.0f; // Maximum spawn interval - public List optionalScripts; // Optional scripts to attach to the spawned object - public Vector3 minScale = Vector3.one * 0.5f; // Minimum scale of the spawned object - public Vector3 maxScale = Vector3.one * 2.0f; // Maximum scale of the spawned object - public bool keepAspectRatio = true; // Flag to keep the aspect ratio when scaling - - private float timer = 0.0f; - private float spawnInterval; - - private void Start() - { - // Set the initial random spawn interval - GenerateRandomSpawnInterval(); - } - - private void Update() - { - // Update the timer - timer += Time.deltaTime; - - // Check if it's time to spawn a new object - if (timer >= spawnInterval) - { - // Reset the timer - timer = 0.0f; - - // Spawn a random object from the list - SpawnRandomObject(); - - // Generate a new random spawn interval - GenerateRandomSpawnInterval(); - } - } - - private void GenerateRandomSpawnInterval() - { - // Calculate a random spawn interval between the minimum and maximum values - spawnInterval = Random.Range(minSpawnInterval, maxSpawnInterval); - } - - private void SpawnRandomObject() - { - // Check if the object list is empty - if (objectList.Count == 0) - { - Debug.LogWarning("No game objects in the list!"); - return; - } - - // Get a random index within the range of the list - int randomIndex = Random.Range(0, objectList.Count); - - // Instantiate the randomly selected object at the spawner's position and rotation - GameObject newObject = Instantiate(objectList[randomIndex], transform.position, transform.rotation); - - // Randomize the scale of the spawned object - Vector3 randomScale = Vector3.one; - if (keepAspectRatio) - { - // Randomize the scale uniformly - float randomUniformScale = Random.Range(minScale.x, maxScale.x); - randomScale = Vector3.one * randomUniformScale; - } - else - { - // Randomize each axis independently - randomScale = new Vector3( - Random.Range(minScale.x, maxScale.x), - Random.Range(minScale.y, maxScale.y), - Random.Range(minScale.z, maxScale.z) - ); - } - - newObject.transform.localScale = randomScale; - newObject.transform.rotation = this.transform.rotation; - - // Attach optional scripts to the spawned object - foreach (MonoBehaviour script in optionalScripts) - { - // Clone the values of the optional script from the reference game object - MonoBehaviour clonedScript = newObject.AddComponent(script.GetType()) as MonoBehaviour; - if (clonedScript != null) - { - // Copy the values from the reference script to the cloned script - System.Reflection.FieldInfo[] fields = script.GetType().GetFields(); - foreach (System.Reflection.FieldInfo field in fields) - { - field.SetValue(clonedScript, field.GetValue(script)); - } - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs.meta deleted file mode 100644 index 7726e9b2e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/RandomObjectSpawner.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 457c1631c082a184f941d93352f0cb94 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/RandomObjectSpawner.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs deleted file mode 100644 index 5a6f15638..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs +++ /dev/null @@ -1,96 +0,0 @@ -using UnityEngine; - -[System.Serializable] -public class CustomFrameDuration -{ - public int frameIndex; // Index of the frame - public float duration; // Custom duration for this frame -} - -public class TextureChanger : MonoBehaviour -{ - public Texture[] textures; // Array of textures to cycle through - public float frameRate = 1.0f; // Frame rate for texture changes - public bool loopForever = true; // Whether to loop forever - public CustomFrameDuration[] customFrameDurations; // Array of custom frame durations - public int materialIndex = 0; // Index of the material to change textures on - private Renderer[] childRenderers; - private int currentTextureIndex = 0; - private float timeSinceLastFrameChange = 0.0f; - - void Start() - { - // Get all child renderers - childRenderers = GetComponentsInChildren(); - - // Set the initial texture - UpdateTextures(); - } - - void Update() - { - // If there are no textures or the frame rate is 0, exit - if (textures == null || textures.Length == 0 || frameRate <= 0) - return; - - // Increment time since last frame change - timeSinceLastFrameChange += Time.deltaTime; - - // Calculate frame duration - float frameDuration = GetFrameDuration(); - - // Check if it's time to change to the next frame - if (timeSinceLastFrameChange >= frameDuration) - { - // Change to the next texture - currentTextureIndex++; - - // Check for looping - if (currentTextureIndex >= textures.Length) - { - if (loopForever) - { - currentTextureIndex = 0; // Loop back to the first texture - } - else - { - currentTextureIndex = textures.Length - 1; // Stay at the last texture - } - } - - // Update the textures on all child renderers - UpdateTextures(); - - // Reset the timer - timeSinceLastFrameChange = 0.0f; - } - } - - float GetFrameDuration() - { - // Check for custom duration - foreach (CustomFrameDuration customFrameDuration in customFrameDurations) - { - if (customFrameDuration.frameIndex == currentTextureIndex) - { - return customFrameDuration.duration; - } - } - - // If no custom duration is set for the current frame, use the frame rate - return 1.0f / frameRate; - } - - void UpdateTextures() - { - // Apply the current texture to the specified material index on all child renderers - for (int i = 0; i < childRenderers.Length; i++) - { - if (childRenderers[i] != null && childRenderers[i].materials.Length > materialIndex) - { - // Apply the texture to the specified material index - childRenderers[i].materials[materialIndex].mainTexture = textures[currentTextureIndex]; - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs.meta deleted file mode 100644 index fcd5689b6..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Misc/TextureChanger.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 0f3e82df14c3ab3429d770d85610171b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Misc/TextureChanger.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform.meta deleted file mode 100644 index c6f2f122b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0ae7763c1816e3d409ab47e81bb0f50a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs deleted file mode 100644 index fedbd9fb3..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs +++ /dev/null @@ -1,31 +0,0 @@ -using UnityEngine; -using System.Collections; - -[ExecuteInEditMode] - -public class Compass : MonoBehaviour { - - public GameObject Target; - public Vector3 RotationIntensity = new Vector3(1,1,1); - public bool continuous = true; - - - void Start () { - - if (!continuous) - { - gameObject.transform.LookAt (Target.transform.position); - gameObject.transform.eulerAngles = new Vector3(gameObject.transform.eulerAngles.x*RotationIntensity.x, gameObject.transform.eulerAngles.y*RotationIntensity.y, gameObject.transform.eulerAngles.z*RotationIntensity.z); - } - } - - - void Update () { - - if (continuous) - { - gameObject.transform.LookAt (Target.transform.position); - gameObject.transform.eulerAngles = new Vector3(gameObject.transform.eulerAngles.x*RotationIntensity.x, gameObject.transform.eulerAngles.y*RotationIntensity.y, gameObject.transform.eulerAngles.z*RotationIntensity.z); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs.meta deleted file mode 100644 index 06491af28..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/Compass.cs.meta +++ /dev/null @@ -1,21 +0,0 @@ -fileFormatVersion: 2 -guid: 55a27cc6a86e2bc4baecd65727fe9a08 -timeCreated: 1439441811 -licenseType: Store -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Transform/Compass.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs deleted file mode 100644 index 22284cfbd..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs +++ /dev/null @@ -1,73 +0,0 @@ -using UnityEngine; - -public class MovementController : MonoBehaviour -{ - public bool useVelocity = true; - public bool useRotation = true; - public bool useAcceleration = true; - - public Vector3 initialVelocity = new Vector3(5f, 0f, 0f); // Initial velocity of the object - public Vector3 acceleration; // Acceleration of the object - public Vector3 rotationSpeed; // Rotation speed of the object on each axis - public Vector3 offsetRange; // Range of offset value for the transform - - private Vector3 initialLocalPosition; - private Vector3 currentVelocity; // Current velocity to maintain accurate value - - void Start() - { - // Store the initial local position of the object - initialLocalPosition = transform.localPosition; - currentVelocity = initialVelocity; // Initialize current velocity - - // Generate random offset values within the specified range - float randomOffsetX = Random.Range(-offsetRange.x, offsetRange.x); - float randomOffsetY = Random.Range(-offsetRange.y, offsetRange.y); - float randomOffsetZ = Random.Range(-offsetRange.z, offsetRange.z); - - // Apply the random offset to the initial local position - transform.localPosition = initialLocalPosition + new Vector3(randomOffsetX, randomOffsetY, randomOffsetZ); - } - - void Update() - { - if (useVelocity) - { - // Move the object with the given velocity and acceleration - MoveWithVelocityAndAcceleration(); - } - - if (useRotation) - { - // Rotate the object with the given rotation speed - RotateObject(); - } - } - - void MoveWithVelocityAndAcceleration() - { - Vector3 displacement; - - if (useAcceleration) - { - // Calculate displacement based on current velocity and acceleration - currentVelocity += acceleration * Time.deltaTime; - displacement = currentVelocity * Time.deltaTime; - } - else - { - // Calculate displacement based on the initial velocity only - displacement = initialVelocity * Time.deltaTime; - } - - // Move the object in its local space - transform.localPosition += transform.TransformDirection(displacement); - } - - void RotateObject() - { - // Rotate the object around its respective local axis with the given rotation speed - Vector3 rotation = rotationSpeed * Time.deltaTime; - transform.Rotate(rotation, Space.Self); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs.meta deleted file mode 100644 index 9277dbbe3..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/MovementController.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 70dec0cc030345f4fab0068ae6260254 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Transform/MovementController.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs deleted file mode 100644 index 97a2b3c7b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs +++ /dev/null @@ -1,37 +0,0 @@ -using UnityEngine; - -public class NoisyShakeMovement : MonoBehaviour -{ - public float noiseSpeed = 1.0f; // Speed of the noise movement - public float noiseScale = 1.0f; // Scale of the noise movement - public Vector3 intensity = Vector3.one; // Intensity of the shake movement on each axis - - private Vector3 initialLocalPosition; // Initial local position of the object - private float initialSeed; // Initial seed for the noise - - void Start() - { - // Store the initial local position of the object - initialLocalPosition = transform.localPosition; - - // Generate a random initial seed for the noise - initialSeed = Random.value; - } - - void Update() - { - // Calculate the noise values based on time, speed, and initial seed - float noiseX = Mathf.PerlinNoise((Time.time + initialSeed) * noiseSpeed, 0.0f); - float noiseY = Mathf.PerlinNoise(0.0f, (Time.time + initialSeed) * noiseSpeed); - float noiseZ = Mathf.PerlinNoise((Time.time + initialSeed) * noiseSpeed, (Time.time + initialSeed) * noiseSpeed); - - // Calculate the shake movement based on the noise values, intensity, and scale - float shakeX = noiseX * intensity.x * noiseScale; - float shakeY = noiseY * intensity.y * noiseScale; - float shakeZ = noiseZ * intensity.z * noiseScale; - - // Apply the shake movement to the object's local position - Vector3 shakeMovement = new Vector3(shakeX, shakeY, shakeZ); - transform.localPosition = initialLocalPosition + shakeMovement; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs.meta deleted file mode 100644 index 46f7e8fc4..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/NoisyShakeMovement.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 99a242f586882844abc104e67e77b6b3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Transform/NoisyShakeMovement.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs deleted file mode 100644 index d4fb734f4..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs +++ /dev/null @@ -1,101 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class SmoothMover : MonoBehaviour -{ - // Movement parameters - public float distanceX = 0f; // Distance to move along local X-axis - public float distanceY = 0f; // Distance to move along local Y-axis - public float distanceZ = 10f; // Distance to move along local Z-axis - - public float maxVelocity = 5f; // Maximum velocity in units per second - public float acceleration = 2f; // Acceleration rate - public float deceleration = 2f; // Deceleration rate - - public bool pingPong = false; // Toggle for ping-pong movement - public float pingPongDelay = 1f; // Delay between ping-pong movements in seconds - - private Vector3 startPosition; - private Vector3 targetPosition; - private float currentSpeed = 0f; - private bool moving = true; - private bool decelerating = false; - private bool movingToTarget = true; - private bool waitingForPingPong = false; - - void Start() - { - startPosition = transform.position; - - // Calculate the target position in local space and convert to world space - Vector3 localOffset = new Vector3(distanceX, distanceY, distanceZ); - targetPosition = startPosition + transform.TransformDirection(localOffset); - } - - void Update() - { - if (moving && !waitingForPingPong) - { - MoveTowardsTarget(); - } - } - - private void MoveTowardsTarget() - { - // Set the current target based on the direction - Vector3 destination = movingToTarget ? targetPosition : startPosition; - - // Calculate the remaining distance to the current destination - float remainingDistance = Vector3.Distance(transform.position, destination); - - // Check if it's time to decelerate - if (remainingDistance <= Mathf.Pow(currentSpeed, 2) / (2 * deceleration)) - { - decelerating = true; - } - - // Adjust speed based on acceleration or deceleration - if (decelerating) - { - currentSpeed -= deceleration * Time.deltaTime; - if (currentSpeed <= 0) - { - currentSpeed = 0; - moving = false; // Stop movement when speed reaches 0 - - // Toggle direction for ping-pong effect if enabled - if (pingPong) - { - StartCoroutine(PingPongDelayCoroutine()); - } - } - } - else - { - currentSpeed += acceleration * Time.deltaTime; - currentSpeed = Mathf.Min(currentSpeed, maxVelocity); // Clamp to max velocity - } - - // Move towards the destination at the current speed - transform.position = Vector3.MoveTowards(transform.position, destination, currentSpeed * Time.deltaTime); - - // If reached the destination and ping-pong is off, stop moving - if (transform.position == destination && !pingPong) - { - moving = false; - } - } - - // Coroutine to handle ping-pong delay - private IEnumerator PingPongDelayCoroutine() - { - waitingForPingPong = true; - yield return new WaitForSeconds(pingPongDelay); - - // Reset movement variables for the return trip - movingToTarget = !movingToTarget; // Switch direction - decelerating = false; - moving = true; - waitingForPingPong = false; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs.meta deleted file mode 100644 index 02a270cc0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMover.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 4a481fa2ace2cc344947652b7407c4b3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Transform/SmoothMover.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs deleted file mode 100644 index c6de658ec..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs +++ /dev/null @@ -1,117 +0,0 @@ -using UnityEngine; -using System.Collections; - -[RequireComponent(typeof(Rigidbody))] -public class SmoothMoverRigidbody : MonoBehaviour -{ - // Movement parameters - public float distanceX = 0f; // Distance to move along local X-axis - public float distanceY = 0f; // Distance to move along local Y-axis - public float distanceZ = 10f; // Distance to move along local Z-axis - - public float maxVelocity = 5f; // Maximum velocity in units per second - public float acceleration = 2f; // Acceleration rate - public float deceleration = 2f; // Deceleration rate - - public bool pingPong = false; // Toggle for ping-pong movement - public float pingPongDelay = 1f; // Delay between ping-pong movements in seconds - - public bool useLocalMovement = true; // Toggle for local or world movement - - private Rigidbody rb; - private Vector3 startPosition; - private Vector3 targetPosition; - private float currentSpeed = 0f; - private bool moving = true; - private bool decelerating = false; - private bool movingToTarget = true; - private bool waitingForPingPong = false; - - void Start() - { - rb = GetComponent(); // Get the Rigidbody component - startPosition = transform.position; - - // Calculate the target position in local space and convert to world space - Vector3 localOffset = new Vector3(distanceX, distanceY, distanceZ); - targetPosition = useLocalMovement ? - startPosition + transform.TransformDirection(localOffset) : - startPosition + localOffset; - } - - void FixedUpdate() - { - if (moving && !waitingForPingPong) - { - MoveTowardsTarget(); - } - } - - private void MoveTowardsTarget() - { - // Set the current target based on the direction - Vector3 destination = movingToTarget ? targetPosition : startPosition; - - // Calculate the remaining distance to the current destination - float remainingDistance = Vector3.Distance(transform.position, destination); - - // Check if it's time to decelerate - if (remainingDistance <= Mathf.Pow(currentSpeed, 2) / (2 * deceleration)) - { - decelerating = true; - } - - // Adjust speed based on acceleration or deceleration - if (decelerating) - { - currentSpeed -= deceleration * Time.fixedDeltaTime; - if (currentSpeed <= 0) - { - currentSpeed = 0; - moving = false; // Stop movement when speed reaches 0 - - // Toggle direction for ping-pong effect if enabled - if (pingPong) - { - StartCoroutine(PingPongDelayCoroutine()); - } - } - } - else - { - currentSpeed += acceleration * Time.fixedDeltaTime; - currentSpeed = Mathf.Min(currentSpeed, maxVelocity); // Clamp to max velocity - } - - // Calculate the movement vector based on the chosen movement type - Vector3 movement = (destination - transform.position).normalized * currentSpeed * Time.fixedDeltaTime; - - // If using local movement, transform the movement vector to local space - if (useLocalMovement) - { - movement = transform.TransformDirection(movement); - } - - // Apply the movement to the Rigidbody - rb.MovePosition(rb.position + movement); - - // If reached the destination and ping-pong is off, stop moving - if (transform.position == destination && !pingPong) - { - moving = false; - } - } - - // Coroutine to handle ping-pong delay - private IEnumerator PingPongDelayCoroutine() - { - waitingForPingPong = true; - yield return new WaitForSeconds(pingPongDelay); - - // Reset movement variables for the return trip - movingToTarget = !movingToTarget; // Switch direction - decelerating = false; - moving = true; - waitingForPingPong = false; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs.meta deleted file mode 100644 index 48b15240e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic Scripts/Transform/SmoothMoverRigidbody.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 6b1f9fd5cf8486c46940ca6a2331ebf0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Basic - Scripts/Transform/SmoothMoverRigidbody.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools.meta deleted file mode 100644 index 964f918fd..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 33561562cc5f11b47bc4b5a83757637f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor.meta deleted file mode 100644 index 9e2f8f08a..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 82d441e5f703a954c84cc77510a610e5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs deleted file mode 100644 index 3f0259972..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs +++ /dev/null @@ -1,111 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -public class HierarchyClonerTool : EditorWindow -{ - private GameObject sourceParent; - private GameObject targetParent; - private List nameFilters = new List(); - private bool filterByMeshRenderer = false; - - [MenuItem("Tools/Daelonik Artworks/Hierarchy Cloner Tool")] - public static void ShowWindow() - { - GetWindow("Hierarchy Cloner Tool"); - } - - private void OnGUI() - { - GUILayout.Label("Hierarchy Cloner Tool", EditorStyles.boldLabel); - - sourceParent = (GameObject)EditorGUILayout.ObjectField("Source Parent", sourceParent, typeof(GameObject), true); - targetParent = (GameObject)EditorGUILayout.ObjectField("Target Parent", targetParent, typeof(GameObject), true); - - EditorGUILayout.Space(); - - GUILayout.Label("Name Filters (one per line)", EditorStyles.boldLabel); - string filters = EditorGUILayout.TextArea(string.Join("\n", nameFilters), GUILayout.Height(100)); - nameFilters = new List(filters.Split(new[] { '\n' }, System.StringSplitOptions.RemoveEmptyEntries)); - - EditorGUILayout.Space(); - - filterByMeshRenderer = EditorGUILayout.Toggle("Filter by MeshRenderer", filterByMeshRenderer); - - EditorGUILayout.Space(); - - using (new EditorGUI.DisabledScope(sourceParent == null || targetParent == null || nameFilters.Count == 0)) - { - if (GUILayout.Button("Clone Objects")) - { - CloneObjects(); - } - } - } - - private void CloneObjects() - { - if (sourceParent == null || targetParent == null) - { - EditorUtility.DisplayDialog("Error", "Source Parent and Target Parent must be assigned.", "OK"); - return; - } - - // Start recording for Undo - Undo.SetCurrentGroupName("Clone Objects"); - int undoGroup = Undo.GetCurrentGroup(); - - // Find and clone objects - Transform[] allTransforms = sourceParent.GetComponentsInChildren(true); - HashSet processedObjects = new HashSet(); - - foreach (Transform t in allTransforms) - { - GameObject go = t.gameObject; - if (MatchesNameFilters(go.name) && (!filterByMeshRenderer || go.GetComponent() != null)) - { - if (!processedObjects.Contains(go)) - { - // Temporarily detach from parent to get absolute transform - Transform originalParent = go.transform.parent; - go.transform.SetParent(null); - - // Store absolute transform - Vector3 absolutePosition = go.transform.position; - Quaternion absoluteRotation = go.transform.rotation; - Vector3 absoluteScale = go.transform.lossyScale; - - // Reattach to original parent - go.transform.SetParent(originalParent); - - // Clone and apply absolute transform - GameObject clone = Instantiate(go); - clone.name = go.name; // Ensure the name stays the same. - clone.transform.SetParent(targetParent.transform); - clone.transform.position = absolutePosition; - clone.transform.rotation = absoluteRotation; - clone.transform.localScale = absoluteScale; - - Undo.RegisterCreatedObjectUndo(clone, "Clone Objects"); - processedObjects.Add(go); - } - } - } - - // Finish recording for Undo - Undo.CollapseUndoOperations(undoGroup); - EditorUtility.DisplayDialog("Success", "Objects cloned successfully.", "OK"); - } - - private bool MatchesNameFilters(string name) - { - foreach (string filter in nameFilters) - { - if (name.Contains(filter)) - { - return true; - } - } - return false; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs.meta deleted file mode 100644 index 864728d48..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 41a8784366917504ab9fc586f1334840 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierachyClonerTool.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs deleted file mode 100644 index 2a3adcab4..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs +++ /dev/null @@ -1,328 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -public class HierarchyOrganizer : EditorWindow -{ - [System.Serializable] - public class GameObjectStringPair - { - public GameObject gameObject; - public string searchString; - } - - [System.Serializable] - public class LODSetting - { - public string name; - public float transitionHeight = 0.5f; // Default transition height - } - - public GameObject parentGameObject; - public List objectStringPairs = new List(); - public List lodSettings = new List(); - public bool filterByMeshRenderer = false; - public bool cloneUnmatched = false; - public bool autoCreateGameObjects = false; - public bool removeUnmatchedAfterOrganize = false; - public bool moveToTransformProxy = false; // New option - - private Dictionary proxyCache = new Dictionary(); - - [MenuItem("Tools/Daelonik Artworks/Hierarchy Organizer")] - public static void ShowWindow() - { - GetWindow("Hierarchy Organizer"); - } - - private void OnGUI() - { - GUILayout.Label("Parent GameObject", EditorStyles.boldLabel); - parentGameObject = (GameObject)EditorGUILayout.ObjectField(parentGameObject, typeof(GameObject), true); - - GUILayout.Label("GameObject-String Pairs", EditorStyles.boldLabel); - if (GUILayout.Button("Add Pair")) - { - objectStringPairs.Add(new GameObjectStringPair()); - } - - for (int i = 0; i < objectStringPairs.Count; i++) - { - GUILayout.BeginHorizontal(); - if (!autoCreateGameObjects) - { - objectStringPairs[i].gameObject = (GameObject)EditorGUILayout.ObjectField(objectStringPairs[i].gameObject, typeof(GameObject), true); - } - else - { - EditorGUILayout.LabelField("Auto-Created"); - } - objectStringPairs[i].searchString = EditorGUILayout.TextField(objectStringPairs[i].searchString); - if (GUILayout.Button("Remove")) - { - objectStringPairs.RemoveAt(i); - } - GUILayout.EndHorizontal(); - } - - filterByMeshRenderer = EditorGUILayout.Toggle("Filter by MeshRenderer", filterByMeshRenderer); - cloneUnmatched = EditorGUILayout.Toggle("Clone Unmatched GameObjects", cloneUnmatched); - autoCreateGameObjects = EditorGUILayout.Toggle("Auto-Create GameObjects", autoCreateGameObjects); - removeUnmatchedAfterOrganize = EditorGUILayout.Toggle("Remove Unmatched After Organize", removeUnmatchedAfterOrganize); - moveToTransformProxy = EditorGUILayout.Toggle("Move to Transform Proxy", moveToTransformProxy); // New option - - GUILayout.Label("LOD Settings", EditorStyles.boldLabel); - if (GUILayout.Button("Add LOD Setting")) - { - lodSettings.Add(new LODSetting()); - } - - for (int i = 0; i < lodSettings.Count; i++) - { - GUILayout.BeginHorizontal(); - lodSettings[i].name = EditorGUILayout.TextField("Name", lodSettings[i].name); - lodSettings[i].transitionHeight = EditorGUILayout.Slider("Transition Height", lodSettings[i].transitionHeight, 0f, 1f); - if (GUILayout.Button("Remove")) - { - lodSettings.RemoveAt(i); - } - GUILayout.EndHorizontal(); - } - - if (GUILayout.Button("Organize Hierarchy")) - { - Undo.RegisterCompleteObjectUndo(this, "Organize Hierarchy"); - proxyCache.Clear(); - OrganizeHierarchy(); - } - - if (GUILayout.Button("Auto LOD")) - { - Undo.RegisterCompleteObjectUndo(this, "Auto LOD"); - AutoLOD(); - } - } - - private void OrganizeHierarchy() - { - if (parentGameObject == null) - { - Debug.LogError("Parent GameObject is not set."); - return; - } - - // Create missing GameObjects if the auto-create option is enabled - if (autoCreateGameObjects) - { - foreach (var pair in objectStringPairs) - { - if (pair.gameObject == null && !string.IsNullOrEmpty(pair.searchString)) - { - GameObject newGameObject = new GameObject(pair.searchString); - Undo.RegisterCreatedObjectUndo(newGameObject, "Auto-Create GameObject"); - newGameObject.transform.SetParent(parentGameObject.transform); - pair.gameObject = newGameObject; - } - } - } - - // Gather all current child GameObjects - Transform[] allChildren = parentGameObject.GetComponentsInChildren(true); - HashSet matchedTransforms = new HashSet(); - - // Process each GameObject-string pair - foreach (var pair in objectStringPairs) - { - if (pair.gameObject == null || string.IsNullOrEmpty(pair.searchString)) - { - Debug.LogWarning("One of the pairs is missing a GameObject or search string."); - continue; - } - - foreach (Transform child in allChildren) - { - if (child != parentGameObject.transform && child.name.Contains(pair.searchString)) - { - if (!filterByMeshRenderer || (filterByMeshRenderer && child.GetComponent() != null)) - { - Transform targetParent = pair.gameObject.transform; - - if (moveToTransformProxy) - { - targetParent = GetOrCreateTransformProxyHierarchy(child, pair.gameObject.transform); - } - - Undo.SetTransformParent(child, targetParent, "Organize Hierarchy"); - matchedTransforms.Add(child); - } - } - } - } - - // Clone unmatched GameObjects if the option is enabled - if (cloneUnmatched) - { - foreach (var pair in objectStringPairs) - { - if (pair.gameObject != null) - { - foreach (Transform child in allChildren) - { - if (!matchedTransforms.Contains(child) && - (!filterByMeshRenderer || (filterByMeshRenderer && child.GetComponent() != null))) - { - // Clone the GameObject - GameObject clone = Instantiate(child.gameObject); - Undo.RegisterCreatedObjectUndo(clone, "Organize Hierarchy"); - - // Calculate world transform of the original - Vector3 worldPosition = child.position; - Quaternion worldRotation = child.rotation; - Vector3 worldScale = child.lossyScale; - - // Set clone's world position, rotation, and scale - clone.transform.SetParent(null); // Detach from any parent - clone.transform.position = worldPosition; - clone.transform.rotation = worldRotation; - clone.transform.localScale = worldScale; - - // Re-parent the clone to the target GameObject - Undo.SetTransformParent(clone.transform, pair.gameObject.transform, "Organize Hierarchy"); - } - } - } - } - } - - // Remove unmatched GameObjects if the option is enabled - if (removeUnmatchedAfterOrganize) - { - HashSet toRemove = new HashSet(); - - // Gather all transforms that should be removed - foreach (Transform child in allChildren) - { - if (child != parentGameObject.transform && !matchedTransforms.Contains(child)) - { - toRemove.Add(child); - } - } - - // Remove each unmatched GameObject - foreach (Transform child in toRemove) - { - Undo.DestroyObjectImmediate(child.gameObject); - } - } - - Debug.Log("Hierarchy organized successfully."); - } - - private Transform GetOrCreateTransformProxyHierarchy(Transform originalChild, Transform targetParent) - { - List proxyHierarchy = new List(); - Transform currentTransform = originalChild.parent; - - // Traverse up the hierarchy to find all parents with non-default scales or rotations - while (currentTransform != parentGameObject.transform) - { - if (HasNonDefaultTransform(currentTransform)) - { - proxyHierarchy.Add(currentTransform); - } - currentTransform = currentTransform.parent; - } - - // Create and set up "Transform Proxy" objects for the hierarchy - Transform lastCreatedProxy = targetParent; - proxyHierarchy.Reverse(); - foreach (Transform originalParent in proxyHierarchy) - { - string proxyPath = GetFullPath(originalParent) + "_under_" + targetParent.name; - if (!proxyCache.TryGetValue(proxyPath, out Transform cachedProxy)) - { - cachedProxy = CreateTransformProxy(originalParent, lastCreatedProxy); - proxyCache[proxyPath] = cachedProxy; - } - lastCreatedProxy = cachedProxy; - } - - return lastCreatedProxy; - } - - private string GetFullPath(Transform transform) - { - string path = transform.name; - while (transform.parent != null && transform.parent != parentGameObject.transform) - { - transform = transform.parent; - path = transform.name + "/" + path; - } - return path; - } - - private Transform CreateTransformProxy(Transform originalParent, Transform targetParent) - { - // Create and set up a "Transform Proxy" GameObject - GameObject transformProxy = new GameObject(originalParent.name + " Transform Proxy"); - Undo.RegisterCreatedObjectUndo(transformProxy, "Create Transform Proxy"); - transformProxy.transform.SetParent(targetParent); // Make it a child of the target game object - transformProxy.transform.localPosition = originalParent.localPosition; - transformProxy.transform.localRotation = originalParent.localRotation; - transformProxy.transform.localScale = originalParent.localScale; - return transformProxy.transform; - } - - private bool HasNonDefaultTransform(Transform transform) - { - return transform.localScale != Vector3.one || transform.localRotation != Quaternion.identity; - } - - private void AutoLOD() - { - if (parentGameObject == null) - { - Debug.LogError("Parent GameObject is not set."); - return; - } - - LODGroup lodGroup = parentGameObject.GetComponent(); - if (lodGroup == null) - { - lodGroup = Undo.AddComponent(parentGameObject); - } - - List lods = new List(); - - foreach (var lodSetting in lodSettings) - { - if (!string.IsNullOrEmpty(lodSetting.name)) - { - Transform lodTransform = parentGameObject.transform.Find(lodSetting.name); - if (lodTransform != null) - { - List renderers = new List(); - Transform[] allChildren = lodTransform.GetComponentsInChildren(true); - foreach (Transform child in allChildren) - { - Renderer renderer = child.GetComponent(); - if (renderer != null) - { - renderers.Add(renderer); - } - } - - if (renderers.Count > 0) - { - lods.Add(new LOD(lodSetting.transitionHeight, renderers.ToArray())); - } - } - } - } - - lodGroup.SetLODs(lods.ToArray()); - lodGroup.RecalculateBounds(); - - Debug.Log("LOD Group created and organized successfully."); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs.meta deleted file mode 100644 index e8d30021d..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 9947179d8a678df4fb3696ef733a90bd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/HierarchyOrganizer.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs deleted file mode 100644 index 5294de1e0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs +++ /dev/null @@ -1,113 +0,0 @@ -using UnityEngine; -using UnityEditor; -using UnityEngine.Rendering; -using System.Collections.Generic; - -public class LightSettingsTool : EditorWindow -{ - // Filter options for the type of light - private LightType lightTypeFilter = LightType.Point; - - // Settings to adjust - private bool enableShadows = true; - private LightShadows shadowType = LightShadows.Soft; - private LightShadowResolution shadowResolution = LightShadowResolution.Medium; - private LightmapBakeType lightMode = LightmapBakeType.Mixed; - - [MenuItem("Tools/Daelonik Artworks/Light Settings Tool")] - public static void ShowWindow() - { - GetWindow("Light Settings Tool"); - } - - private void OnGUI() - { - GUILayout.Label("Light Settings Tool", EditorStyles.boldLabel); - - // Light type filter selection - lightTypeFilter = (LightType)EditorGUILayout.EnumPopup("Light Type Filter", lightTypeFilter); - - // Shadows toggle and type - enableShadows = EditorGUILayout.Toggle("Enable Shadows", enableShadows); - shadowType = (LightShadows)EditorGUILayout.EnumPopup("Shadow Type", shadowType); - - // Shadow resolution - shadowResolution = (LightShadowResolution)EditorGUILayout.EnumPopup("Shadow Resolution", shadowResolution); - - // Light mode - lightMode = (LightmapBakeType)EditorGUILayout.EnumPopup("Light Mode", lightMode); - - // Apply settings buttons - if (GUILayout.Button("Apply Settings to All")) - { - ApplyLightSettingsToAll(); - } - - if (GUILayout.Button("Apply Settings on Selected")) - { - ApplyLightSettingsToSelected(); - } - } - - private void ApplyLightSettingsToAll() - { - // Find all lights in the scene - Light[] lights = FindObjectsOfType(); - - List filteredLights = new List(); - foreach (Light light in lights) - { - // Filter lights by the selected type - if (light.type == lightTypeFilter) - { - filteredLights.Add(light); - } - } - - // Apply settings to each filtered light - ApplySettingsToLights(filteredLights); - - Debug.Log($"{filteredLights.Count} {lightTypeFilter} lights updated in the scene."); - } - - private void ApplyLightSettingsToSelected() - { - // Get selected GameObjects in the hierarchy - GameObject[] selectedObjects = Selection.gameObjects; - - List filteredLights = new List(); - foreach (GameObject obj in selectedObjects) - { - // Get lights in the selected GameObject and its children - Light[] lights = obj.GetComponentsInChildren(); - - foreach (Light light in lights) - { - // Filter lights by the selected type - if (light.type == lightTypeFilter) - { - filteredLights.Add(light); - } - } - } - - // Apply settings to each filtered light - ApplySettingsToLights(filteredLights); - - Debug.Log($"{filteredLights.Count} {lightTypeFilter} lights updated in selected objects."); - } - - private void ApplySettingsToLights(List lights) - { - foreach (Light light in lights) - { - Undo.RecordObject(light, "Light Settings Change"); - - light.shadows = enableShadows ? shadowType : LightShadows.None; - light.shadowResolution = shadowResolution; - light.lightmapBakeType = lightMode; - - EditorUtility.SetDirty(light); - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs.meta deleted file mode 100644 index c1cb583c8..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 2531b43202983b64ab1173af4e673372 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/LightSettingsTool.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs deleted file mode 100644 index d16587f2f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs +++ /dev/null @@ -1,85 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -public class ParentCreatorTool : EditorWindow -{ - private bool copyRotation = false; - private bool copyScale = false; - private bool useOriginalName = false; - private string parentName = "Parent"; - - [MenuItem("Tools/Daelonik Artworks/Parent Creator Tool")] - public static void ShowWindow() - { - GetWindow("Parent Creator Tool"); - } - - private void OnGUI() - { - GUILayout.Label("Parent Creator Tool", EditorStyles.boldLabel); - - useOriginalName = EditorGUILayout.Toggle("Use Original Name", useOriginalName); - if (!useOriginalName) - { - parentName = EditorGUILayout.TextField("Parent Name", parentName); - } - - copyRotation = EditorGUILayout.Toggle("Copy Rotation", copyRotation); - copyScale = EditorGUILayout.Toggle("Copy Scale", copyScale); - - if (GUILayout.Button("Create Parents")) - { - CreateParents(); - } - } - - private void CreateParents() - { - if (Selection.gameObjects.Length == 0) - { - EditorUtility.DisplayDialog("No Selection", "Please select at least one object in the hierarchy.", "OK"); - return; - } - - // List to keep track of the newly created parent objects - List newParents = new List(); - - foreach (GameObject selected in Selection.gameObjects) - { - // Determine parent name - string name = useOriginalName ? selected.name : parentName; - - // Create a new parent GameObject - GameObject parent = new GameObject(name); - - // Set parent position, rotation, and scale - parent.transform.position = selected.transform.position; - if (copyRotation) - { - parent.transform.rotation = selected.transform.rotation; - } - else - { - parent.transform.rotation = Quaternion.identity; - } - if (copyScale) - { - parent.transform.localScale = selected.transform.localScale; - } - else - { - parent.transform.localScale = Vector3.one; - } - - // Set the parent of the selected object - Undo.SetTransformParent(selected.transform, parent.transform, "Create Parent"); - - // Add the parent to the list of new parents - newParents.Add(parent); - } - - // Select only the newly created parent objects - Selection.objects = newParents.ToArray(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs.meta deleted file mode 100644 index 583fc1c48..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: b405d31e566de7b4e99bdbf07000dad4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ParentCreatorTool.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs deleted file mode 100644 index 7bfc61813..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs +++ /dev/null @@ -1,451 +0,0 @@ -using UnityEngine; -using System.Collections.Generic; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -public class ReplacePrefabsTool : EditorWindow -{ - GameObject parentObject; - List objectPairs = new List(); - bool searchWholeScene = true; - bool searchByName = false; - bool useReplacementNameForSearch = false; - bool partialNameMatch = false; - - Vector2 scrollPosition; - - [MenuItem("Tools/Daelonik Artworks/Replace Prefabs Tool")] - public static void ShowWindow() - { - EditorWindow.GetWindow(typeof(ReplacePrefabsTool)); - } - - void OnGUI() - { - GUILayout.Label("Replace Prefabs Tool", EditorStyles.boldLabel); - - EditorGUILayout.Space(); - - GUILayout.BeginHorizontal(); - GUILayout.Label("Search Options", EditorStyles.boldLabel); - GUILayout.FlexibleSpace(); - searchWholeScene = GUILayout.Toggle(searchWholeScene, "Search Whole Scene"); - searchByName = GUILayout.Toggle(searchByName, "Search by Name"); - GUILayout.EndHorizontal(); - - if (searchByName) - { - EditorGUI.indentLevel++; - useReplacementNameForSearch = EditorGUILayout.Toggle("Use Replacement Name for Search", useReplacementNameForSearch); - partialNameMatch = EditorGUILayout.Toggle("Partial Name Match", partialNameMatch); - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - if (!searchWholeScene) - { - parentObject = EditorGUILayout.ObjectField("Parent GameObject", parentObject, typeof(GameObject), true) as GameObject; - EditorGUILayout.Space(); - } - - EditorGUILayout.LabelField("Objects to Replace", EditorStyles.boldLabel); - - GUILayout.Space(10); - GUILayout.Label("Drag and Drop Prefabs Here", EditorStyles.boldLabel); - Rect dropArea = GUILayoutUtility.GetRect(0.0f, 50.0f, GUILayout.ExpandWidth(true)); - GUI.Box(dropArea, "Drop Prefabs Here", EditorStyles.helpBox); - - HandleDragAndDrop(dropArea); - - scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); - - for (int i = 0; i < objectPairs.Count; i++) - { - EditorGUILayout.BeginVertical(EditorStyles.helpBox); - - if (searchByName) - { - EditorGUILayout.LabelField("Object Name to Replace: " + (objectPairs[i].objectToReplace != null ? objectPairs[i].objectToReplace.name : "Not Set")); - EditorGUILayout.LabelField("Replacement Name: " + (objectPairs[i].replacementObject != null ? objectPairs[i].replacementObject.name : "Not Set")); - } - else - { - objectPairs[i].objectToReplace = EditorGUILayout.ObjectField("Object " + (i + 1), objectPairs[i].objectToReplace, typeof(GameObject), true) as GameObject; - } - - EditorGUILayout.Space(); - - objectPairs[i].replacementObject = EditorGUILayout.ObjectField("Replacement " + (i + 1), objectPairs[i].replacementObject, typeof(GameObject), true) as GameObject; - - EditorGUILayout.Space(); - - EditorGUILayout.BeginHorizontal(); - - if (GUILayout.Button("Switch", GUILayout.Width(80))) - { - SwitchGameObjects(i); - } - - GUILayout.FlexibleSpace(); - - if (GUILayout.Button("Remove Pair", GUILayout.Width(100))) - { - objectPairs.RemoveAt(i); - GUIUtility.ExitGUI(); - break; - } - - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.EndVertical(); - } - - EditorGUILayout.EndScrollView(); - - EditorGUILayout.Space(); - - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Add Pair", GUILayout.Width(100))) - { - objectPairs.Add(new GameObjectPair()); - } - GUILayout.EndHorizontal(); - - EditorGUILayout.Space(); - - GUILayout.BeginHorizontal(); - if (GUILayout.Button("Replace Selected Objects", GUILayout.Width(200))) - { - Undo.RegisterCompleteObjectUndo(this, "Replace Prefabs Tool"); - ReplaceObjects(); - } - - if (GUILayout.Button("Switch All Objects", GUILayout.Width(200))) - { - SwitchAllGameObjects(); - } - GUILayout.EndHorizontal(); - - EditorGUILayout.Space(); - - // Add the Clear List button - if (GUILayout.Button("Clear List", GUILayout.Width(100))) - { - ClearList(); - } - } - - void HandleDragAndDrop(Rect dropArea) - { - Event evt = Event.current; - if (evt.type == EventType.DragUpdated || evt.type == EventType.DragPerform) - { - if (dropArea.Contains(evt.mousePosition)) - { - DragAndDrop.visualMode = DragAndDropVisualMode.Copy; - - if (evt.type == EventType.DragPerform) - { - DragAndDrop.AcceptDrag(); - - foreach (Object draggedObject in DragAndDrop.objectReferences) - { - GameObject draggedPrefab = draggedObject as GameObject; - if (draggedPrefab != null && PrefabUtility.GetPrefabAssetType(draggedPrefab) == PrefabAssetType.Regular) - { - // Ensure there is a replacement object - if (objectPairs.Count > 0) - { - GameObjectPair lastPair = objectPairs[objectPairs.Count - 1]; - if (lastPair.objectToReplace == null) - { - lastPair.objectToReplace = draggedPrefab; - } - else - { - objectPairs.Add(new GameObjectPair { objectToReplace = draggedPrefab }); - } - } - else - { - objectPairs.Add(new GameObjectPair { objectToReplace = draggedPrefab }); - } - } - } - } - - Event.current.Use(); - } - } - } - - void ReplaceObjects() - { - LogObjectPairs(); - - if (objectPairs.Count == 0) - { - Debug.LogError("Please specify GameObject pairs to replace."); - return; - } - - if (searchWholeScene) - { - ReplaceObjectsInScene(objectPairs); - } - else - { - if (parentObject == null) - { - Debug.LogError("Please specify a parent GameObject when not searching the whole scene."); - return; - } - - foreach (var pair in objectPairs) - { - if (searchByName) - { - string searchName = useReplacementNameForSearch && pair.replacementObject != null - ? pair.replacementObject.name - : pair.objectToReplace != null ? pair.objectToReplace.name : ""; - - if (string.IsNullOrEmpty(searchName)) - { - Debug.LogWarning($"Object to replace or replacement object is not set. Pair index: {objectPairs.IndexOf(pair)}"); - continue; - } - - ReplaceObjectsInHierarchyByName(parentObject.transform, searchName, pair.replacementObject); - } - else - { - if (pair.objectToReplace != null && pair.replacementObject != null) - { - ReplaceObjectsInHierarchy(parentObject.transform, pair.objectToReplace, pair.replacementObject); - } - else - { - Debug.LogWarning($"Object to replace or replacement object is not set for pair. Object to Replace: {pair.objectToReplace}, Replacement Object: {pair.replacementObject}"); - } - } - } - } - - Debug.Log("Replacement complete."); - } - - void ReplaceObjectsInScene(List pairs) - { - GameObject[] allObjects = GameObject.FindObjectsOfType(); - - foreach (var pair in pairs) - { - if (searchByName && useReplacementNameForSearch) - { - if (pair.replacementObject == null) - { - Debug.LogWarning($"Replacement object is missing for pair. Skipping replacement. Pair index: {objectPairs.IndexOf(pair)}"); - continue; - } - - string searchName = pair.replacementObject.name; - - if (string.IsNullOrEmpty(searchName)) - { - Debug.LogWarning($"Search name is empty for replacement object: {pair.replacementObject}. Skipping replacement."); - continue; - } - - foreach (GameObject obj in allObjects) - { - if (obj == null) continue; - - if (partialNameMatch) - { - if (obj.name.Contains(searchName)) - { - Debug.Log($"Replacing object: {obj.name} with replacement: {pair.replacementObject.name}"); - ReplaceGameObject(obj, pair.replacementObject); - } - } - else - { - if (obj.name.Contains(searchName)) - { - Debug.Log($"Replacing object: {obj.name} with replacement: {pair.replacementObject.name}"); - ReplaceGameObject(obj, pair.replacementObject); - } - } - } - } - else - { - if (pair.objectToReplace == null || pair.replacementObject == null) - { - Debug.LogWarning($"Skipping replacement because objectToReplace or replacementObject is missing for pair. Object to Replace: {pair.objectToReplace}, Replacement Object: {pair.replacementObject}"); - continue; - } - - string searchName = pair.objectToReplace.name; - - if (string.IsNullOrEmpty(searchName)) - { - Debug.LogWarning($"Search name is empty for object to replace: {pair.objectToReplace}. Skipping replacement."); - continue; - } - - foreach (GameObject obj in allObjects) - { - if (obj == null) continue; - - if (partialNameMatch) - { - if (obj.name.Contains(searchName)) - { - Debug.Log($"Replacing object: {obj.name} with replacement: {pair.replacementObject.name}"); - ReplaceGameObject(obj, pair.replacementObject); - } - } - else - { - if (obj.name.Contains(searchName)) - { - Debug.Log($"Replacing object: {obj.name} with replacement: {pair.replacementObject.name}"); - ReplaceGameObject(obj, pair.replacementObject); - } - } - } - } - } - } - - void ReplaceObjectsInHierarchy(Transform parent, GameObject objectToReplace, GameObject replacement) - { - if (objectToReplace == null || replacement == null) - { - Debug.LogWarning("Object to replace or replacement object is missing."); - return; - } - - List objectsToReplace = new List(); - - foreach (Transform child in parent) - { - if (child == null) continue; - - if (PrefabUtility.GetPrefabInstanceStatus(child.gameObject) == PrefabInstanceStatus.Connected) - { - GameObject prefabRoot = PrefabUtility.GetCorrespondingObjectFromSource(child.gameObject); - if (prefabRoot == objectToReplace) - { - objectsToReplace.Add(child.gameObject); - } - } - else if (child.gameObject.name == objectToReplace.name && searchByName) - { - objectsToReplace.Add(child.gameObject); - } - - ReplaceObjectsInHierarchy(child, objectToReplace, replacement); - } - - foreach (GameObject obj in objectsToReplace) - { - if (obj == null) continue; - ReplaceGameObject(obj, replacement); - } - } - - void ReplaceObjectsInHierarchyByName(Transform parent, string objectNameToReplace, GameObject replacement) - { - if (replacement == null) - { - Debug.LogWarning("Replacement object is missing."); - return; - } - - List objectsToReplace = new List(); - - foreach (Transform child in parent) - { - if (child == null) continue; - - bool nameMatches = partialNameMatch ? child.name.Contains(objectNameToReplace) : child.name.Contains(objectNameToReplace); - - if (nameMatches) - { - objectsToReplace.Add(child.gameObject); - } - else - { - ReplaceObjectsInHierarchyByName(child, objectNameToReplace, replacement); - } - } - - foreach (GameObject obj in objectsToReplace) - { - if (obj == null) continue; - ReplaceGameObject(obj, replacement); - } - } - - void ReplaceGameObject(GameObject obj, GameObject replacement) - { - if (obj == null || replacement == null) - { - Debug.LogWarning("Object or replacement prefab is missing."); - return; - } - - Undo.RegisterCompleteObjectUndo(obj, "Replace Prefab"); - GameObject newObject = PrefabUtility.InstantiatePrefab(replacement) as GameObject; - Undo.RegisterCreatedObjectUndo(newObject, "Instantiate Replacement"); - - newObject.transform.SetParent(obj.transform.parent); - newObject.transform.localPosition = obj.transform.localPosition; - newObject.transform.localRotation = obj.transform.localRotation; - newObject.transform.localScale = obj.transform.localScale; - - Undo.DestroyObjectImmediate(obj); - } - - void SwitchGameObjects(int index) - { - GameObject temp = objectPairs[index].objectToReplace; - objectPairs[index].objectToReplace = objectPairs[index].replacementObject; - objectPairs[index].replacementObject = temp; - } - - void SwitchAllGameObjects() - { - for (int i = 0; i < objectPairs.Count; i++) - { - SwitchGameObjects(i); - } - } - - void ClearList() - { - objectPairs.Clear(); - } - - void LogObjectPairs() - { - for (int i = 0; i < objectPairs.Count; i++) - { - var pair = objectPairs[i]; - Debug.Log($"Pair {i}: Object to Replace = {(pair.objectToReplace != null ? pair.objectToReplace.name : "null")}, Replacement Object = {(pair.replacementObject != null ? pair.replacementObject.name : "null")}"); - } - } - - [System.Serializable] - public class GameObjectPair - { - public GameObject objectToReplace; - public GameObject replacementObject; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs.meta deleted file mode 100644 index 4a7a73147..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 8ef93019f21362d40969a477e58e85ff -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/ReplacePrefabsTool.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs deleted file mode 100644 index fed23a7b3..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -public class SearchAndDestroy : EditorWindow -{ - private GameObject parentObject; - private List searchStrings = new List(); - private bool exactMatch = false; - private string newSearchString = ""; - - [MenuItem("Tools/Daelonik Artworks/Search and Destroy")] - public static void ShowWindow() - { - GetWindow("Search and Destroy"); - } - - private void OnGUI() - { - GUILayout.Label("Search and Destroy Tool", EditorStyles.boldLabel); - - parentObject = (GameObject)EditorGUILayout.ObjectField("Parent Object", parentObject, typeof(GameObject), true); - - GUILayout.Label("Search Strings"); - newSearchString = EditorGUILayout.TextField("Add Search String", newSearchString); - - if (GUILayout.Button("Add String")) - { - if (!string.IsNullOrEmpty(newSearchString) && !searchStrings.Contains(newSearchString)) - { - searchStrings.Add(newSearchString); - newSearchString = ""; - } - } - - GUILayout.Space(10); - foreach (var searchString in searchStrings) - { - GUILayout.BeginHorizontal(); - GUILayout.Label(searchString); - if (GUILayout.Button("Remove")) - { - searchStrings.Remove(searchString); - break; - } - GUILayout.EndHorizontal(); - } - - exactMatch = EditorGUILayout.Toggle("Exact Match", exactMatch); - - GUILayout.Space(10); - if (GUILayout.Button("Search and Destroy")) - { - if (parentObject != null && searchStrings.Count > 0) - { - Undo.RegisterCompleteObjectUndo(parentObject, "Search and Destroy GameObjects"); - - // Perform recursive search and destroy - DestroyObjectsRecursive(parentObject.transform); - - Debug.Log($"Search and Destroy completed for {searchStrings.Count} search strings."); - } - else - { - Debug.LogWarning("Please specify both a Parent Object and at least one Search String."); - } - } - } - - private void DestroyObjectsRecursive(Transform parentTransform) - { - // Use a list to store GameObjects to destroy to avoid modifying the collection during iteration - List objectsToDestroy = new List(); - - // Traverse all children - foreach (Transform child in parentTransform) - { - // Recursively destroy children first - DestroyObjectsRecursive(child); - - // Check if the current GameObject should be destroyed - if (ShouldDestroy(child.gameObject)) - { - objectsToDestroy.Add(child.gameObject); - } - } - - // Destroy all collected GameObjects - foreach (var obj in objectsToDestroy) - { - Undo.DestroyObjectImmediate(obj); - } - } - - private bool ShouldDestroy(GameObject obj) - { - foreach (var searchString in searchStrings) - { - bool match = exactMatch ? obj.name == searchString : obj.name.Contains(searchString); - if (match) - { - return true; - } - } - return false; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs.meta deleted file mode 100644 index 1b1ba130b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 42fa9241d2d392f428d73e800076cb98 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/Editor/SearchAndDestory.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs deleted file mode 100644 index e0fa5ec3d..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs +++ /dev/null @@ -1,231 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System; -using System.Collections.Generic; - -[Serializable] -public class MaterialReplacementPair -{ - public Material originalMaterial; - public Material replacementMaterial; -} - -[CustomEditor(typeof(MaterialSwitcher))] -public class MaterialSwitcherEditor : Editor -{ - private Texture2D[] originalPreviews; - private Texture2D[] replacementPreviews; - - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - MaterialSwitcher switcher = (MaterialSwitcher)target; - - // Display buttons horizontally - EditorGUILayout.BeginHorizontal(); - - GUI.backgroundColor = Color.green; - // Add a button to add a new element - if (GUILayout.Button("Add Element")) - { - switcher.materialPairs.Add(new MaterialReplacementPair()); - } - - GUI.backgroundColor = Color.yellow; - // Add a button to trigger material replacement - if (GUILayout.Button("Replace Materials")) - { - Undo.RecordObject(switcher, "Replace Materials"); // Allow undo operation in editor - switcher.ReplaceMaterials(); // Call the ReplaceMaterials method - } - - GUI.backgroundColor = Color.red; - // Add a button to clean the array - if (GUILayout.Button("Clean Array")) - { - switcher.ClearMaterialPairs(); - } - - EditorGUILayout.EndHorizontal(); - - GUI.backgroundColor = Color.white; // Reset background color - - GUILayout.Space(10); - - // Ensure previews are initialized - InitializePreviews(switcher.materialPairs.Count); - - // Display material pairs with dropdown lists for original materials - for (int i = 0; i < switcher.materialPairs.Count; i++) - { - EditorGUILayout.BeginHorizontal(); - - EditorGUILayout.BeginVertical(); // Begin vertical layout - - // Display dropdown list for original material selection - int originalIndex = GetMaterialIndex(switcher, i, switcher.materialPairs[i].originalMaterial); - originalIndex = EditorGUILayout.Popup("Original Material", originalIndex, GetMaterialNames(switcher)); - Undo.RecordObject(switcher, "Change Original Material"); - switcher.materialPairs[i].originalMaterial = GetMaterialAtIndex(switcher, originalIndex); - - // Show original material preview below the selector - originalPreviews[i] = GetMaterialPreview(switcher.materialPairs[i].originalMaterial); - GUILayout.Label(originalPreviews[i], GUILayout.Width(130), GUILayout.Height(130)); - - EditorGUILayout.EndVertical(); // End vertical layout - - // Show replacement material preview below the original material preview - EditorGUILayout.BeginVertical(); // Begin vertical layout - - GUILayout.Label("Replacement Material"); - Undo.RecordObject(switcher, "Change Replacement Material"); - switcher.materialPairs[i].replacementMaterial = (Material)EditorGUILayout.ObjectField(switcher.materialPairs[i].replacementMaterial, typeof(Material), false); - replacementPreviews[i] = GetMaterialPreview(switcher.materialPairs[i].replacementMaterial); - GUILayout.Label(replacementPreviews[i], GUILayout.Width(130), GUILayout.Height(130)); - - EditorGUILayout.EndVertical(); // End vertical layout - - EditorGUILayout.EndHorizontal(); - } - } - - - - // Function to ensure previews are initialized - private void InitializePreviews(int count) - { - if (originalPreviews == null || originalPreviews.Length != count) - { - originalPreviews = new Texture2D[count]; - replacementPreviews = new Texture2D[count]; - } - } - - // Function to get the material index in the list of materials in the switcher - private int GetMaterialIndex(MaterialSwitcher switcher, int pairIndex, Material material) - { - if (material == null) - return 0; - - for (int i = 0; i < switcher.GetUniqueMaterials().Count; i++) - { - if (switcher.GetUniqueMaterials()[i] == material) - return i; - } - - return 0; - } - - // Function to get the material at a specific index in the list of materials in the switcher - private Material GetMaterialAtIndex(MaterialSwitcher switcher, int index) - { - if (index >= 0 && index < switcher.GetUniqueMaterials().Count) - return switcher.GetUniqueMaterials()[index]; - else - return null; - } - - // Function to get an array of material names from the switcher - private string[] GetMaterialNames(MaterialSwitcher switcher) - { - List names = new List(); - - foreach (Material material in switcher.GetUniqueMaterials()) - { - names.Add(material.name); - } - - return names.ToArray(); - } - - // Function to get the material preview or null if the material is null - private Texture2D GetMaterialPreview(Material material) - { - if (material == null) - return null; - - return AssetPreview.GetAssetPreview(material); - } -} - -public class MaterialSwitcher : MonoBehaviour -{ - public List materialPairs = new List(); // List of material pairs - - // Function to replace materials (made public) - public void ReplaceMaterials() - { - // Get all MeshRenderers in the hierarchy - MeshRenderer[] renderers = GetComponentsInChildren(true); - - // Record the objects for undo - List objectsToUndo = new List(renderers.Length); - objectsToUndo.Add(this); // Add the MaterialSwitcher itself to the list of objects to undo - objectsToUndo.AddRange(renderers); // Add all MeshRenderers to the list of objects to undo - foreach (MeshRenderer renderer in renderers) - { - objectsToUndo.AddRange(renderer.sharedMaterials); // Add all materials of each MeshRenderer to the list of objects to undo - } - - Undo.RecordObjects(objectsToUndo.ToArray(), "Replace Materials"); // Allow undo operation in editor for all affected objects - - // Loop through all MeshRenderers - foreach (MeshRenderer renderer in renderers) - { - // Get the materials of the renderer - Material[] materials = renderer.sharedMaterials; - - // Loop through all materials of the renderer - for (int i = 0; i < materials.Length; i++) - { - // Check each material pair - foreach (MaterialReplacementPair pair in materialPairs) - { - // Check if the material matches the original material - if (materials[i] == pair.originalMaterial) - { - // Replace the material with the corresponding replacement material - materials[i] = pair.replacementMaterial; - } - } - } - - // Apply the modified materials to the renderer - renderer.sharedMaterials = materials; - } - } - - // Function to clear the material pairs list - public void ClearMaterialPairs() - { - materialPairs.Clear(); - } - - // Function to get a list of unique materials from the children MeshRenderers - public List GetUniqueMaterials() - { - List uniqueMaterials = new List(); - - // Get all MeshRenderers in the hierarchy - MeshRenderer[] renderers = GetComponentsInChildren(true); - - // Loop through all MeshRenderers - foreach (MeshRenderer renderer in renderers) - { - // Get the materials of the renderer - Material[] materials = renderer.sharedMaterials; - - // Loop through all materials of the renderer - foreach (Material material in materials) - { - if (material != null && !uniqueMaterials.Contains(material)) - { - uniqueMaterials.Add(material); - } - } - } - - return uniqueMaterials; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs.meta deleted file mode 100644 index 56c7cd762..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 5674c7c62a43c32419c87b766fde5f7e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcher.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs deleted file mode 100644 index 1d0c623fa..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs +++ /dev/null @@ -1,108 +0,0 @@ -using UnityEngine; -using System; -using System.Collections.Generic; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -[Serializable] -public class TextureReplacementPair -{ - public Texture2D originalTexture; - public Material replacementMaterial; -} - -[CustomEditor(typeof(MaterialSwitcherByTexture))] -public class MaterialSwitcherByTextureEditor : Editor -{ - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - - MaterialSwitcherByTexture switcher = (MaterialSwitcherByTexture)target; - - // Add a button to trigger material replacement - if (GUILayout.Button("Replace Materials")) - { - Undo.RecordObject(switcher, "Replace Materials"); // Allow undo operation in editor - switcher.ReplaceMaterials(); // Call the ReplaceMaterials method - } - - // Add a button to clean the array - if (GUILayout.Button("Clean Array")) - { - switcher.ClearTexturePairs(); - } - } -} - -public class MaterialSwitcherByTexture : MonoBehaviour -{ - public List texturePairs = new List(); // List of texture pairs - - // Function to replace materials (made public) - public void ReplaceMaterials() - { - // Get all MeshRenderers in the hierarchy - MeshRenderer[] renderers = GetComponentsInChildren(true); - - // Loop through all MeshRenderers - foreach (MeshRenderer renderer in renderers) - { - // Get the materials of the renderer - Material[] materials = renderer.sharedMaterials; - - // Loop through all materials of the renderer - for (int i = 0; i < materials.Length; i++) - { - // Check each texture pair - foreach (TextureReplacementPair pair in texturePairs) - { - // Get the texture of the material - Texture2D materialTexture = GetTextureFromMaterial(materials[i]); - - // Check if the texture matches the original texture - if (materialTexture == pair.originalTexture) - { - // Replace the material with the corresponding replacement material - materials[i] = pair.replacementMaterial; - } - } - } - - // Apply the modified materials to the renderer - renderer.sharedMaterials = materials; - } - } - - // Function to extract the main texture from a material - private Texture2D GetTextureFromMaterial(Material material) - { - if (material == null) return null; - - // Check if the material has a main texture - if (material.mainTexture != null) - { - return material.mainTexture as Texture2D; - } - - // Check if the material has a texture property - foreach (string propertyName in material.GetTexturePropertyNames()) - { - Texture texture = material.GetTexture(propertyName); - if (texture != null) - { - return texture as Texture2D; - } - } - - return null; - } - - // Function to clear the texture pairs list - public void ClearTexturePairs() - { - texturePairs.Clear(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs.meta deleted file mode 100644 index 180d5dbdc..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: b20af612d92655944aff46ab3aea13f1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/MaterialSwitcherByTexture.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs deleted file mode 100644 index ed4e17344..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs +++ /dev/null @@ -1,162 +0,0 @@ -using UnityEngine; -using System.Collections.Generic; - -#if UNITY_EDITOR -using UnityEditor; -#endif - -public class PrefabSelector : MonoBehaviour -{ - [System.Serializable] - public class PrefabVariant - { - public List variants = new List(); - } - - public List prefabVariants = new List(); - private GameObject currentPrefab; - - // Editor variables - [HideInInspector] public int selectedPrefabIndex = 0; - [HideInInspector] public int selectedVariantIndex = 0; - public int elementsPerPage = 100; // Variable to determine how many elements to display per page - - void Start() - { - if (prefabVariants.Count > 0) - { - SwitchPrefab(selectedPrefabIndex); - } - } - - public void SwitchPrefab(int index) - { - // Destroy all existing child objects - foreach (Transform child in transform) - { - DestroyImmediate(child.gameObject); - } - - if (index >= 0 && index < prefabVariants.Count) - { - PrefabVariant selectedVariant = prefabVariants[index]; - if (selectedVariant != null && selectedVariantIndex < selectedVariant.variants.Count) - { - GameObject prefab = selectedVariant.variants[selectedVariantIndex]; - if (prefab != null) - { - currentPrefab = Instantiate(prefab, transform); - currentPrefab.transform.localPosition = Vector3.zero; // Set local position to zero - } - else - { - Debug.LogError("Prefab is null in the selected variant."); - } - } - else - { - Debug.LogError("Selected variant index is out of range for the prefab variant."); - } - } - else - { - Debug.LogError("Selected prefab index is out of range."); - } - } -} - -[CustomEditor(typeof(PrefabSelector))] -public class PrefabSelectorEditor : Editor -{ - private int currentPage = 0; - - public override void OnInspectorGUI() - { - PrefabSelector prefabSelector = (PrefabSelector)target; - - // Record object for undo purposes - Undo.RecordObject(prefabSelector, "Prefab Selection Change"); - - GUILayout.Label("Select Prefab:"); - - if (prefabSelector.prefabVariants.Count > 0) - { - int startIndex = currentPage * prefabSelector.elementsPerPage; - int endIndex = Mathf.Min((currentPage + 1) * prefabSelector.elementsPerPage, prefabSelector.prefabVariants.Count); - - for (int i = startIndex; i < endIndex; i++) - { - PrefabSelector.PrefabVariant variant = prefabSelector.prefabVariants[i]; - if (variant == null) - { - continue; // Skip null variant objects - } - - GUILayout.BeginHorizontal(); - - foreach (GameObject prefab in variant.variants) - { - if (prefab == null) - { - continue; // Skip null prefabs - } - - Texture2D texture = AssetPreview.GetAssetPreview(prefab); - if (texture == null) - { - continue; // Skip null textures - } - - Rect rect = GUILayoutUtility.GetRect(80, 80, GUILayout.Width(80), GUILayout.Height(80)); - - if (GUI.Button(rect, texture, GUIStyle.none)) - { - int index = prefabSelector.prefabVariants.IndexOf(variant); - int variantIndex = variant.variants.IndexOf(prefab); - prefabSelector.selectedPrefabIndex = index; - prefabSelector.selectedVariantIndex = variantIndex; - prefabSelector.SwitchPrefab(index); - } - - if (i == prefabSelector.selectedPrefabIndex && prefabSelector.selectedVariantIndex == variant.variants.IndexOf(prefab)) - { - GUIStyle style = new GUIStyle(); - style.normal.textColor = Color.green; - GUI.Label(new Rect(rect.x, rect.y + 60, rect.width, 20), "SELECTED", style); - } - } - - GUILayout.EndHorizontal(); - } - - // Display pagination controls - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Previous", GUILayout.Width(100))) - { - currentPage = Mathf.Max(0, currentPage - 1); - } - GUILayout.Label($"Page {currentPage + 1}"); - if (GUILayout.Button("Next", GUILayout.Width(100))) - { - currentPage = Mathf.Min((prefabSelector.prefabVariants.Count - 1) / prefabSelector.elementsPerPage, currentPage + 1); - } - GUILayout.FlexibleSpace(); - GUILayout.EndHorizontal(); - } - else - { - EditorGUILayout.HelpBox("No prefab variants available.", MessageType.Info); - } - - GUILayout.Space(10); - - // Apply changes to the serialized object - if (GUI.changed) - { - EditorUtility.SetDirty(prefabSelector); - } - - DrawDefaultInspector(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs.meta deleted file mode 100644 index 85380876c..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: ca040d13f09df5b4fa025d6b62c36869 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/Tools/PrefabSelector.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map.png.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map.png.meta index 51546efd6..b2dfbca36 100644 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map.png.meta +++ b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map.png.meta @@ -3,7 +3,7 @@ guid: 593da688805604642a4ada555b0e8124 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,17 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,36 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -120,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Editor Resources/Trigger_map.png - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map2.png.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map2.png.meta index 3c0749546..2082acdaa 100644 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map2.png.meta +++ b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Editor Resources/Trigger_map2.png.meta @@ -3,7 +3,7 @@ guid: 7059307c91d53ce46aa9ff3a07c1c3c0 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -48,18 +51,23 @@ TextureImporter: spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 2 - alphaIsTransparency: 1 + alphaUsage: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -81,36 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -120,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Editor Resources/Trigger_map2.png - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials.meta deleted file mode 100644 index 7f8760843..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d1a83f9d37868bf47bb5d949a1e1971c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat deleted file mode 100644 index c9cbe1821..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat +++ /dev/null @@ -1,78 +0,0 @@ -%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: ActiveTrigger - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _EMISSION _METALLICGLOSSMAP - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 2800000, guid: 7059307c91d53ce46aa9ff3a07c1c3c0, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 593da688805604642a4ada555b0e8124, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 593da688805604642a4ada555b0e8124, type: 3} - 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.133 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 0.722 - - _GlossyReflections: 1 - - _Metallic: 0.307 - - _Mode: 2 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 5 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 0.41981128, g: 0.52439123, b: 1, a: 1} - - _EmissionColor: {r: 0.376157, g: 0.5810474, b: 0.745283, a: 1} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat.meta deleted file mode 100644 index 532eb4f0b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ActiveTrigger.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 88ca6c9aceb08b245a0e436775de610d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Materials/ActiveTrigger.mat - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat deleted file mode 100644 index 1bff688ae..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat +++ /dev/null @@ -1,80 +0,0 @@ -%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: CShadow - m_Shader: {fileID: 4800000, guid: 4bb8101e15dd32040ab4f2ea9a97fdf5, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Opacity: 1 - - _Parallax: 0.02 - - _ShadowOpacity: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - - __dirty: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat.meta deleted file mode 100644 index 253d7af95..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/CShadow.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 6c6eda8f56f8975479e45f8e98b2b624 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Materials/CShadow.mat - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat deleted file mode 100644 index f1dde3727..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat +++ /dev/null @@ -1,102 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ZTrigger - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - GRABPASS - 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: 2800000, guid: 7059307c91d53ce46aa9ff3a07c1c3c0, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 593da688805604642a4ada555b0e8124, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 7059307c91d53ce46aa9ff3a07c1c3c0, type: 3} - 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_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.171 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.259 - - _GlossyReflections: 1 - - _LightingEnabled: 0 - - _Metallic: 0 - - _Mode: 1 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0.24659602, g: 0.8962264, b: 0.20714669, a: 1} - - _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0.4627451, g: 1.6627451, b: 0.59607846, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat.meta deleted file mode 100644 index a25183cc9..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Materials/ZTrigger.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: d5e14df18baf8fe45aee810845d1e559 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Materials/ZTrigger.mat - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts.meta deleted file mode 100644 index e0d14a264..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 119d8e8a26b8d564e86506b42311927f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements.meta deleted file mode 100644 index 3f55615a2..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 653eff23c3a487445acf31af3e715d41 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs deleted file mode 100644 index 657ea9e8f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ActiveAnim : MonoBehaviour -{ - public Animator animator; - public bool _localAuto; - private TDActiveElement activeParent; - private bool _isIn; - - public void Start() - { - // find reference for vars - activeParent = this.GetComponent(); - - // check if global auto enabled - if (activeParent.Automatic) - _localAuto = true; - } - public void Update() - { - if (activeParent.ActiveCollider.actived) - { - if (_localAuto) - { - if (activeParent.AutoOnExit) - { - //Debug.Log("Activando animacion"); - animator.SetBool("Opened", false); - animator.SetTrigger("Actived"); - } - else - { - if (!_isIn) - { - if (animator.GetBool("Opened")) - { - //Debug.Log("Activando animacion"); - animator.SetBool("Opened", false); - animator.SetTrigger("Actived"); - } - else - { - //Debug.Log("Activando animacion de salida"); - animator.SetTrigger("Actived"); - animator.SetBool("Opened", true); - } - } - } - - } - else if (Input.GetKeyDown(activeParent.ActiveElementKey)) - { - if (animator.GetBool("Opened")) - { - //Debug.Log("Activando animacion"); - animator.SetBool("Opened", false); - animator.SetTrigger("Actived"); - } - else - { - //Debug.Log("Activando animacion de salida"); - animator.SetTrigger("Actived"); - animator.SetBool("Opened", true); - } - } - _isIn = true; - } - else if (activeParent.ActiveCollider.hasexit) - { - _isIn = false; - - if(activeParent.AutoOnExit) - { - //Debug.Log("Activando animacion de salida"); - animator.SetTrigger("Actived"); - animator.SetBool("Opened", true); - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs.meta deleted file mode 100644 index 5dc8ae95f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 7129b4c41fe99114a896b3ddffdfc9e1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/ActiveElements/ActiveAnim.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs deleted file mode 100644 index a2c818b5b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ActiveColGo : MonoBehaviour -{ - public TDActiveElement activeParent; - public Collider PlayCol; - [HideInInspector] - public bool actived; - [HideInInspector] - public bool hasexit; - void OnTriggerEnter(Collider trig) - { - //find player in scene if required - if (PlayCol == null) - { - if (activeParent.UseTopDown) - PlayCol = GameObject.FindWithTag("TdLevelManager").GetComponent().PlayerChar; - else - PlayCol = GameObject.FindWithTag("Player").GetComponent(); - } - //Debug.Log("Player is " + PlayCol); - //Check character in range and keycode pressed or automatic to start action - if (trig.GetComponent() == PlayCol) - { - hasexit = false; - actived = true; - } - } - void OnTriggerExit(Collider trig) - { - if (trig.GetComponent() == PlayCol) - { - actived = false; - hasexit = true; - } - - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs.meta deleted file mode 100644 index 3f2050a2d..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ed5ecc8fb51b23a4fb5868db3c350652 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/ActiveElements/ActiveColGo.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs deleted file mode 100644 index 8fd34c2a0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ActiveEnableGo : MonoBehaviour -{ - [System.Serializable] - public class Target - { - public GameObject TargetGO; - } - public List Targets; - public bool _localAuto = false; - private TDActiveElement activeParent; - private bool _waiting; - - - void Start() - { - // find references for vars - activeParent = this.GetComponent(); - - // check if global auto enabled - if (activeParent.Automatic) - _localAuto = true; - } - - void Update() - { - // check if character hit collider - if (activeParent.ActiveCollider.actived) - { - // check if character has activated action - if(_localAuto && !_waiting || Input.GetKeyDown(activeParent.ActiveElementKey)) - { - // do action - foreach (Target tar in Targets) - { - if (tar.TargetGO.activeInHierarchy) - tar.TargetGO.SetActive(false); - else - tar.TargetGO.SetActive(true); - // on waiting state - _waiting = true; - } - } - } - // check if character is leaving scene with automode - else if (activeParent.ActiveCollider.hasexit && _waiting) - { - if (activeParent.AutoOnExit) - { - // do action - foreach (Target tar in Targets) - { - if (tar.TargetGO.activeInHierarchy) - tar.TargetGO.SetActive(false); - else - tar.TargetGO.SetActive(true); - // off waiting state - _waiting = false; - } - } - else _waiting = false; - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs.meta deleted file mode 100644 index 20b8e579e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 88af3a0fd3ea71f44ad28e579fbd1a0a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/ActiveElements/ActiveEnableGo.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs deleted file mode 100644 index a08045d1b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ActiveMaterial : MonoBehaviour -{ - [System.Serializable] - public class Target - { - public GameObject TargetGO; - public Material MaterialTarget; - public int MaterialIndex; // New variable for material index - [HideInInspector] - public Material tmpMaterial; - } - - public List Targets; - public bool OverrideMatTarget; - public bool Switched = false; - public Material OverrideMaterial; - public bool _localAuto = false; - - private TDActiveElement activeParent; - private bool _waiting = false; - - void Start() - { - // find reference for vars - activeParent = this.GetComponent(); - foreach (Target tar in Targets) - { - // Store the original material at the specified index - Renderer renderer = tar.TargetGO.GetComponent(); - if (renderer != null && tar.MaterialIndex < renderer.materials.Length) - { - tar.tmpMaterial = renderer.materials[tar.MaterialIndex]; - } - } - - // check if global auto enabled - if (activeParent.Automatic) - _localAuto = true; - } - - void Update() - { - // check if character hit collider - if (activeParent.ActiveCollider.actived) - { - // check if character has activated action - if ((_localAuto && !_waiting) || Input.GetKeyDown(activeParent.ActiveElementKey)) - { - if (!Switched) - { - foreach (Target tar in Targets) - { - Renderer renderer = tar.TargetGO.GetComponent(); - if (renderer != null && tar.MaterialIndex < renderer.materials.Length) - { - Material[] materials = renderer.materials; - if (OverrideMatTarget) - materials[tar.MaterialIndex] = OverrideMaterial; - else - materials[tar.MaterialIndex] = tar.MaterialTarget; - renderer.materials = materials; - } - } - _waiting = true; - Switched = true; - } - else - { - foreach (Target tar in Targets) - { - Renderer renderer = tar.TargetGO.GetComponent(); - if (renderer != null && tar.MaterialIndex < renderer.materials.Length) - { - Material[] materials = renderer.materials; - materials[tar.MaterialIndex] = tar.tmpMaterial; - renderer.materials = materials; - } - } - _waiting = true; - Switched = false; - } - } - } - // check if character is leaving scene with automode - else if (activeParent.ActiveCollider.hasexit && _waiting) - { - if (activeParent.AutoOnExit) - { - if (!Switched) - { - foreach (Target tar in Targets) - { - Renderer renderer = tar.TargetGO.GetComponent(); - if (renderer != null && tar.MaterialIndex < renderer.materials.Length) - { - Material[] materials = renderer.materials; - if (OverrideMatTarget) - materials[tar.MaterialIndex] = OverrideMaterial; - else - materials[tar.MaterialIndex] = tar.MaterialTarget; - renderer.materials = materials; - } - } - _waiting = false; - Switched = true; - } - else - { - foreach (Target tar in Targets) - { - Renderer renderer = tar.TargetGO.GetComponent(); - if (renderer != null && tar.MaterialIndex < renderer.materials.Length) - { - Material[] materials = renderer.materials; - materials[tar.MaterialIndex] = tar.tmpMaterial; - renderer.materials = materials; - } - } - _waiting = false; - Switched = false; - } - } - else _waiting = false; - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs.meta deleted file mode 100644 index 4a60f534d..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 26ee17356b69d174194bb0dd762b4868 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/ActiveElements/ActiveMaterial.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs deleted file mode 100644 index eaae5399a..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs +++ /dev/null @@ -1,135 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ActiveTransform : MonoBehaviour -{ - [System.Serializable] - public class Target - { - public GameObject TargetGO; - public Vector3 TranslateGO = new Vector3(0, 0, 0); - public Vector3 RotateGO = new Vector3(0, 0, 0); // Changed to Vector3 for easy editing - public bool Scalable = false; - public Vector3 ScaleGO = new Vector3(1, 1, 1); - - [HideInInspector] - public Vector3 originalTf; - [HideInInspector] - public Quaternion originalRot; - [HideInInspector] - public Vector3 differenceSc; - } - - public List Targets; - public float Duration; - public bool done; - public bool _localAuto = false; - private TDActiveElement activeParent; - private bool _ismoving = false; - private float _timer = 0f; - private float _percentage = 0f; - private bool _waitforit = false; - private bool _isIn; - private bool _isOut; - - void Start() - { - activeParent = GetComponent(); - - foreach (Target tar in Targets) - { - tar.originalTf = tar.TargetGO.transform.localPosition; - tar.originalRot = tar.TargetGO.transform.localRotation; - - if (tar.Scalable) - { - tar.differenceSc = tar.ScaleGO - tar.TargetGO.transform.localScale; - tar.ScaleGO = tar.TargetGO.transform.localScale; - } - - if (done) - { - tar.TargetGO.transform.localPosition = tar.originalTf + tar.TranslateGO; - tar.TargetGO.transform.localRotation = tar.originalRot * Quaternion.Euler(tar.RotateGO); // Apply rotation - if (tar.Scalable) - tar.TargetGO.transform.localScale = tar.ScaleGO + tar.differenceSc; - } - } - - if (activeParent.Automatic) - _localAuto = true; - } - - void Update() - { - if (activeParent.ActiveCollider.actived) - { - if (_localAuto) - { - if (!_isIn) - { - _waitforit = false; - _ismoving = true; - } - _isIn = true; - } - else if (Input.GetKeyDown(activeParent.ActiveElementKey)) - { - _ismoving = true; - _waitforit = false; - if (activeParent.AutoOnExit && !done) - _isIn = true; - } - } - else if (activeParent.ActiveCollider.hasexit) - { - if (activeParent.AutoOnExit && _isIn) - _isOut = true; - _isIn = false; - } - - if (activeParent.AutoOnExit && _isOut && !_ismoving) - { - _waitforit = false; - _ismoving = true; - _isOut = false; - } - - if (_ismoving && !_waitforit) - { - _timer += Time.deltaTime; - _percentage = done ? (1 - (_timer / Duration)) : (_timer / Duration); - - if (_percentage >= 1f) - { - _ismoving = false; - _percentage = 1f; - _timer = 0f; - done = true; - _waitforit = true; - Debug.Log("Action Completed"); - } - else if (_percentage <= 0f) - { - _ismoving = false; - _percentage = 0f; - _timer = 0f; - done = false; - _waitforit = true; - Debug.Log("Action Reversed"); - } - - foreach (Target tar in Targets) - { - tar.TargetGO.transform.localPosition = tar.originalTf + (_percentage * tar.TranslateGO); - - Quaternion targetRotation = tar.originalRot * Quaternion.Euler(tar.RotateGO); - tar.TargetGO.transform.localRotation = Quaternion.Slerp(tar.originalRot, targetRotation, _percentage); - - if (tar.Scalable) - tar.TargetGO.transform.localScale = tar.ScaleGO + (_percentage * tar.differenceSc); - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs.meta deleted file mode 100644 index ddefa3cc8..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: aeaa682032eb96740aae055af333a2c2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/ActiveElements/ActiveTransform.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor.meta deleted file mode 100644 index 592e067d0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0a7bfe27023b5ec4197a0464072370cc -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs deleted file mode 100644 index 48c5143dc..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class GroupCheck : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs.meta deleted file mode 100644 index 96bf7f7cd..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/GroupCheck.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ae1f6a038fd9c1f4dad18eb4b1f0879a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/GroupCheck.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs deleted file mode 100644 index d378d7204..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -[CustomEditor(typeof(TDActiveElement))] -public class TDActiveElementCustinspector : Editor -{ - // Start is called before the first frame update - public override void OnInspectorGUI() - { - TDActiveElement element = (TDActiveElement)target; - if (GUILayout.Button("Create Collider")) - { - element.OnCreateCollider(); - Selection.activeGameObject = element.TrigSelected; - } - - - DrawDefaultInspector(); - - //Enable or unable Gos - if (element.EnableGo) - { - //Add if required - if (element.scriptEnable == null) - { - element.gameObject.AddComponent(); - element.scriptEnable = element.GetComponent(); - } - } - else - //Delete if not required - if (element.scriptEnable != null) - DestroyImmediate(element.scriptEnable); - - //Switch materials - if (element.SwitchMaterial) - { - //Add if required - if (element.scriptMat == null) - { - element.gameObject.AddComponent(); - element.scriptMat = element.GetComponent(); - } - } - else - //Delete if not required - if (element.scriptMat != null) - DestroyImmediate(element.scriptMat); - - //Do Transform - if (element.DoTransform) - { - //Add if required - if (element.scriptTrans == null) - { - element.gameObject.AddComponent(); - element.scriptTrans = element.GetComponent(); - } - } - else - //Delete if not required - if (element.scriptTrans != null) - DestroyImmediate(element.scriptTrans); - - //Animate Go - if (element.DoAnimate) - { - //Add if required - if (element.scriptAnim == null) - { - element.gameObject.AddComponent(); - element.scriptAnim = element.GetComponent(); - } - } - else - //Delete if not required - if (element.scriptAnim != null) - DestroyImmediate(element.scriptAnim); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs.meta deleted file mode 100644 index 4780a3116..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 74066a25eb05562429890f7781203bcb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDActiveElementCustinspector.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs deleted file mode 100644 index 0c83cc526..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System.Collections; -using UnityEngine; -using UnityEditor; - -public class TDLevelCreator : ScriptableWizard -{ - public string LevelName = "Level Name"; - public int ZoneGroups = 1; - private int _enum; - - [MenuItem ("Window/DLNK/TopDownWizzard/LevelCreator")] - - static void LevelCreatorWizzard() - { - ScriptableWizard.DisplayWizard("Level Creator", "Create Level", "Update Selected"); - } - private void OnWizardCreate() - { - //set or create "TdLevelManager" tag - SerializedObject tagManager = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset")[0]); - SerializedProperty tagsProxy = tagManager.FindProperty("tags"); - string tagString = "TdLevelManager"; - //check if tag exists - bool found = false; - for (int i = 0; i < tagsProxy.arraySize; i++) - { - SerializedProperty t = tagsProxy.GetArrayElementAtIndex(i); - if (t.stringValue.Equals(tagString)) { found = true; break; } - } - //create if it doesnt - if (!found) - { - tagsProxy.InsertArrayElementAtIndex(0); - SerializedProperty sp = tagsProxy.GetArrayElementAtIndex(0); - sp.stringValue = tagString; - //Debug.Log("Tag: " + tagString + " has been added"); - tagManager.ApplyModifiedProperties(); - } - - - //create level object - GameObject levelGO = new GameObject(LevelName); - levelGO.AddComponent(); - TDLevel tDLevelComponent = levelGO.AddComponent(); - while (_enum < ZoneGroups) - { - levelGO.GetComponent().OnDo(); - _enum++; - } - - //edit level object - levelGO.tag = tagString; - - //select level - Selection.activeGameObject = levelGO; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs.meta deleted file mode 100644 index 770e78984..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDLevelCreator.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d53c755d1d31b524396da7b6e92c1056 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDLevelCreator.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs deleted file mode 100644 index cec48beee..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs +++ /dev/null @@ -1,18 +0,0 @@ -using UnityEngine; -using UnityEditor; - -[CustomEditor(typeof(TDGroup))] -public class TDgroupcustomInspector : Editor -{ - public override void OnInspectorGUI() - { - TDGroup tdGroup = (TDGroup)target; - tdGroup.zonname = GUILayout.TextField(tdGroup.zonname); - if (GUILayout.Button("Create New Zone")) - { - tdGroup.OnDo(); - } - - DrawDefaultInspector(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs.meta deleted file mode 100644 index 1dc99acac..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: bb5fbbf28acd56a48abd39863c986881 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDgroupcustomInspector.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs deleted file mode 100644 index 24299e715..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.Build.Content; - -[CustomEditor(typeof(TDLevelCreator))] -public class TDLevelCreatorCustInsp : Editor -{ - Texture2D texture; - public override void OnInspectorGUI() - { - GUILayout.Box("logoTdw.png"); - texture = (Texture2D)Resources.Load("logoTdw.png"); - EditorGUI.DrawPreviewTexture(new Rect(500, 200, 100, 100), texture); - DrawDefaultInspector(); - - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs.meta deleted file mode 100644 index 957a1ca9f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ee2e6937135bb214ea552febcaff123c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDlevelcreatorcustinsp.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs deleted file mode 100644 index cd148edb8..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs +++ /dev/null @@ -1,19 +0,0 @@ -using UnityEngine; -using UnityEditor; - -[CustomEditor(typeof(TDLevel))] -public class TDlevelcustomInspector : Editor -{ - public override void OnInspectorGUI() - { - TDLevel tdLevel = (TDLevel)target; - tdLevel.zongrup = GUILayout.TextField(tdLevel.zongrup); - if (GUILayout.Button("Create New ZoneGroup")) - { - tdLevel.OnDo(); - } - - DrawDefaultInspector(); - } -} - diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs.meta deleted file mode 100644 index b7ab2dab8..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 1c677dd4b2d23c54c8c1e0eb14739268 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDlevelcustomInspector.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs deleted file mode 100644 index 4d26e5c2e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.Build.Content; -//using Mono.Reflection; - -[CustomEditor(typeof(TDScene))] -public class TDLevelSceneCustinsp : Editor -{ - Texture texture; - public override void OnInspectorGUI() - { - //GUILayout.Space(20); - //GUI.Label(new Rect(0, 0, 100, 20), new GUIContent("image", (Resources.Load("logoTdw") as Texture), "tooltip")); - //texture = Resources.Load("logoTdw") as Texture; - //EditorGUILayout.LabelField(new GUIContent(texture), GUILayout.ExpandWidth(true), GUILayout.Height(50)); - DrawDefaultInspector(); - - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs.meta deleted file mode 100644 index 085790e82..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDscenecustinsp.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: bbe08aa66d69aa3429d8c69d12af5dc3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDscenecustinsp.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs deleted file mode 100644 index dc3595a88..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs +++ /dev/null @@ -1,59 +0,0 @@ -using UnityEngine; -using UnityEditor; - -[CustomEditor(typeof(TDZone))] -public class TDzonecustomInspector : Editor -{ - public string UpdateTrigger = "Change Trigger Visible"; - - public void Awake() - { - // Check trigger visibility - TDZone tdZone = (TDZone)target; - if (tdZone.TriggersVisibleOnEditor) - { - UpdateTrigger = "Visible Triggers"; - } - else - UpdateTrigger = "Invisible Triggers"; - } - public override void OnInspectorGUI() - { - //Set New floor Name - TDZone tdZone = (TDZone)target; - tdZone.florname = GUILayout.TextField(tdZone.florname); - //Button Create Floor - if (GUILayout.Button("Create New Floor")) - { - tdZone.OnDo(); - } - // Button Change Ceiling Materials - if (GUILayout.Button("Change Ceiling Shadow Materials")) - { - tdZone.OnCeilingTint(); - } - // Button Change Trigger Visibility - if (GUILayout.Button(UpdateTrigger)) - if (!tdZone.TriggersVisibleOnEditor) - { - tdZone.TriggersVisibleOnEditor = true; - UpdateTrigger = "Visible Triggers"; - tdZone.OnTrigUpdate(); - } - else - { - tdZone.TriggersVisibleOnEditor = false; - UpdateTrigger = "Invisible Triggers"; - tdZone.OnTrigUpdate(); - } - if (GUILayout.Button("Turn Floors Mesh Static")) - tdZone.OnStaticFloor(); - // Button Create Trigger - if (GUILayout.Button("Create New Trigger")) - { - tdZone.OnTrigCreate(); - Selection.activeGameObject = tdZone.trigerSelected; - } - DrawDefaultInspector(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs.meta deleted file mode 100644 index 7d3dd6067..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: f6c1024444370834abdf53c9d82be31f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/Editor/TDzonecustomInspector.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs deleted file mode 100644 index 139792d86..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class TDActiveElement : MonoBehaviour -{ - [Header("[Active Element Properties]")] - public bool UseTopDown = true; - public bool UseTopDownKey = true; - public KeyCode ActiveElementKey = KeyCode.E; - public ActiveColGo ActiveCollider; - public bool Automatic; - public bool AutoOnExit = true; - [Header("[Active Actions]")] - public bool EnableGo; - public ActiveEnableGo scriptEnable; - public bool SwitchMaterial; - public ActiveMaterial scriptMat; - public bool DoTransform; - public ActiveTransform scriptTrans; - public bool DoAnimate; - public ActiveAnim scriptAnim; - private TDScene tdscene; - [HideInInspector] - public GameObject TrigSelected; - - - // Start is called before the first frame update - void Start() - { - //Secure Collider as trigger - ActiveCollider.gameObject.GetComponent().isTrigger = true; - - //Check if TopDown exists in the scene - if (GameObject.FindWithTag("TdLevelManager") == null) - UseTopDown = false; - - //Link TopDown control if enabled - if (UseTopDown) - { - // find scene control component - tdscene = GameObject.FindWithTag("TdLevelManager").GetComponent(); - - // find keycode override in scene settings - if (UseTopDownKey) - ActiveElementKey = tdscene.ActiveKey; - - //Collider object visibility - if (!tdscene.VisibleTriggers) - ActiveCollider.GetComponent().enabled = false; - else - ActiveCollider.GetComponent().enabled = true; - } - else - //Collider object invisible - ActiveCollider.GetComponent().enabled = false; - } - - public void OnCreateCollider() - { - // Create object - GameObject activcol = GameObject.CreatePrimitive(PrimitiveType.Cube); - activcol.transform.parent = this.transform; - activcol.transform.position = this.transform.position; - activcol.name = "[ColliderActive]"; - activcol.AddComponent(); - activcol.GetComponent().activeParent = this; - - //Set material - activcol.GetComponent().material = GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveMat; - activcol.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; - - //Set in ActiveElement - ActiveCollider = activcol.GetComponent(); - - //Secure Collider as trigger - ActiveCollider.gameObject.GetComponent().isTrigger = true; - - //select trigger - TrigSelected = activcol; - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs.meta deleted file mode 100644 index 843031a67..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDActiveElement.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: d9648c1810e84cf419f58d369485b242 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDActiveElement.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs deleted file mode 100644 index 75718e5f1..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class TDCameraSwitchKey : MonoBehaviour -{ - public Camera Cam1; - public Camera Cam2; - public KeyCode CamSwitchKey = KeyCode.F5; - public bool UnableTopDownCam2 = false; - public bool Cam2OnStart = false; - - public void Start() - { - if (Cam1.gameObject.activeInHierarchy && Cam2.gameObject.activeInHierarchy) - { - if (!Cam2OnStart) - { - GameObject.FindWithTag("TdLevelManager").GetComponent().tdEnabled = true; - if (GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone != null) - GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone.updated = true; - Cam1.gameObject.SetActive(true); - Cam2.gameObject.SetActive(false); - } - else if (UnableTopDownCam2) - { - Cam1.gameObject.SetActive(false); - Cam2.gameObject.SetActive(true); - GameObject.FindWithTag("TdLevelManager").GetComponent().tdEnabled = false; - } - else - { - Cam1.gameObject.SetActive(false); - Cam2.gameObject.SetActive(true); - } - } - - } - void Update() - { - if (Input.GetKeyDown(CamSwitchKey)) - { - if (Cam1.gameObject.activeInHierarchy) - { - Cam1.gameObject.SetActive(false); - Cam2.gameObject.SetActive(true); - if (UnableTopDownCam2) - { - GameObject.FindWithTag("TdLevelManager").GetComponent().tdEnabled = false; - if (GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone != null) - GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone.updated = true; - } - } - else - { - Cam1.gameObject.SetActive(true); - Cam2.gameObject.SetActive(false); - if (UnableTopDownCam2) - { - GameObject.FindWithTag("TdLevelManager").GetComponent().tdEnabled = true; - if (GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone != null) - GameObject.FindWithTag("TdLevelManager").GetComponent().ActiveZone.updated = true; - } - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs.meta deleted file mode 100644 index a0a42b1de..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDCameraSwitchKey.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 5ef90d639539f60449598c0653e638e8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDCameraSwitchKey.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs deleted file mode 100644 index 08cac5c05..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -[ExecuteInEditMode] - -public class TDGroup : MonoBehaviour -{ - [System.Serializable] - public class Zone - { - [HideInInspector] - public string ZoName; - public TDZone ZoneGO; - } - public List Zones; - - [HideInInspector] - public string zonname = "Zone Name"; - - public void Update() - { - //Check if list is initialized - if (Zones == null) - Zones = new List(); - //Check if any zone deleted and remove from list - else - { - foreach (Zone zon in Zones) - { - // Remove deleted zones - if (zon.ZoneGO == null) - Zones.Remove(zon); - // Set name for list element - zon.ZoName = zon.ZoneGO.name; - } - } - } - public void OnDo() - { - //Create child zone - GameObject zoneG = new GameObject(zonname); - - //Set as child of zonegroup go - zoneG.transform.parent = this.transform; - - // Add zone script - zoneG.AddComponent(); - - //Check if list is initialized - if (Zones == null) - Zones = new List(); - - //Add zone to group list - Zone zonez = new Zone(); - zonez.ZoneGO = zoneG.GetComponent(); - Zones.Add(zonez); - zonez.ZoneGO.OnDo(); - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs.meta deleted file mode 100644 index d6b440e0f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDGroup.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: dcc591c0cbd30d74094ffdb2c66b07b5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDGroup.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs deleted file mode 100644 index 9a506b4fa..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -[ExecuteInEditMode] -public class TDLevel : MonoBehaviour -{ - [System.Serializable] - public class ZoneGroup - { - [HideInInspector] - public string GruName; - public TDGroup ZGroup; - } - public List ZoneGroups; - - [HideInInspector] - public string zongrup = "New Zone Group"; - - public void OnDo() - { - //Create gameobject for new zone - GameObject groupGO = new GameObject(zongrup); - - //Set as child of this object - groupGO.transform.parent = this.transform; - - //Add zone script - groupGO.AddComponent(); - - //Check if list is initialized - if (ZoneGroups == null) - ZoneGroups = new List(); - - //Include in zone list - ZoneGroup group = new ZoneGroup(); - group.ZGroup = groupGO.GetComponent(); - ZoneGroups.Add(group); - - //Ejecutar "crear grupo de zonas" - group.ZGroup.OnDo(); - } - public void Update() - { - //Check if list is initialized - if (ZoneGroups == null) - ZoneGroups = new List(); - else - { - foreach (ZoneGroup zong in ZoneGroups) - { - //Check if any group deleted and remove from list - if (zong.ZGroup == null) - ZoneGroups.Remove(zong); - //Set group element name - zong.GruName = zong.ZGroup.name; - } - } - } - -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs.meta deleted file mode 100644 index 1225ffe07..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDLevel.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 71415851790e57b4c8e2aed602312ad5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDLevel.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs deleted file mode 100644 index d64d6b464..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -//[ExecuteInEditMode] -public class TDScene : MonoBehaviour -{ - public bool tdEnabled = true; - public Collider PlayerChar; - public Material ZTriggerMat; - public Material ActiveMat; - public Material CeilingShadow; - [HideInInspector] - public bool isInTDZone; - [HideInInspector] - public TDZone ActiveZone; - [HideInInspector] - public float ActiveFloor; - public bool VisibleTriggers = false; - public bool OptimizeDeco = true; - [Header("Scene Control")] - public KeyCode ActiveKey = KeyCode.E; - private float previousFloor; - - // Start is called before the first frame update - void Start() - { - if ((PlayerChar) == null) - PlayerChar = GameObject.FindWithTag("Player").GetComponent(); - previousFloor = ActiveFloor; - } - - // Update is called once per frame - void Update() - { - //Tell if character has changed zone floor - if (isInTDZone) - { - if (ActiveFloor != previousFloor) - { - ActiveZone.updated = true; - previousFloor = ActiveFloor; - } - } - - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs.meta deleted file mode 100644 index f5373ec92..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDScene.cs.meta +++ /dev/null @@ -1,24 +0,0 @@ -fileFormatVersion: 2 -guid: e808a0d9bf396784d82b0913155f86cb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: - - PlayerChar: {instanceID: 0} - - ZTriggerMat: {fileID: 2100000, guid: d5e14df18baf8fe45aee810845d1e559, type: 2} - - ActiveMat: {fileID: 2100000, guid: 88ca6c9aceb08b245a0e436775de610d, type: 2} - - CeilingShadow: {fileID: 2100000, guid: 6c6eda8f56f8975479e45f8e98b2b624, type: 2} - - ActiveZone: {instanceID: 0} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDScene.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs deleted file mode 100644 index 43b422d2f..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs +++ /dev/null @@ -1,320 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -[ExecuteInEditMode] - -public class TDZone : MonoBehaviour -{ - // set up target floor for new triggers - [Header("[NEW Trigger] Floor Target")] - public float tritarg = 0f; - - // set new trigger size - [Header("[NEW Trigger] Scale")] - public Vector3 TrigerSize = new Vector3(2f,3f,2f); - - // floors list - [System.Serializable] - public class Floor - { - [HideInInspector] - public string FloorName; - public GameObject FloorGO; - public float FloorHeight; - public bool allwaysVisible = false; - public GameObject StaticFloor; - public GameObject DecoGO; - public GameObject CShadowGO; - public GameObject ActiveGO; - public GameObject LightingGO; - public GameObject ExteriorDeco; - } - [Header("[FLOORS]")] - public List Floors; - - // set new floor name - [HideInInspector] - public string florname = "Floor Name"; - - // triggers list - [System.Serializable] - public class Trigger - { - [HideInInspector] - public string Zname; - public TDZoneTrigger ZTriger; - public float TargetFloor; - public bool isExit; - } - [Header("[TRIGGERS]")] - public List Triggers; - - // set trigger parent object - [HideInInspector] - public GameObject trigfol; - //changes required - [HideInInspector] - public bool updated; - //save last trigger created to select it - [HideInInspector] - public GameObject trigerSelected; - //save tdscene - [HideInInspector] - public TDScene tdscene; - //switch triggers visibility oneditor - [HideInInspector] - public bool TriggersVisibleOnEditor = true; - - public void Start() - { - tdscene = GameObject.FindWithTag("TdLevelManager").GetComponent(); - if (Triggers == null) - Triggers = new List(); - foreach (Floor flo in Floors) - flo.CShadowGO.gameObject.SetActive(false); - } - public void Update() - { - foreach (Trigger tri in Triggers) - { - // check if any trigger deleted and remove from list - if (tri.ZTriger == null) - Triggers.Remove(tri); - // get trigger properties - tri.TargetFloor = tri.ZTriger.TargetFloor; - tri.ZTriger.TargetFloor = tri.TargetFloor; - tri.isExit = tri.ZTriger.exiTrigger; - // update trigger names (gameobject) - if (tri.ZTriger.exiTrigger) - tri.ZTriger.name = " Exterior " + tri.ZTriger.TriggerName; - else - tri.ZTriger.name = " #" + tri.TargetFloor + " " + tri.ZTriger.TriggerName; - // Name elements in list with trigger name - tri.Zname = tri.ZTriger.TriggerName; - } - - foreach (Floor flo in Floors) - { - //Check if any floor deleted and remove from list - if (flo.FloorGO == null) - Floors.Remove(flo); - // Update elements in floor list - flo.FloorName = flo.FloorGO.name; - } - } - public void OnDo() - { - //Check if list is not initialized - if (Floors == null) - { - Floors = new List(); - //create trigger parent - GameObject florT = new GameObject("Triggers"); - florT.transform.parent = this.transform; - trigfol = florT; - } - - //Create core floor childs - GameObject florG = new GameObject(Floors.Count + " #" + florname); - GameObject florS = new GameObject("StaticFloor"); - GameObject florD = new GameObject("Decoration"); - GameObject florC = new GameObject("Ceiling Shadow"); - florC.SetActive (false); - GameObject florA = new GameObject("Active Elements"); - GameObject florL = new GameObject("Lighting"); - //Create aditional floor childs - GameObject florF = new GameObject("Ground"); - GameObject florW = new GameObject("Walls"); - GameObject florE = new GameObject("Exterior Deco"); - - //Set GOs in hierachy - florG.transform.parent = this.transform; - florG.transform.localPosition = new Vector3(0,0,0); - florS.transform.parent = florG.transform; - florS.transform.localPosition = new Vector3(0, 0, 0); - florD.transform.parent = florG.transform; - florD.transform.localPosition = new Vector3(0, 0, 0); - florC.transform.parent = florG.transform; - florC.transform.localPosition = new Vector3(0, 0, 0); - florA.transform.parent = florG.transform; - florA.transform.localPosition = new Vector3(0, 0, 0); - florL.transform.parent = florG.transform; - florL.transform.localPosition = new Vector3(0, 0, 0); - florE.transform.parent = florG.transform; - florE.transform.localPosition = new Vector3(0, 0, 0); - florF.transform.parent = florS.transform; - florF.transform.localPosition = new Vector3(0, 0, 0); - florW.transform.parent = florS.transform; - florW.transform.localPosition = new Vector3(0, 0, 0); - - //Add zone to group list - Floor floorz = new Floor(); - floorz.FloorGO = florG; - floorz.FloorHeight = Floors.Count; - floorz.StaticFloor = florS; - floorz.DecoGO = florD; - floorz.CShadowGO = florC; - floorz.ActiveGO = florA; - floorz.LightingGO = florL; - floorz.ExteriorDeco = florE; - Floors.Add(floorz); - } - public void OnTrigCreate() - { - //Check if list is not initialized - if (Triggers == null) - Triggers = new List(); - - //create trigger object - GameObject zontrig = GameObject.CreatePrimitive(PrimitiveType.Cube); - zontrig.transform.parent = trigfol.transform; - zontrig.transform.localPosition = new Vector3 (0,(TrigerSize.y/2),0); - zontrig.transform.localRotation = new Quaternion (0,0,0,100); - zontrig.name = "ZoneTrigger"; - - //Compose trigger object - zontrig.AddComponent(); - //Set collider trigger - zontrig.GetComponent().isTrigger = enabled; - //Set material - zontrig.GetComponent().material = tdscene.ZTriggerMat; - zontrig.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; - //set TDZTrigger properties - zontrig.GetComponent().ParentZone = this; - zontrig.GetComponent().TargetFloor = tritarg; - zontrig.transform.localScale = TrigerSize; - - //add to list - Trigger trigz = new Trigger(); - trigz.TargetFloor = tritarg; - trigz.ZTriger = zontrig.GetComponent(); - Triggers.Add(trigz); - - //select trigger - trigerSelected = zontrig; - - } - public void OnTrigUpdate() - { - foreach (Trigger tri in Triggers) - { - // make triggers visible on editor - if (TriggersVisibleOnEditor) - tri.ZTriger.gameObject.GetComponent().enabled = true; - else - tri.ZTriger.gameObject.GetComponent().enabled = false; - } - } - public void OnCeilingTint() - { - foreach (Floor flo in Floors) - { - foreach (Transform child in flo.CShadowGO.transform) - { - child.gameObject.isStatic = false; - if (child.gameObject.GetComponent()) - child.gameObject.GetComponent().material = tdscene.CeilingShadow; - foreach (Transform children in child) - { - children.gameObject.isStatic = false; - if (children.gameObject.GetComponent()) - children.gameObject.GetComponent().material = tdscene.CeilingShadow; - foreach (Transform childs in children) - { - childs.gameObject.isStatic = false; - if (childs.gameObject.GetComponent()) - childs.gameObject.GetComponent().material = tdscene.CeilingShadow; - } - } - } - } - } - - public void OnStaticFloor() - { - foreach (Floor flo in Floors) - { - foreach (Transform child in flo.StaticFloor.transform) - { - child.gameObject.isStatic = true; - foreach (Transform children in child) - { - children.gameObject.isStatic = true; - foreach (Transform childrens in children) - { - childrens.gameObject.isStatic = true; - foreach (Transform childreno in childrens) - childreno.gameObject.isStatic = true; - } - } - - } - } - } - public void FixedUpdate() - { - //TOP DOWN Floor Control - - if (updated && tdscene.tdEnabled) - { - foreach (Floor flo in Floors) - { - if (tdscene.isInTDZone) - { - //unable static mesh, lights & active elements from upper plants - if (flo.FloorHeight > tdscene.ActiveFloor) - { - flo.StaticFloor.SetActive(false); - flo.ExteriorDeco.SetActive(false); - flo.LightingGO.SetActive(false); - flo.ActiveGO.SetActive(false); - flo.DecoGO.SetActive(false); - flo.CShadowGO.SetActive(true); - } - else - { - flo.StaticFloor.SetActive(true); - flo.ExteriorDeco.SetActive(true); - flo.LightingGO.SetActive(true); - flo.ActiveGO.SetActive(true); - flo.DecoGO.SetActive(true); - flo.CShadowGO.SetActive(false); - } - //enable ceiling shadow for actual plant - if (flo.FloorHeight == tdscene.ActiveFloor) - { - flo.CShadowGO.SetActive(true); - flo.LightingGO.SetActive(true); - } - else if (tdscene.OptimizeDeco) - flo.DecoGO.SetActive(false); - updated = false; - } - else - { - flo.StaticFloor.SetActive(true); - flo.ExteriorDeco.SetActive(true); - flo.ActiveGO.SetActive(true); - flo.DecoGO.SetActive(false); - flo.CShadowGO.SetActive(false); - flo.LightingGO.SetActive(true); - updated = false; - } - } - } - // reactiva todas las plantas al salir del sistema topdown - else if (updated) - { - foreach (Floor flo in Floors) - { - flo.StaticFloor.SetActive(true); - flo.ExteriorDeco.SetActive(true); - flo.LightingGO.SetActive(true); - flo.ActiveGO.SetActive(true); - flo.DecoGO.SetActive(true); - flo.CShadowGO.SetActive(false); - updated = false; - } - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs.meta deleted file mode 100644 index a8b8b9324..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZone.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: 046c77f016fa22345a9512ab89f408e2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDZone.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs deleted file mode 100644 index 65ff89316..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class TDZoneTrigger : MonoBehaviour -{ - public TDZone ParentZone; - public string TriggerName; - public float TargetFloor; - public bool exiTrigger; - private TDScene tdscene; - // Start is called before the first frame update - void Start() - { - //set scene manager - tdscene = GameObject.FindWithTag("TdLevelManager").GetComponent(); - //make object invisible - if (!tdscene.VisibleTriggers) - this.gameObject.GetComponent().enabled = false; - //make collider trigger (for if the flies xD) - this.gameObject.GetComponent().isTrigger = true; - } - - void OnTriggerEnter(Collider trig) - { - // Check if player has enter collider - if ((trig.GetComponent() == tdscene.PlayerChar) & !exiTrigger) - { - //check if it's entering building for update - if ((tdscene.ActiveZone == null) & tdscene.ActiveFloor == 0f) - ParentZone.updated = true; - - //warn tdscene about changes - tdscene.isInTDZone = true; - tdscene.ActiveZone = ParentZone; - tdscene.ActiveFloor = TargetFloor; - } - else if (exiTrigger) - { - //warn tdscene & parent zone about exit - tdscene.isInTDZone = false; - ParentZone.updated = true; - tdscene.ActiveZone = null; - tdscene.ActiveFloor = 0f; - } - } -} diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs.meta deleted file mode 100644 index 591361f54..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown Wizard/Source/Scripts/TDZoneTrigger.cs.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: ae515a2e8bca8904ab732034adfed4c8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Script Library]/TopDown - Wizard/Source/Scripts/TDZoneTrigger.cs - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library].meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library].meta deleted file mode 100644 index 6a1f06802..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library].meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6ec1231b05aceff4dbf707da8e2ac3a0 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders].meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders].meta deleted file mode 100644 index bc4b45f2e..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders].meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bc41a40ac32566d4aa791c24dcb6309e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature.meta deleted file mode 100644 index f4fe0e19a..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0adc554ad87786a4d86154aba7affbf8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader deleted file mode 100644 index e987abbc2..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader +++ /dev/null @@ -1,265 +0,0 @@ -// Made with Amplify Shader Editor v1.9.3.3 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "DLNK Shaders/ASE/Nature/LeavesAnim" -{ - Properties - { - [HDR]_ColorA("Color A", Color) = (0.5943396,0.5943396,0.5943396,0) - [HDR]_ColorB("Color B", Color) = (1,1,1,1) - _MainTex("Albedo", 2D) = "white" {} - _Smoothness("Smoothness", Float) = 0 - _BumpMap("Normal", 2D) = "white" {} - _Cutoff( "Mask Clip Value", Float ) = 0.5 - _NormalScale("NormalScale", Float) = 0 - _Noisespeed("Noise speed", Float) = 1 - _NoiseScale("Noise Scale", Float) = 1 - _MotionValue("MotionValue", Vector) = (0.1,0.1,0.1,0) - _LeavesGradientxy("Leaves Gradient (xy)", Vector) = (0,1,0,0) - [Toggle]_RotateMask("RotateMask", Float) = 0 - _AOPower("AO Power", Float) = 0.5 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - [HideInInspector] __dirty( "", Int ) = 1 - } - - SubShader - { - Tags{ "RenderType" = "TreeTransparentCutout" "Queue" = "Geometry+0" "IgnoreProjector" = "True" } - Cull Off - CGPROGRAM - #include "UnityShaderVariables.cginc" - #include "UnityStandardUtils.cginc" - #pragma target 3.0 - #define ASE_USING_SAMPLING_MACROS 1 - #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros - #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex.Sample(samplerTex,coord) - #else//ASE Sampling Macros - #define SAMPLE_TEXTURE2D(tex,samplerTex,coord) tex2D(tex,coord) - #endif//ASE Sampling Macros - - #pragma surface surf Standard keepalpha addshadow fullforwardshadows exclude_path:deferred dithercrossfade vertex:vertexDataFunc - struct Input - { - float3 worldPos; - float2 uv_texcoord; - }; - - uniform float _Noisespeed; - uniform float _NoiseScale; - uniform float3 _MotionValue; - uniform float _RotateMask; - uniform float2 _LeavesGradientxy; - UNITY_DECLARE_TEX2D_NOSAMPLER(_BumpMap); - uniform float4 _BumpMap_ST; - SamplerState sampler_BumpMap; - uniform float _NormalScale; - UNITY_DECLARE_TEX2D_NOSAMPLER(_MainTex); - uniform float4 _MainTex_ST; - SamplerState sampler_MainTex; - uniform float4 _ColorA; - uniform float4 _ColorB; - uniform float _Smoothness; - uniform float _AOPower; - uniform float _Cutoff = 0.5; - - - float3 mod3D289( float3 x ) { return x - floor( x / 289.0 ) * 289.0; } - - float4 mod3D289( float4 x ) { return x - floor( x / 289.0 ) * 289.0; } - - float4 permute( float4 x ) { return mod3D289( ( x * 34.0 + 1.0 ) * x ); } - - float4 taylorInvSqrt( float4 r ) { return 1.79284291400159 - r * 0.85373472095314; } - - float snoise( float3 v ) - { - const float2 C = float2( 1.0 / 6.0, 1.0 / 3.0 ); - float3 i = floor( v + dot( v, C.yyy ) ); - float3 x0 = v - i + dot( i, C.xxx ); - float3 g = step( x0.yzx, x0.xyz ); - float3 l = 1.0 - g; - float3 i1 = min( g.xyz, l.zxy ); - float3 i2 = max( g.xyz, l.zxy ); - float3 x1 = x0 - i1 + C.xxx; - float3 x2 = x0 - i2 + C.yyy; - float3 x3 = x0 - 0.5; - i = mod3D289( i); - float4 p = permute( permute( permute( i.z + float4( 0.0, i1.z, i2.z, 1.0 ) ) + i.y + float4( 0.0, i1.y, i2.y, 1.0 ) ) + i.x + float4( 0.0, i1.x, i2.x, 1.0 ) ); - float4 j = p - 49.0 * floor( p / 49.0 ); // mod(p,7*7) - float4 x_ = floor( j / 7.0 ); - float4 y_ = floor( j - 7.0 * x_ ); // mod(j,N) - float4 x = ( x_ * 2.0 + 0.5 ) / 7.0 - 1.0; - float4 y = ( y_ * 2.0 + 0.5 ) / 7.0 - 1.0; - float4 h = 1.0 - abs( x ) - abs( y ); - float4 b0 = float4( x.xy, y.xy ); - float4 b1 = float4( x.zw, y.zw ); - float4 s0 = floor( b0 ) * 2.0 + 1.0; - float4 s1 = floor( b1 ) * 2.0 + 1.0; - float4 sh = -step( h, 0.0 ); - float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; - float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; - float3 g0 = float3( a0.xy, h.x ); - float3 g1 = float3( a0.zw, h.y ); - float3 g2 = float3( a1.xy, h.z ); - float3 g3 = float3( a1.zw, h.w ); - float4 norm = taylorInvSqrt( float4( dot( g0, g0 ), dot( g1, g1 ), dot( g2, g2 ), dot( g3, g3 ) ) ); - g0 *= norm.x; - g1 *= norm.y; - g2 *= norm.z; - g3 *= norm.w; - float4 m = max( 0.6 - float4( dot( x0, x0 ), dot( x1, x1 ), dot( x2, x2 ), dot( x3, x3 ) ), 0.0 ); - m = m* m; - m = m* m; - float4 px = float4( dot( x0, g0 ), dot( x1, g1 ), dot( x2, g2 ), dot( x3, g3 ) ); - return 42.0 * dot( m, px); - } - - - void vertexDataFunc( inout appdata_full v, out Input o ) - { - UNITY_INITIALIZE_OUTPUT( Input, o ); - float2 temp_cast_0 = (_Noisespeed).xx; - float3 ase_worldPos = mul( unity_ObjectToWorld, v.vertex ); - float2 appendResult106 = (float2(ase_worldPos.y , ase_worldPos.z)); - float2 panner56 = ( 1.0 * _Time.y * temp_cast_0 + appendResult106); - float simplePerlin3D57 = snoise( float3( panner56 , 0.0 )*_NoiseScale ); - simplePerlin3D57 = simplePerlin3D57*0.5 + 0.5; - float2 temp_cast_2 = (_Noisespeed).xx; - float2 panner93 = ( 6.6 * _Time.y * temp_cast_2 + appendResult106); - float simplePerlin3D88 = snoise( float3( panner93 , 0.0 )*( 1.0 - _NoiseScale ) ); - simplePerlin3D88 = simplePerlin3D88*0.5 + 0.5; - float blendOpSrc97 = simplePerlin3D57; - float blendOpDest97 = simplePerlin3D88; - float temp_output_97_0 = ( saturate( (( blendOpDest97 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest97 ) * ( 1.0 - blendOpSrc97 ) ) : ( 2.0 * blendOpDest97 * blendOpSrc97 ) ) )); - float lerpResult83 = lerp( _MotionValue.x , -_MotionValue.x , _CosTime.z); - float lerpResult101 = lerp( _MotionValue.z , -_MotionValue.z , _CosTime.w); - float lerpResult85 = lerp( _MotionValue.y , -_MotionValue.y , _CosTime.y); - float4 appendResult64 = (float4(( temp_output_97_0 * lerpResult83 ) , ( temp_output_97_0 * lerpResult101 ) , ( temp_output_97_0 * lerpResult85 ) , 0.0)); - float temp_output_99_0 = saturate( (_LeavesGradientxy.x + ((( _RotateMask )?( v.texcoord.xy.x ):( v.texcoord.xy.y )) - 0.0) * (_LeavesGradientxy.y - _LeavesGradientxy.x) / (1.0 - 0.0)) ); - float4 lerpResult92 = lerp( float4( 0,0,0,0 ) , appendResult64 , temp_output_99_0); - v.vertex.xyz += lerpResult92.xyz; - v.vertex.w = 1; - } - - void surf( Input i , inout SurfaceOutputStandard o ) - { - float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; - o.Normal = UnpackScaleNormal( SAMPLE_TEXTURE2D( _BumpMap, sampler_BumpMap, uv_BumpMap ), _NormalScale ); - float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; - float4 tex2DNode7 = SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, uv_MainTex ); - float temp_output_99_0 = saturate( (_LeavesGradientxy.x + ((( _RotateMask )?( i.uv_texcoord.x ):( i.uv_texcoord.y )) - 0.0) * (_LeavesGradientxy.y - _LeavesGradientxy.x) / (1.0 - 0.0)) ); - float4 lerpResult49 = lerp( _ColorA , _ColorB , temp_output_99_0); - o.Albedo = ( tex2DNode7 * lerpResult49 ).rgb; - o.Smoothness = _Smoothness; - o.Occlusion = (( 1.0 - _AOPower ) + ((lerpResult49).a - 0.0) * (1.0 - ( 1.0 - _AOPower )) / (1.0 - 0.0)); - o.Alpha = 1; - clip( tex2DNode7.a - _Cutoff ); - } - - ENDCG - } - Fallback "Diffuse" - CustomEditor "DLNKShaders/Nature/LeavesAnim" -} -/*ASEBEGIN -Version=19303 -Node;AmplifyShaderEditor.WorldPosInputsNode;61;-1088,672;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;59;-912,880;Inherit;False;Property;_Noisespeed;Noise speed;7;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;60;-912,960;Inherit;False;Property;_NoiseScale;Noise Scale;8;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;106;-848,752;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;68;-1120,-128;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.Vector2Node;73;-1007.23,17.29645;Inherit;False;Property;_LeavesGradientxy;Leaves Gradient (xy);10;0;Create;True;0;0;0;False;0;False;0,1;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 -Node;AmplifyShaderEditor.PannerNode;93;-656,896;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;6.6;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.OneMinusNode;94;-624,1056;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.Vector3Node;100;-1072,384;Inherit;False;Property;_MotionValue;MotionValue;9;0;Create;False;0;0;0;False;0;False;0.1,0.1,0.1;0.1,0.1,0.1;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.PannerNode;56;-672,752;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.ToggleSwitchNode;107;-880,-288;Inherit;False;Property;_RotateMask;RotateMask;11;0;Create;True;0;0;0;False;0;False;0;True;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NegateNode;82;-754.9707,263.1711;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;98;-727.9154,-67.28079;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CosTime;87;-1104,176;Inherit;True;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.NegateNode;102;-768,528;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NegateNode;84;-784,384;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NoiseGeneratorNode;57;-448,720;Inherit;False;Simplex3D;True;False;2;0;FLOAT3;0,0,0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NoiseGeneratorNode;88;-448,816;Inherit;False;Simplex3D;True;False;2;0;FLOAT3;0,0,0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;83;-612.9706,243.171;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;50;-345.1744,-602.0415;Inherit;False;Property;_ColorA;Color A;0;1;[HDR];Create;True;0;0;0;False;0;False;0.5943396,0.5943396,0.5943396,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;51;-335.1071,-424.8551;Inherit;False;Property;_ColorB;Color B;1;1;[HDR];Create;True;0;0;0;False;0;False;1,1,1,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SaturateNode;99;-298.7416,-77.29484;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;85;-612.9706,387.171;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;101;-624,528;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.BlendOpsNode;97;-176,688;Inherit;False;Overlay;True;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;49;-118.9743,-461.2481;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;76;77.02814,-559.2891;Inherit;False;Property;_AOPower;AO Power;12;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;63;-272,288;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;-272,384;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;103;-320,528;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;16;-688.0908,131.8801;Inherit;False;Property;_NormalScale;NormalScale;6;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ComponentMaskNode;74;114.9911,-484.1711;Inherit;False;False;False;False;True;1;0;COLOR;0,0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;78;158.5382,-367.3395;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;64;-64,320;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SamplerNode;7;-688,-480;Inherit;True;Property;_MainTex;Albedo;2;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;55;-106.7086,118.1799;Inherit;False;Property;_Smoothness;Smoothness;3;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;11;-486,49.5;Inherit;True;Property;_BumpMap;Normal;4;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;48;141.9001,-270.1754;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TFHCRemapNode;79;348.3381,-446.7395;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;92;139.0153,134.4308;Inherit;False;3;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;417.2,-170.1;Float;False;True;-1;2;DLNKShaders/Nature/LeavesAnim;0;0;Standard;DLNK Shaders/ASE/Nature/LeavesAnim;False;False;False;False;False;False;False;False;False;False;False;False;True;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Custom;0.5;True;True;0;True;TreeTransparentCutout;;Geometry;ForwardOnly;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;5;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;True;17;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;16;FLOAT4;0,0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 -WireConnection;106;0;61;2 -WireConnection;106;1;61;3 -WireConnection;93;0;106;0 -WireConnection;93;2;59;0 -WireConnection;94;0;60;0 -WireConnection;56;0;106;0 -WireConnection;56;2;59;0 -WireConnection;107;0;68;2 -WireConnection;107;1;68;1 -WireConnection;82;0;100;1 -WireConnection;98;0;107;0 -WireConnection;98;3;73;1 -WireConnection;98;4;73;2 -WireConnection;102;0;100;3 -WireConnection;84;0;100;2 -WireConnection;57;0;56;0 -WireConnection;57;1;60;0 -WireConnection;88;0;93;0 -WireConnection;88;1;94;0 -WireConnection;83;0;100;1 -WireConnection;83;1;82;0 -WireConnection;83;2;87;3 -WireConnection;99;0;98;0 -WireConnection;85;0;100;2 -WireConnection;85;1;84;0 -WireConnection;85;2;87;2 -WireConnection;101;0;100;3 -WireConnection;101;1;102;0 -WireConnection;101;2;87;4 -WireConnection;97;0;57;0 -WireConnection;97;1;88;0 -WireConnection;49;0;50;0 -WireConnection;49;1;51;0 -WireConnection;49;2;99;0 -WireConnection;63;0;97;0 -WireConnection;63;1;83;0 -WireConnection;65;0;97;0 -WireConnection;65;1;85;0 -WireConnection;103;0;97;0 -WireConnection;103;1;101;0 -WireConnection;74;0;49;0 -WireConnection;78;0;76;0 -WireConnection;64;0;63;0 -WireConnection;64;1;103;0 -WireConnection;64;2;65;0 -WireConnection;11;5;16;0 -WireConnection;48;0;7;0 -WireConnection;48;1;49;0 -WireConnection;79;0;74;0 -WireConnection;79;3;78;0 -WireConnection;92;1;64;0 -WireConnection;92;2;99;0 -WireConnection;0;0;48;0 -WireConnection;0;1;11;0 -WireConnection;0;4;55;0 -WireConnection;0;5;79;0 -WireConnection;0;10;7;4 -WireConnection;0;11;92;0 -ASEEND*/ -//CHKSM=F82E8F4FC9DC5626EB7F223B8AC4D54DB5997286 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader.meta deleted file mode 100644 index f5bb268f0..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/LeavesAnim.shader.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 1943d357ba4d6c8438f2b80309da5570 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE - Shaders]/Nature/LeavesAnim.shader - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader deleted file mode 100644 index c5975cf1b..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader +++ /dev/null @@ -1,234 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.3 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "DLNK Shaders/ASE/Nature/WaterSimple" -{ - Properties - { - _UVScale("UVScale", Float) = 1 - _ColorA("Color A", Color) = (0.2971698,0.6247243,1,0) - _ColorB("Color B", Color) = (0.09838911,0.1034623,0.3113208,0) - _NormalA("Normal A", 2D) = "bump" {} - _NormalB("Normal B", 2D) = "bump" {} - _NormalScale("NormalScale", Float) = 1 - _SpecXYSnsZW("Spec(XY)Sns(ZW)", Vector) = (0.1,0,0.5,0.2) - _VelocityXYFoamZ("Velocity(XY)Foam(Z)", Vector) = (0.03,-0.05,0.04,0) - _Depth("Depth", Float) = 0.9 - _Falloff("Falloff", Float) = -3 - _Distorsion("Distorsion", Float) = 0.1 - _ColorFoam("ColorFoam", Color) = (0.9386792,0.9671129,1,0) - _FoamMask("FoamMask", 2D) = "white" {} - _FoamTiling("FoamTiling", Float) = 1 - _FoamDepth("FoamDepth", Float) = 0.9 - _FoamFalloff("FoamFalloff", Float) = -3 - [HideInInspector] __dirty( "", Int ) = 1 - } - - SubShader - { - Tags{ "RenderType" = "Opaque" "Queue" = "Transparent+0" "IgnoreProjector" = "True" } - Cull Back - AlphaToMask On - GrabPass{ } - CGPROGRAM - #include "UnityStandardUtils.cginc" - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #pragma target 3.0 - #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) - #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex); - #else - #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex) - #endif - #pragma surface surf StandardSpecular keepalpha - struct Input - { - float3 worldPos; - float4 screenPos; - }; - - uniform sampler2D _NormalA; - uniform half3 _VelocityXYFoamZ; - uniform half _UVScale; - uniform half _NormalScale; - uniform sampler2D _NormalB; - uniform half4 _ColorA; - uniform half4 _ColorB; - UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture ); - uniform float4 _CameraDepthTexture_TexelSize; - uniform half _Depth; - uniform half _Falloff; - uniform half4 _ColorFoam; - uniform half _FoamDepth; - uniform half _FoamFalloff; - uniform sampler2D _FoamMask; - uniform half _FoamTiling; - ASE_DECLARE_SCREENSPACE_TEXTURE( _GrabTexture ) - uniform half _Distorsion; - uniform half4 _SpecXYSnsZW; - - - inline float4 ASE_ComputeGrabScreenPos( float4 pos ) - { - #if UNITY_UV_STARTS_AT_TOP - float scale = -1.0; - #else - float scale = 1.0; - #endif - float4 o = pos; - o.y = pos.w * 0.5f; - o.y = ( pos.y - o.y ) * _ProjectionParams.x * scale + o.y; - return o; - } - - - void surf( Input i , inout SurfaceOutputStandardSpecular o ) - { - half2 temp_cast_0 = (_VelocityXYFoamZ.x).xx; - float3 ase_worldPos = i.worldPos; - half4 appendResult34 = (half4(ase_worldPos.x , ase_worldPos.z , 0.0 , 0.0)); - half4 temp_output_35_0 = ( appendResult34 * _UVScale ); - half2 panner12 = ( 1.0 * _Time.y * temp_cast_0 + temp_output_35_0.xy); - half2 temp_cast_2 = (_VelocityXYFoamZ.y).xx; - half2 panner13 = ( 1.0 * _Time.y * temp_cast_2 + temp_output_35_0.xy); - half3 temp_output_17_0 = BlendNormals( UnpackScaleNormal( tex2D( _NormalA, panner12 ), _NormalScale ) , UnpackScaleNormal( tex2D( _NormalB, panner13 ), _NormalScale ) ); - o.Normal = temp_output_17_0; - float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 ); - float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - half eyeDepth3 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy )); - half temp_output_5_0 = abs( ( eyeDepth3 - ase_screenPos.w ) ); - half temp_output_10_0 = saturate( pow( ( temp_output_5_0 + _Depth ) , _Falloff ) ); - half4 lerpResult27 = lerp( _ColorA , _ColorB , temp_output_10_0); - half2 temp_cast_4 = (_VelocityXYFoamZ.z).xx; - half2 panner61 = ( 1.0 * _Time.y * temp_cast_4 + ( temp_output_35_0 * _FoamTiling ).xy); - half temp_output_63_0 = ( saturate( pow( ( temp_output_5_0 + _FoamDepth ) , _FoamFalloff ) ) * tex2D( _FoamMask, panner61 ).r ); - half4 lerpResult64 = lerp( lerpResult27 , _ColorFoam , temp_output_63_0); - float4 ase_grabScreenPos = ASE_ComputeGrabScreenPos( ase_screenPos ); - half4 ase_grabScreenPosNorm = ase_grabScreenPos / ase_grabScreenPos.w; - half4 screenColor43 = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_GrabTexture,( half3( (ase_grabScreenPosNorm).xy , 0.0 ) + ( temp_output_17_0 * _Distorsion ) ).xy); - half4 lerpResult44 = lerp( lerpResult64 , screenColor43 , temp_output_10_0); - o.Albedo = lerpResult44.rgb; - half lerpResult67 = lerp( _SpecXYSnsZW.x , _SpecXYSnsZW.y , temp_output_63_0); - half3 temp_cast_9 = (lerpResult67).xxx; - o.Specular = temp_cast_9; - half lerpResult68 = lerp( _SpecXYSnsZW.z , _SpecXYSnsZW.w , temp_output_63_0); - o.Smoothness = lerpResult68; - o.Alpha = 1; - } - - ENDCG - } - Fallback "Diffuse" - CustomEditor "ASEMaterialInspector" -} -/*ASEBEGIN -Version=19103 -Node;AmplifyShaderEditor.ScreenPosInputsNode;2;-525.4226,88.02217;Float;False;0;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.WorldPosInputsNode;33;-721.8076,590.5832;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.ScreenPosInputsNode;1;-527.4226,262.0221;Float;False;1;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ScreenDepthNode;3;-524.4226,5.022179;Inherit;False;0;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;36;-539.2219,722.4264;Inherit;False;Property;_UVScale;UVScale;0;0;Create;True;0;0;0;False;0;False;1;0.02;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;34;-538.2219,572.4264;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;4;-287.4228,49.02216;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.Vector3Node;62;-531.2057,824.3724;Inherit;False;Property;_VelocityXYFoamZ;Velocity(XY)Foam(Z);7;0;Create;True;0;0;0;False;0;False;0.03,-0.05,0.04;0.02,0.01,0.02;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;35;-380.2219,622.4264;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;70;-459.6713,1019.83;Inherit;False;Property;_FoamTiling;FoamTiling;13;0;Create;True;0;0;0;False;0;False;1;0.2;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;12;-17.80053,319.5826;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.PannerNode;13;-23.10339,473.3041;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.RangedFloatNode;26;-14.10339,615.3041;Inherit;False;Property;_NormalScale;NormalScale;5;0;Create;True;0;0;0;False;0;False;1;-0.05;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;7;-103.943,160.8063;Inherit;False;Property;_Depth;Depth;8;0;Create;True;0;0;0;False;0;False;0.9;-4.05;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.AbsOpNode;5;-277.4228,147.0222;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;55;-118.2469,903.2474;Inherit;False;Property;_FoamDepth;FoamDepth;14;0;Create;True;0;0;0;False;0;False;0.9;0.25;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;56;38.63753,897.5466;Inherit;False;Property;_FoamFalloff;FoamFalloff;15;0;Create;True;0;0;0;False;0;False;-3;2.16;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;69;-292.6713,981.8298;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;6;-84.44211,59.47009;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;9;52.94149,155.1055;Inherit;False;Property;_Falloff;Falloff;9;0;Create;True;0;0;0;False;0;False;-3;-0.66;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;57;-98.74604,801.9112;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;25;153.8966,451.3041;Inherit;True;Property;_NormalB;Normal B;4;0;Create;True;0;0;0;False;0;False;-1;None;e2f18ab7277462641b30501d47d3d715;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;21;151.4966,261.604;Inherit;True;Property;_NormalA;Normal A;3;0;Create;True;0;0;0;False;0;False;-1;None;56c1ddb3fe77bb94c8009ccb7909c80f;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GrabScreenPosition;37;15.2009,-639.9988;Inherit;False;0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.PowerNode;8;53.47051,54.2658;Inherit;False;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PowerNode;58;39.16655,796.7069;Inherit;False;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;42;120.1355,-461.7363;Inherit;False;Property;_Distorsion;Distorsion;10;0;Create;True;0;0;0;False;0;False;0.1;0.21;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.BlendNormalsNode;17;446.8966,387.3041;Inherit;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.PannerNode;61;-163.2056,1017.173;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.ColorNode;28;-34.22198,-361.5736;Inherit;False;Property;_ColorA;Color A;1;0;Create;True;0;0;0;False;0;False;0.2971698,0.6247243,1,0;0.490566,0.490566,0.490566,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;60;56.99449,998.5726;Inherit;True;Property;_FoamMask;FoamMask;12;0;Create;True;0;0;0;False;0;False;-1;None;995c42895c800734c89637a265e4a774;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;308.5119,-536.3284;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ComponentMaskNode;39;231.3911,-619.7705;Inherit;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SaturateNode;59;208.6602,890.1505;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;29;-31.47352,-184.2734;Inherit;False;Property;_ColorB;Color B;2;0;Create;True;0;0;0;False;0;False;0.09838911,0.1034623,0.3113208,0;0.5424528,0.5509259,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SaturateNode;10;203.4642,51.50956;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;63;395.6944,950.4725;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;65;206.3709,-142.317;Inherit;False;Property;_ColorFoam;ColorFoam;11;0;Create;True;0;0;0;False;0;False;0.9386792,0.9671129,1,0;0.3260057,0.5170462,0.6226414,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;27;267.0054,-309.5601;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;40;476.6599,-599.5419;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ScreenColorNode;43;608.1441,-633.6773;Inherit;False;Global;_GrabScreen1;Grab Screen 1;9;0;Create;True;0;0;0;False;0;False;Object;-1;False;False;False;False;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;64;529.1179,-180.1812;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.Vector4Node;66;560.9224,513.2822;Inherit;False;Property;_SpecXYSnsZW;Spec(XY)Sns(ZW);6;0;Create;True;0;0;0;False;0;False;0.1,0,0.5,0.2;0.58,0.42,0.98,0.7;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;67;768.2148,79.30556;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;44;817.1596,-251.1686;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;68;771.035,261.1941;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1004.598,-75.80824;Half;False;True;-1;2;ASEMaterialInspector;0;0;StandardSpecular;DLNK Shaders/ASE/Nature/WaterSimple;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Translucent;0.5;True;False;0;False;Opaque;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;True;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 -WireConnection;3;0;2;0 -WireConnection;34;0;33;1 -WireConnection;34;1;33;3 -WireConnection;4;0;3;0 -WireConnection;4;1;1;4 -WireConnection;35;0;34;0 -WireConnection;35;1;36;0 -WireConnection;12;0;35;0 -WireConnection;12;2;62;1 -WireConnection;13;0;35;0 -WireConnection;13;2;62;2 -WireConnection;5;0;4;0 -WireConnection;69;0;35;0 -WireConnection;69;1;70;0 -WireConnection;6;0;5;0 -WireConnection;6;1;7;0 -WireConnection;57;0;5;0 -WireConnection;57;1;55;0 -WireConnection;25;1;13;0 -WireConnection;25;5;26;0 -WireConnection;21;1;12;0 -WireConnection;21;5;26;0 -WireConnection;8;0;6;0 -WireConnection;8;1;9;0 -WireConnection;58;0;57;0 -WireConnection;58;1;56;0 -WireConnection;17;0;21;0 -WireConnection;17;1;25;0 -WireConnection;61;0;69;0 -WireConnection;61;2;62;3 -WireConnection;60;1;61;0 -WireConnection;41;0;17;0 -WireConnection;41;1;42;0 -WireConnection;39;0;37;0 -WireConnection;59;0;58;0 -WireConnection;10;0;8;0 -WireConnection;63;0;59;0 -WireConnection;63;1;60;1 -WireConnection;27;0;28;0 -WireConnection;27;1;29;0 -WireConnection;27;2;10;0 -WireConnection;40;0;39;0 -WireConnection;40;1;41;0 -WireConnection;43;0;40;0 -WireConnection;64;0;27;0 -WireConnection;64;1;65;0 -WireConnection;64;2;63;0 -WireConnection;67;0;66;1 -WireConnection;67;1;66;2 -WireConnection;67;2;63;0 -WireConnection;44;0;64;0 -WireConnection;44;1;43;0 -WireConnection;44;2;10;0 -WireConnection;68;0;66;3 -WireConnection;68;1;66;4 -WireConnection;68;2;63;0 -WireConnection;0;0;44;0 -WireConnection;0;1;17;0 -WireConnection;0;3;67;0 -WireConnection;0;4;68;0 -ASEEND*/ -//CHKSM=E8ECF73B806129EFA0FDE853D3424EA34237BA90 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader.meta deleted file mode 100644 index 92d821033..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Nature/WaterSimple.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 0ca99028c518f3548b42ee032a9648a0 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE - Shaders]/Nature/WaterSimple.shader - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special.meta deleted file mode 100644 index 60dfd8855..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4424c55a4314a92428a9276f24d83b69 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader deleted file mode 100644 index 872e63e46..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader +++ /dev/null @@ -1,125 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "DLNK Shaders/ASE/Special/TransparentShadow" -{ - Properties - { - _ShadowOpacity("Shadow Opacity", Range( 0 , 1)) = 0 - [HideInInspector] __dirty( "", Int ) = 1 - } - - SubShader - { - Pass - { - ColorMask 0 - ZTest Always - ZWrite On - } - - Tags{ "RenderType" = "Transparent" "Queue" = "Overlay+0" "IgnoreProjector" = "True" } - Cull Back - ZWrite Off - ZTest Less - Blend SrcAlpha OneMinusSrcAlpha - - CGINCLUDE - #include "UnityPBSLighting.cginc" - #include "Lighting.cginc" - #pragma target 3.0 - struct Input - { - half filler; - }; - - uniform float _ShadowOpacity; - - inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten ) - { - return half4 ( 0, 0, 0, s.Alpha ); - } - - void surf( Input i , inout SurfaceOutput o ) - { - o.Alpha = _ShadowOpacity; - } - - ENDCG - CGPROGRAM - #pragma surface surf Unlit keepalpha fullforwardshadows - - ENDCG - Pass - { - Name "ShadowCaster" - Tags{ "LightMode" = "ShadowCaster" } - ZWrite On - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma target 3.0 - #pragma multi_compile_shadowcaster - #pragma multi_compile UNITY_PASS_SHADOWCASTER - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #include "HLSLSupport.cginc" - #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) - #define CAN_SKIP_VPOS - #endif - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" - sampler3D _DitherMaskLOD; - struct v2f - { - V2F_SHADOW_CASTER; - float3 worldPos : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - v2f vert( appdata_full v ) - { - v2f o; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_INITIALIZE_OUTPUT( v2f, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; - half3 worldNormal = UnityObjectToWorldNormal( v.normal ); - o.worldPos = worldPos; - TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) - return o; - } - half4 frag( v2f IN - #if !defined( CAN_SKIP_VPOS ) - , UNITY_VPOS_TYPE vpos : VPOS - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - Input surfIN; - UNITY_INITIALIZE_OUTPUT( Input, surfIN ); - float3 worldPos = IN.worldPos; - half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); - SurfaceOutput o; - UNITY_INITIALIZE_OUTPUT( SurfaceOutput, o ) - surf( surfIN, o ); - #if defined( CAN_SKIP_VPOS ) - float2 vpos = IN.pos; - #endif - half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; - clip( alphaRef - 0.01 ); - SHADOW_CASTER_FRAGMENT( IN ) - } - ENDCG - } - } - Fallback "Diffuse" - CustomEditor "ASEMaterialInspector" -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.StandardSurfaceOutputNode;16;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Unlit;DLNK Shaders/ASE/Special/TransparentShadow;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;2;False;;1;False;;False;-3.84;False;;0;False;;True;7;Custom;0.5;True;True;0;True;Transparent;;Overlay;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;2;5;False;;10;False;;0;1;False;;1;False;;0;False;;5;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 -Node;AmplifyShaderEditor.RangedFloatNode;17;-364.9358,175.2345;Inherit;False;Property;_ShadowOpacity;Shadow Opacity;0;0;Create;True;0;0;0;False;0;False;0;1;0;1;0;1;FLOAT;0 -WireConnection;16;9;17;0 -ASEEND*/ -//CHKSM=56FEBDDED545045BD3B12B5CF249F8BC1C879DE6 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader.meta b/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader.meta deleted file mode 100644 index c9da78137..000000000 --- a/Assets/Resources/Background/@야외/도시C/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE Shaders]/Special/TransShadow.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 4bb8101e15dd32040ab4f2ea9a97fdf5 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 118580 - packageName: SciFi Neon City - packageVersion: 1.3.1 - assetPath: Assets/_DLNK/_DLNK Source/_DLNK Libraries/[dlnk Shader Library]/[ASE - Shaders]/Special/TransShadow.shader - uploadId: 708031 diff --git a/Assets/Resources/Background/@야외/자연01/Shaders.meta b/Assets/Resources/Background/@야외/자연01/Shaders.meta deleted file mode 100644 index e14429c53..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 479676d25f1e63f4a8017de8b02005ee -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader deleted file mode 100644 index 9856be98e..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader +++ /dev/null @@ -1,1856 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_Board_Cutout" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _ColorOverlay("Color Overlay", Color) = (0,0,0,0) - _TextureSample0("Texture Sample 0", 2D) = "white" {} - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha - ZWrite Off - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #define _SURFACE_TYPE_TRANSPARENT 1 - #pragma multi_compile_fog - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = input.ase_texcoord4.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = _ColorOverlay.rgb; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = input.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = input.ase_texcoord3.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample0 = input.ase_texcoord.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - surfaceDescription.Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample0 = input.ase_texcoord.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - surfaceDescription.Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float2 uv_TextureSample0 = input.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorOverlay; - float4 _TextureSample0_ST; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.SamplerNode;2;-472.39,191.8377;Inherit;True;Property;_TextureSample0;Texture Sample 0;1;0;Create;True;0;0;0;False;0;False;-1;None;6ed51097af3095345830ab046ef59e60;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.ColorNode;1;-447.39,-16.16232;Inherit;False;Property;_ColorOverlay;Color Overlay;0;0;Create;True;0;0;0;False;0;False;0,0,0,0;0.3901744,0.5591409,0.6037736,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;3;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;5;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;6;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;7;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;8;0,50;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;5;False;;10;False;;1;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;9;0,50;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;10;0,50;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;11;0,50;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;12;0,50;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;4;-7,61;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_Board_Cutout;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;5;False;;10;False;;1;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;1;637819911840486477; Blend;0;0;Two Sided;1;0;Forward Only;1;638418259872307491;Alpha Clipping;1;0; Use Shadow Threshold;0;637988379129486776;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637988378453912002;Built-in Fog;1;637824121803760984;Meta Pass;0;637988378952579484;Extra Pre Pass;0;637988379043416056;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;13;-7,161;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;4;2;1;0 -WireConnection;4;3;2;4 -ASEEND*/ -//CHKSM=D85AED4DF319E03C8BDCCCE71F531925422C1A50 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader.meta deleted file mode 100644 index 598054514..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_Board_Cutout.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c407b5040ed606646b1e1b4e8adaf666 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader deleted file mode 100644 index 1a879e9f3..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader +++ /dev/null @@ -1,2185 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_CustomGrass" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _TextureSample1("Texture Sample 1", 2D) = "white" {} - _Color1("Color 1", Color) = (0,0,0,1) - _Color2("Color 2", Color) = (1,1,1,0) - _Color1Level("Color 1 Level", Range( 0 , 1)) = 0.35 - _WindNoiseTexture("Wind Noise Texture", 2D) = "white" {} - _WindScroll("Wind Scroll", Range( 0 , 1)) = 0.1 - _WindJitter("Wind Jitter", Range( 0 , 1)) = 0.1 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _LIGHT_LAYERS - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - half4 CalculateShadowMask216_g2( ) - { - #if defined(SHADOWS_SHADOWMASK) && defined(LIGHTMAP_ON) - half4 shadowMask = inputData.shadowMask; - #elif !defined (LIGHTMAP_ON) - half4 shadowMask = unity_ProbesOcclusion; - #else - half4 shadowMask = half4(1, 1, 1, 1); - #endif - return shadowMask; - } - - float3 AdditionalLightsFlatMask17x( float3 WorldPosition, float2 ScreenUV, float4 ShadowMask ) - { - float3 Color = 0; - #if defined(_ADDITIONAL_LIGHTS) - #define SUM_LIGHTFLAT(Light)\ - Color += Light.color * ( Light.distanceAttenuation * Light.shadowAttenuation ); - InputData inputData = (InputData)0; - inputData.normalizedScreenSpaceUV = ScreenUV; - inputData.positionWS = WorldPosition; - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - LIGHT_LOOP_END - #endif - return Color; - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(input.normalOS); - OUTPUT_LIGHTMAP_UV( input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy ); - #if !defined( OUTPUT_SH4 ) - OUTPUT_SH( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #elif UNITY_VERSION > 60000009 - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - #else - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #endif - output.ase_texcoord6.xyz = ase_worldNormal; - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - output.ase_texcoord6.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - output.texcoord1 = input.texcoord1; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 worldPosValue184_g2 = WorldPosition; - float3 WorldPosition175_g2 = worldPosValue184_g2; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 ScreenUV183_g2 = (ase_screenPosNorm).xy; - float2 ScreenUV175_g2 = ScreenUV183_g2; - half4 localCalculateShadowMask216_g2 = CalculateShadowMask216_g2(); - float4 shadowMaskValue182_g2 = localCalculateShadowMask216_g2; - float4 ShadowMask175_g2 = shadowMaskValue182_g2; - float3 localAdditionalLightsFlatMask17x175_g2 = AdditionalLightsFlatMask17x( WorldPosition175_g2 , ScreenUV175_g2 , ShadowMask175_g2 ); - float3 temp_output_189_0 = localAdditionalLightsFlatMask17x175_g2; - float ase_lightIntensity = max( max( _MainLightColor.r, _MainLightColor.g ), _MainLightColor.b ); - float4 ase_lightColor = float4( _MainLightColor.rgb / ase_lightIntensity, ase_lightIntensity ); - float ase_lightAtten = 0; - Light ase_mainLight = GetMainLight( ShadowCoords ); - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 temp_output_192_0 = ( ase_lightColor.rgb * ase_lightColor.a * ase_lightAtten ); - float2 uv_TextureSample1 = input.ase_texcoord4.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - float3 ase_worldNormal = input.ase_texcoord6.xyz; - float3 bakedGI207 = ASEIndirectDiffuse( input.lightmapUVOrVertexSH.xy, ase_worldNormal); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI207, half4(0,0,0,0)); - float2 texCoord128 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float4 lerpResult119 = lerp( ( _Color2 * tex2DNode197 ) , ( tex2DNode197 * _Color1 ) , saturate( ( texCoord128.y + (-1.0 + (_Color1Level - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) )); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( ( ( max( max( temp_output_189_0.x , 0.0 ) , 0.0 ) + max( max( temp_output_192_0.x , 0.0 ) , 0.0 ) ) * ( float4( temp_output_192_0 , 0.0 ) * tex2DNode197 ) ) + ( float4( temp_output_189_0 , 0.0 ) * tex2DNode197 ) + ( tex2DNode197 * float4( bakedGI207 , 0.0 ) ) ) * lerpResult119 ).rgb; - float Alpha = tex2DNode197.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample1 = input.ase_texcoord2.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - - - float Alpha = tex2DNode197.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample1 = input.ase_texcoord3.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - - - float Alpha = tex2DNode197.a; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample1 = input.ase_texcoord.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - - - surfaceDescription.Alpha = tex2DNode197.a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample1 = input.ase_texcoord.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - - - surfaceDescription.Alpha = tex2DNode197.a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample1; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float2 uv_TextureSample1 = input.ase_texcoord2.xy * _TextureSample1_ST.xy + _TextureSample1_ST.zw; - float4 tex2DNode197 = tex2D( _TextureSample1, uv_TextureSample1 ); - - - float Alpha = tex2DNode197.a; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample1_ST; - float4 _Color2; - float4 _Color1; - float _WindScroll; - float _WindJitter; - float _Color1Level; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.RangedFloatNode;64;-1241.676,-1144.067;Inherit;False;Property;_WindScroll;Wind Scroll;5;0;Create;True;0;0;0;False;0;False;0.1;0.2;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;59;-1066.693,-1414.237;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;77;-1225.79,-799.3407;Inherit;False;Property;_WindJitter;Wind Jitter;6;0;Create;True;0;0;0;False;0;False;0.1;0.2;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;80;-901.1575,-1156.093;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.3;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;62;-799.6764,-1258.067;Inherit;False;Constant;_NoiseSize;Noise Size;3;0;Create;True;0;0;0;False;0;False;0.1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;66;-811.6764,-973.0664;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;60;-787.6933,-1430.236;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TFHCRemapNode;79;-900.9136,-806.6161;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;61;-604.6763,-1420.066;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;-595.2882,-1119.007;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;63;-360.676,-1412.066;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;76;-599.5593,-894.8896;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;73;-358.9194,-1133.802;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;2,2;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SamplerNode;67;-57.07164,-1437.61;Inherit;True;Property;_WindNoiseTexture;Wind Noise Texture;4;0;Create;True;0;0;0;False;0;False;-1;None;41d01fe6e8db970449385e7f43d4aa06;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.PannerNode;74;-185.8192,-1133.102;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.PowerNode;72;340.3536,-1379.759;Inherit;False;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;2.5;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;75;22.18083,-1134.102;Inherit;True;Property;_TextureSample0;Texture Sample 0;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;67;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;78;552.2846,-1234.325;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.VertexColorNode;83;451.3878,-1058.612;Inherit;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;84;806.3055,-1178.152;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;68;1040.256,-1194.504;Inherit;False;WindScroll;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;210;1025.054,417.0539;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;192;-559.0673,-143.4961;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;202;-385.4369,-383.1905;Inherit;False;FLOAT;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;194;509.4152,133.1099;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;188;-87.23202,-233.8265;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;208;-6.832106,129.1795;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;196;1.48997,13.79781;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;191;-84.58799,-359.993;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;206;786.4475,284.7292;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;130;-648.8888,986.9116;Inherit;False;Property;_Color1Level;Color 1 Level;3;0;Create;True;0;0;0;False;0;False;0.35;0.646;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;134;1007.183,664.238;Inherit;False;68;WindScroll;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;197;-474.9335,337.8548;Inherit;True;Property;_TextureSample1;Texture Sample 1;0;0;Create;True;0;0;0;False;0;False;-1;None;4b71b8645d49baf4f9f7c2b20f1564fd;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMaxOpNode;195;-221.2359,-382.8419;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;186;-384.4956,-265.8265;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;117;-15.3926,429.0732;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;200;-215.2317,-265.8266;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;132;-352.9576,991.0992;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-1;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;209;1019.171,573.546;Inherit;False;Constant;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;110;-389.0243,160.5326;Inherit;False;Property;_Color2;Color 2;2;0;Create;True;0;0;0;False;0;False;1,1,1,0;0.3867925,0.3081366,0.2098166,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.TextureCoordinatesNode;128;-387.9144,853.3092;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;129;-102.3835,934.0405;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;131;27.04105,934.9291;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;189;-1382.045,-70.91926;Inherit;False;SRP Additional Light;-1;;2;6c86746ad131a0a408ca599df5f40861;3,6,0,9,0,23,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;199;-12.67366,562.5317;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;116;-11.22601,242.5644;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;203;127.5955,-247.9762;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;112;-386.5392,544.8177;Inherit;False;Property;_Color1;Color 1;1;0;Create;True;0;0;0;False;0;False;0,0,0,1;0.5188679,0.4480194,0.3353061,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.LerpOp;119;337.5606,327.9827;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;193;-786.0226,-32.60654;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;198;-764.8233,-161.647;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;207;-399.7655,750.0784;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;211;1341.84,544.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;212;1341.84,544.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;213;1341.84,544.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;214;1341.84,544.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;181;1423.71,-316.0227;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;180;1423.71,-316.0227;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;182;1423.71,-316.0227;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;178;1423.71,-316.0227;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;179;1341.84,494.6588;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_CustomGrass;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;0;637949808847587139; Blend;0;0;Two Sided;1;0;Forward Only;1;638418255193940421;Alpha Clipping;1;0; Use Shadow Threshold;0;0;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637949808615092113;Built-in Fog;1;637949808618922783;Meta Pass;0;637988380267403812;Extra Pre Pass;0;0;Tessellation;0;637988423080991415; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;215;1341.84,544.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;216;1341.84,594.6588;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;80;0;64;0 -WireConnection;60;0;59;1 -WireConnection;60;1;59;3 -WireConnection;79;0;77;0 -WireConnection;61;0;60;0 -WireConnection;61;1;62;0 -WireConnection;65;0;80;0 -WireConnection;65;1;66;0 -WireConnection;63;0;61;0 -WireConnection;63;1;65;0 -WireConnection;76;0;66;0 -WireConnection;76;1;79;0 -WireConnection;73;0;61;0 -WireConnection;67;1;63;0 -WireConnection;74;0;73;0 -WireConnection;74;1;76;0 -WireConnection;72;0;67;0 -WireConnection;75;1;74;0 -WireConnection;78;0;72;0 -WireConnection;78;1;75;0 -WireConnection;84;0;78;0 -WireConnection;84;1;83;0 -WireConnection;68;0;84;0 -WireConnection;210;0;206;0 -WireConnection;210;1;119;0 -WireConnection;192;0;198;1 -WireConnection;192;1;198;2 -WireConnection;192;2;193;0 -WireConnection;202;0;189;0 -WireConnection;194;0;203;0 -WireConnection;194;1;196;0 -WireConnection;188;0;200;0 -WireConnection;208;0;189;0 -WireConnection;208;1;197;0 -WireConnection;196;0;192;0 -WireConnection;196;1;197;0 -WireConnection;191;0;195;0 -WireConnection;206;0;194;0 -WireConnection;206;1;208;0 -WireConnection;206;2;199;0 -WireConnection;195;0;202;0 -WireConnection;186;0;192;0 -WireConnection;117;0;197;0 -WireConnection;117;1;112;0 -WireConnection;200;0;186;0 -WireConnection;132;0;130;0 -WireConnection;129;0;128;2 -WireConnection;129;1;132;0 -WireConnection;131;0;129;0 -WireConnection;199;0;197;0 -WireConnection;199;1;207;0 -WireConnection;116;0;110;0 -WireConnection;116;1;197;0 -WireConnection;203;0;191;0 -WireConnection;203;1;188;0 -WireConnection;119;0;116;0 -WireConnection;119;1;117;0 -WireConnection;119;2;131;0 -WireConnection;179;2;210;0 -WireConnection;179;3;197;4 -WireConnection;179;4;209;0 -WireConnection;179;5;134;0 -ASEEND*/ -//CHKSM=B1D8CD0455F5D0A8847DA4ACC6D0EB7D55C2C159 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader.meta deleted file mode 100644 index 1e65e6e3f..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomGrass.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c887af4b615d62a4f8c5eec139ae0157 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader deleted file mode 100644 index 71fd323a9..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader +++ /dev/null @@ -1,1999 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_CustomToon" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _TextureSample("Texture Sample", 2D) = "white" {} - _TextureRamp("Texture Ramp", 2D) = "white" {} - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _LIGHT_LAYERS - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample; - sampler2D _TextureRamp; - - - half4 CalculateShadowMask216_g2( ) - { - #if defined(SHADOWS_SHADOWMASK) && defined(LIGHTMAP_ON) - half4 shadowMask = inputData.shadowMask; - #elif !defined (LIGHTMAP_ON) - half4 shadowMask = unity_ProbesOcclusion; - #else - half4 shadowMask = half4(1, 1, 1, 1); - #endif - return shadowMask; - } - - float3 AdditionalLightsFlatMask17x( float3 WorldPosition, float2 ScreenUV, float4 ShadowMask ) - { - float3 Color = 0; - #if defined(_ADDITIONAL_LIGHTS) - #define SUM_LIGHTFLAT(Light)\ - Color += Light.color * ( Light.distanceAttenuation * Light.shadowAttenuation ); - InputData inputData = (InputData)0; - inputData.normalizedScreenSpaceUV = ScreenUV; - inputData.positionWS = WorldPosition; - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - LIGHT_LOOP_END - #endif - return Color; - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldNormal = TransformObjectToWorldNormal(input.normalOS); - OUTPUT_LIGHTMAP_UV( input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy ); - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - #if !defined( OUTPUT_SH4 ) - OUTPUT_SH( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #elif UNITY_VERSION > 60000009 - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - #else - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #endif - output.ase_texcoord6.xyz = ase_worldNormal; - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - output.ase_texcoord6.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - output.texcoord1 = input.texcoord1; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 worldPosValue184_g2 = WorldPosition; - float3 WorldPosition175_g2 = worldPosValue184_g2; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 ScreenUV183_g2 = (ase_screenPosNorm).xy; - float2 ScreenUV175_g2 = ScreenUV183_g2; - half4 localCalculateShadowMask216_g2 = CalculateShadowMask216_g2(); - float4 shadowMaskValue182_g2 = localCalculateShadowMask216_g2; - float4 ShadowMask175_g2 = shadowMaskValue182_g2; - float3 localAdditionalLightsFlatMask17x175_g2 = AdditionalLightsFlatMask17x( WorldPosition175_g2 , ScreenUV175_g2 , ShadowMask175_g2 ); - float3 temp_output_55_0 = localAdditionalLightsFlatMask17x175_g2; - float2 uv_TextureSample = input.ase_texcoord4.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode50 = tex2D( _TextureSample, uv_TextureSample ); - float3 ase_worldNormal = input.ase_texcoord6.xyz; - float3 bakedGI41 = ASEIndirectDiffuse( input.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI41, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float ase_lightIntensity = max( max( _MainLightColor.r, _MainLightColor.g ), _MainLightColor.b ); - float4 ase_lightColor = float4( _MainLightColor.rgb / ase_lightIntensity, ase_lightIntensity ); - float3 temp_output_53_0 = ( ase_lightAtten * ase_lightColor.rgb * ase_lightColor.a ); - float3 temp_cast_2 = (1.0).xxx; - #ifdef UNITY_PASS_FORWARDBASE - float3 staticSwitch45 = temp_cast_2; - #else - float3 staticSwitch45 = temp_output_53_0; - #endif - float dotResult64 = dot( ase_worldNormal , _MainLightPosition.xyz ); - float temp_output_40_0 = (dotResult64*0.495 + 0.5); - float2 temp_cast_4 = (temp_output_40_0).xx; - float3 break62 = temp_output_53_0; - float3 break65 = temp_output_55_0; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( float4( temp_output_55_0 , 0.0 ) * tex2DNode50 ) + ( float4( bakedGI41 , 0.0 ) * tex2DNode50 ) + ( ( tex2DNode50 * float4( staticSwitch45 , 0.0 ) ) * ( tex2D( _TextureRamp, temp_cast_4 ) * ( ( temp_output_40_0 * max( max( break62.x , break62.y ) , break62.z ) ) + max( max( break65.x , break65.y ) , break65.z ) ) ) ) ).rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.LightColorNode;51;-537.9708,1221.054;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.BreakToComponentsNode;62;-137.9698,1333.054;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;42;486.0298,981.0537;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;48;673.6964,971.7397;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;46;854.0296,661.0536;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;41;518.0299,373.0535;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ScaleAndOffsetNode;40;198.0298,981.0537;Inherit;True;3;0;FLOAT;1;False;1;FLOAT;0.495;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;47;874.0972,838.0197;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;65;-147.0648,1523.898;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.RangedFloatNode;44;-265.9698,725.0536;Inherit;False;Constant;_Value;Value;1;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DotProductOpNode;64;-73.97015,917.0535;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;63;134.0298,1333.054;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;45;118.0298,661.0536;Inherit;False;Property;_UNITY_PASS_FORWARDBASE5;UNITY_PASS_FORWARDBASE;1;0;Create;False;0;0;0;True;0;False;0;0;0;False;UNITY_PASS_FORWARDBASE;Toggle;2;UNITY_PASS_FORWARDBASE;Key1;Fetch;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;43;119.8722,1524.247;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;61;902.3477,276.8297;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;57;-361.9708,965.0537;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMaxOpNode;66;262.0298,1365.054;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;58;1110.029,789.0536;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;49;581.0975,750.0196;Inherit;True;Property;_TextureRamp;Texture Ramp;1;0;Create;True;0;0;0;False;0;False;-1;None;c19f7ff6a74893e4fa49b569cd1141b5;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;53;-297.9698,1125.054;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;54;966.0297,469.0535;Inherit;True;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;59;-537.9708,1125.054;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;56;256.5203,1547.095;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;50;454.0298,501.0535;Inherit;True;Property;_TextureSample;Texture Sample;0;0;Create;True;0;0;0;False;0;False;-1;None;7868cfb9ed44d16498ff847c13b758d0;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.WorldNormalVector;52;-313.9708,821.0535;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.FunctionNode;55;-723.3238,993.9275;Inherit;False;SRP Additional Light;-1;;2;6c86746ad131a0a408ca599df5f40861;3,6,0,9,0,23,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;60;1353.171,612.7402;Inherit;True;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;1582.799,644.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;69;1582.799,644.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;70;1582.799,644.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;39;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;35;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;38;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;37;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;36;1582.799,594.3318;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_CustomToon;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;0;0; Blend;0;0;Two Sided;1;0;Forward Only;1;638418257243979945;Alpha Clipping;1;0; Use Shadow Threshold;0;0;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637824116745701205;Built-in Fog;1;637824116757472949;Meta Pass;0;637988381199987898;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;67;1582.799,644.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;71;1582.799,644.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;72;1582.799,694.3318;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;62;0;53;0 -WireConnection;42;0;40;0 -WireConnection;42;1;66;0 -WireConnection;48;0;42;0 -WireConnection;48;1;56;0 -WireConnection;46;0;50;0 -WireConnection;46;1;45;0 -WireConnection;40;0;64;0 -WireConnection;47;0;49;0 -WireConnection;47;1;48;0 -WireConnection;65;0;55;0 -WireConnection;64;0;52;0 -WireConnection;64;1;57;0 -WireConnection;63;0;62;0 -WireConnection;63;1;62;1 -WireConnection;45;1;53;0 -WireConnection;45;0;44;0 -WireConnection;43;0;65;0 -WireConnection;43;1;65;1 -WireConnection;61;0;55;0 -WireConnection;61;1;50;0 -WireConnection;66;0;63;0 -WireConnection;66;1;62;2 -WireConnection;58;0;46;0 -WireConnection;58;1;47;0 -WireConnection;49;1;40;0 -WireConnection;53;0;59;0 -WireConnection;53;1;51;1 -WireConnection;53;2;51;2 -WireConnection;54;0;41;0 -WireConnection;54;1;50;0 -WireConnection;56;0;43;0 -WireConnection;56;1;65;2 -WireConnection;60;0;61;0 -WireConnection;60;1;54;0 -WireConnection;60;2;58;0 -WireConnection;36;2;60;0 -ASEEND*/ -//CHKSM=4F1A2F5228212011729691EBB27EAD9C4313A834 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader.meta deleted file mode 100644 index 23bb8f316..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToon.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 223e49fd9e37eea47a107f1f7b428612 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader deleted file mode 100644 index 9e48ffb45..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader +++ /dev/null @@ -1,2284 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_CustomToonOutline" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _TextureSample("Texture Sample", 2D) = "white" {} - _TextureRamp("Texture Ramp", 2D) = "white" {} - _OutlineWidth("Outline Width", Range( 0.0001 , 0.5)) = 0.0065 - _OutlineColor("Outline Color", Color) = (0,0,0,0) - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - Name "ExtraPrePass" - - - Blend One Zero - Cull Front - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float4 unityObjectToClipPos98 = TransformWorldToHClip(TransformObjectToWorld(input.positionOS.xyz)); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( input.normalOS * _OutlineWidth * min( unityObjectToClipPos98.w , 1.5 ) ); - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float3 Color = _OutlineColor.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fog - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _LIGHT_LAYERS - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample; - sampler2D _TextureRamp; - - - half4 CalculateShadowMask216_g2( ) - { - #if defined(SHADOWS_SHADOWMASK) && defined(LIGHTMAP_ON) - half4 shadowMask = inputData.shadowMask; - #elif !defined (LIGHTMAP_ON) - half4 shadowMask = unity_ProbesOcclusion; - #else - half4 shadowMask = half4(1, 1, 1, 1); - #endif - return shadowMask; - } - - float3 AdditionalLightsFlatMask17x( float3 WorldPosition, float2 ScreenUV, float4 ShadowMask ) - { - float3 Color = 0; - #if defined(_ADDITIONAL_LIGHTS) - #define SUM_LIGHTFLAT(Light)\ - Color += Light.color * ( Light.distanceAttenuation * Light.shadowAttenuation ); - InputData inputData = (InputData)0; - inputData.normalizedScreenSpaceUV = ScreenUV; - inputData.positionWS = WorldPosition; - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - LIGHT_LOOP_END - #endif - return Color; - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldNormal = TransformObjectToWorldNormal(input.normalOS); - OUTPUT_LIGHTMAP_UV( input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy ); - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - #if !defined( OUTPUT_SH4 ) - OUTPUT_SH( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #elif UNITY_VERSION > 60000009 - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - #else - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #endif - output.ase_texcoord6.xyz = ase_worldNormal; - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - output.ase_texcoord6.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - output.texcoord1 = input.texcoord1; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 worldPosValue184_g2 = WorldPosition; - float3 WorldPosition175_g2 = worldPosValue184_g2; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 ScreenUV183_g2 = (ase_screenPosNorm).xy; - float2 ScreenUV175_g2 = ScreenUV183_g2; - half4 localCalculateShadowMask216_g2 = CalculateShadowMask216_g2(); - float4 shadowMaskValue182_g2 = localCalculateShadowMask216_g2; - float4 ShadowMask175_g2 = shadowMaskValue182_g2; - float3 localAdditionalLightsFlatMask17x175_g2 = AdditionalLightsFlatMask17x( WorldPosition175_g2 , ScreenUV175_g2 , ShadowMask175_g2 ); - float3 temp_output_73_0 = localAdditionalLightsFlatMask17x175_g2; - float2 uv_TextureSample = input.ase_texcoord4.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode85 = tex2D( _TextureSample, uv_TextureSample ); - float3 ase_worldNormal = input.ase_texcoord6.xyz; - float3 bakedGI91 = ASEIndirectDiffuse( input.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI91, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float ase_lightIntensity = max( max( _MainLightColor.r, _MainLightColor.g ), _MainLightColor.b ); - float4 ase_lightColor = float4( _MainLightColor.rgb / ase_lightIntensity, ase_lightIntensity ); - float3 temp_output_71_0 = ( ase_lightAtten * ase_lightColor.rgb * ase_lightColor.a ); - float3 temp_cast_2 = (1.0).xxx; - #ifdef UNITY_PASS_FORWARDBASE - float3 staticSwitch87 = temp_cast_2; - #else - float3 staticSwitch87 = temp_output_71_0; - #endif - float dotResult77 = dot( ase_worldNormal , _MainLightPosition.xyz ); - float temp_output_79_0 = (dotResult77*0.495 + 0.5); - float2 temp_cast_4 = (temp_output_79_0).xx; - float3 break74 = temp_output_71_0; - float3 break78 = temp_output_73_0; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( float4( temp_output_73_0 , 0.0 ) * tex2DNode85 ) + ( float4( bakedGI91 , 0.0 ) * tex2DNode85 ) + ( ( tex2DNode85 * float4( staticSwitch87 , 0.0 ) ) * ( tex2D( _TextureRamp, temp_cast_4 ) * ( ( temp_output_79_0 * max( max( break74.x , break74.y ) , break74.z ) ) + max( max( break78.x , break78.y ) , break78.z ) ) ) ) ).rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _OutlineColor; - float4 _TextureSample_ST; - float _OutlineWidth; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.PosVertexDataNode;100;-270.6122,-840.9638;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;99;-126.6128,-664.9635;Inherit;False;Constant;_Distance;Distance;1;0;Create;True;0;0;0;False;0;False;1.5;0;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMinOpNode;96;241.3868,-808.9638;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;97;439.9181,-914.4933;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ColorNode;101;269.3736,-620.9024;Inherit;False;Property;_OutlineColor;Outline Color;3;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;90;-45.30569,-38.57464;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;103;-126.6128,-920.9641;Inherit;False;Property;_OutlineWidth;Outline Width;2;0;Create;True;0;0;0;False;0;False;0.0065;0.002;0.0001;0.5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalVertexDataNode;102;145.3871,-952.9641;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.StaticSwitch;87;-781.3054,-38.57464;Inherit;False;Property;_UNITY_PASS_FORWARDBASE5;UNITY_PASS_FORWARDBASE;1;0;Create;False;0;0;0;True;0;False;0;0;0;False;UNITY_PASS_FORWARDBASE;Toggle;2;UNITY_PASS_FORWARDBASE;Key1;Fetch;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;91;-381.3054,-326.5747;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;83;-413.3055,281.4255;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;81;-779.4631,824.6185;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;84;-1165.305,25.42543;Inherit;False;Constant;_Value;Value;1;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;78;-1046.4,824.27;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleMaxOpNode;80;-637.3055,665.4258;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ScaleAndOffsetNode;79;-701.3054,281.4255;Inherit;True;3;0;FLOAT;1;False;1;FLOAT;0.495;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;89;-14.23805,162.3914;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.UnityObjToClipPosHlpNode;98;-62.61249,-840.9638;Inherit;False;1;0;FLOAT3;0,0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.DotProductOpNode;77;-973.3054,217.4253;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;69;-1437.306,521.4257;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.WorldNormalVector;72;-1213.306,121.4253;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;71;-1197.305,425.4256;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SamplerNode;88;-318.2377,50.39133;Inherit;True;Property;_TextureRamp;Texture Ramp;1;0;Create;True;0;0;0;False;0;False;-1;None;c19f7ff6a74893e4fa49b569cd1141b5;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;75;-1261.306,265.4255;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleAddOpNode;86;-225.6389,272.1115;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;85;-445.3055,-198.5747;Inherit;True;Property;_TextureSample;Texture Sample;0;0;Create;True;0;0;0;False;0;False;-1;None;7868cfb9ed44d16498ff847c13b758d0;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.FunctionNode;73;-1622.659,294.2993;Inherit;False;SRP Additional Light;-1;;2;6c86746ad131a0a408ca599df5f40861;3,6,0,9,0,23,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;66.69445,-230.5747;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;95;453.8358,-86.88805;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;93;3.012383,-422.7985;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;74;-1037.305,633.4258;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleMaxOpNode;76;-765.3054,633.4258;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;82;-642.815,847.4673;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;94;210.6942,89.42535;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;70;-1437.306,425.4256;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;106;715.1001,-49.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;105;715.1001,-49.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;104;715.1001,-49.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;66;715.1001,-99.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;67;715.1001,-99.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;65;715.1001,-99.60003;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_CustomToonOutline;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;True;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;0;0; Blend;0;0;Two Sided;1;0;Forward Only;1;638418257742599679;Alpha Clipping;1;0; Use Shadow Threshold;0;637824118749372655;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637823293468117820;Built-in Fog;1;637823291145581960;Meta Pass;0;637823293569219235;Extra Pre Pass;1;637823291228289472;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;True;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;64;703.9794,-512.8184;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;True;True;1;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;107;715.1001,-49.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;715.1001,-99.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;108;715.1001,-49.60003;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;109;715.1001,0.399971;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;96;0;98;4 -WireConnection;96;1;99;0 -WireConnection;97;0;102;0 -WireConnection;97;1;103;0 -WireConnection;97;2;96;0 -WireConnection;90;0;85;0 -WireConnection;90;1;87;0 -WireConnection;87;1;71;0 -WireConnection;87;0;84;0 -WireConnection;83;0;79;0 -WireConnection;83;1;80;0 -WireConnection;81;0;78;0 -WireConnection;81;1;78;1 -WireConnection;78;0;73;0 -WireConnection;80;0;76;0 -WireConnection;80;1;74;2 -WireConnection;79;0;77;0 -WireConnection;89;0;88;0 -WireConnection;89;1;86;0 -WireConnection;98;0;100;0 -WireConnection;77;0;72;0 -WireConnection;77;1;75;0 -WireConnection;71;0;70;0 -WireConnection;71;1;69;1 -WireConnection;71;2;69;2 -WireConnection;88;1;79;0 -WireConnection;86;0;83;0 -WireConnection;86;1;82;0 -WireConnection;92;0;91;0 -WireConnection;92;1;85;0 -WireConnection;95;0;93;0 -WireConnection;95;1;92;0 -WireConnection;95;2;94;0 -WireConnection;93;0;73;0 -WireConnection;93;1;85;0 -WireConnection;74;0;71;0 -WireConnection;76;0;74;0 -WireConnection;76;1;74;1 -WireConnection;82;0;81;0 -WireConnection;82;1;78;2 -WireConnection;94;0;90;0 -WireConnection;94;1;89;0 -WireConnection;65;2;95;0 -WireConnection;64;0;101;0 -WireConnection;64;3;97;0 -ASEEND*/ -//CHKSM=26965A75B7649AE4426AF443583A2A025046B73A \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader.meta deleted file mode 100644 index 06cb95f0e..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonOutline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 11cb3c27d84b6b948a9a0d5350d2ae5a -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader deleted file mode 100644 index c6f06adb9..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader +++ /dev/null @@ -1,2163 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_CustomToonVegetation" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _TextureSample("Texture Sample", 2D) = "white" {} - _TextureRamp("Texture Ramp", 2D) = "white" {} - _WindNoiseTexture("Wind Noise Texture", 2D) = "white" {} - _WindScroll("Wind Scroll", Range( 0 , 3)) = 0.1 - _WindJitter("Wind Jitter", Range( 0 , 3)) = 0.1 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _LIGHT_LAYERS - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - sampler2D _TextureRamp; - - - half4 CalculateShadowMask216_g2( ) - { - #if defined(SHADOWS_SHADOWMASK) && defined(LIGHTMAP_ON) - half4 shadowMask = inputData.shadowMask; - #elif !defined (LIGHTMAP_ON) - half4 shadowMask = unity_ProbesOcclusion; - #else - half4 shadowMask = half4(1, 1, 1, 1); - #endif - return shadowMask; - } - - float3 AdditionalLightsFlatMask17x( float3 WorldPosition, float2 ScreenUV, float4 ShadowMask ) - { - float3 Color = 0; - #if defined(_ADDITIONAL_LIGHTS) - #define SUM_LIGHTFLAT(Light)\ - Color += Light.color * ( Light.distanceAttenuation * Light.shadowAttenuation ); - InputData inputData = (InputData)0; - inputData.normalizedScreenSpaceUV = ScreenUV; - inputData.positionWS = WorldPosition; - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition, ShadowMask); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHTFLAT( light ); - } - LIGHT_LOOP_END - #endif - return Color; - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(input.normalOS); - OUTPUT_LIGHTMAP_UV( input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy ); - #if !defined( OUTPUT_SH4 ) - OUTPUT_SH( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #elif UNITY_VERSION > 60000009 - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - #else - OUTPUT_SH4( ase_worldPos, ase_worldNormal, GetWorldSpaceNormalizeViewDir( ase_worldPos ), output.lightmapUVOrVertexSH.xyz ); - #endif - output.ase_texcoord6.xyz = ase_worldNormal; - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - output.ase_texcoord6.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - output.texcoord1 = input.texcoord1; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 worldPosValue184_g2 = WorldPosition; - float3 WorldPosition175_g2 = worldPosValue184_g2; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 ScreenUV183_g2 = (ase_screenPosNorm).xy; - float2 ScreenUV175_g2 = ScreenUV183_g2; - half4 localCalculateShadowMask216_g2 = CalculateShadowMask216_g2(); - float4 shadowMaskValue182_g2 = localCalculateShadowMask216_g2; - float4 ShadowMask175_g2 = shadowMaskValue182_g2; - float3 localAdditionalLightsFlatMask17x175_g2 = AdditionalLightsFlatMask17x( WorldPosition175_g2 , ScreenUV175_g2 , ShadowMask175_g2 ); - float3 temp_output_122_0 = localAdditionalLightsFlatMask17x175_g2; - float2 uv_TextureSample = input.ase_texcoord4.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - float3 ase_worldNormal = input.ase_texcoord6.xyz; - float3 bakedGI139 = ASEIndirectDiffuse( input.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI139, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float ase_lightIntensity = max( max( _MainLightColor.r, _MainLightColor.g ), _MainLightColor.b ); - float4 ase_lightColor = float4( _MainLightColor.rgb / ase_lightIntensity, ase_lightIntensity ); - float3 temp_output_119_0 = ( ase_lightAtten * ase_lightColor.rgb * ase_lightColor.a ); - float dotResult124 = dot( ase_worldNormal , _MainLightPosition.xyz ); - float temp_output_127_0 = (dotResult124*0.495 + 0.5); - float2 temp_cast_3 = (temp_output_127_0).xx; - float3 break120 = temp_output_119_0; - float3 break126 = temp_output_122_0; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( float4( temp_output_122_0 , 0.0 ) * tex2DNode134 ) + ( float4( bakedGI139 , 0.0 ) * tex2DNode134 ) + ( ( tex2DNode134 * float4( temp_output_119_0 , 0.0 ) ) * ( tex2D( _TextureRamp, temp_cast_3 ) * ( ( temp_output_127_0 * max( max( break120.x , break120.y ) , break120.z ) ) + max( max( break126.x , break126.y ) , break126.z ) ) ) ) ).rgb; - float Alpha = tex2DNode134.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample = input.ase_texcoord2.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - - - float Alpha = tex2DNode134.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample = input.ase_texcoord3.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - - - float Alpha = tex2DNode134.a; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample = input.ase_texcoord.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - - - surfaceDescription.Alpha = tex2DNode134.a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample = input.ase_texcoord.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - - - surfaceDescription.Alpha = tex2DNode134.a; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _WindNoiseTexture; - sampler2D _TextureSample; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float3 ase_worldPos = TransformObjectToWorld( (input.positionOS).xyz ); - float2 appendResult60 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_61_0 = ( appendResult60 * 0.1 ); - float2 panner63 = ( ( (0.0 + (_WindScroll - 0.0) * (0.3 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) * float2( 1,1 ) + temp_output_61_0); - float2 panner74 = ( ( _TimeParameters.x * (0.0 + (_WindJitter - 0.0) * (0.5 - 0.0) / (1.0 - 0.0)) ) * float2( 1,1 ) + ( temp_output_61_0 * float2( 2,2 ) )); - float4 WindScroll68 = ( ( pow( tex2Dlod( _WindNoiseTexture, float4( panner63, 0, 0.0) ) , 2.5 ) * tex2Dlod( _WindNoiseTexture, float4( panner74, 0, 0.0) ) ) * input.ase_color ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = WindScroll68.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_color = input.ase_color; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float2 uv_TextureSample = input.ase_texcoord2.xy * _TextureSample_ST.xy + _TextureSample_ST.zw; - float4 tex2DNode134 = tex2D( _TextureSample, uv_TextureSample ); - - - float Alpha = tex2DNode134.a; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample_ST; - float _WindJitter; - float _WindScroll; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.WorldPosInputsNode;59;-986.3873,-1095.243;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;64;-1161.37,-825.0721;Inherit;False;Property;_WindScroll;Wind Scroll;3;0;Create;True;0;0;0;False;0;False;0.1;0.1;0;3;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;80;-837.6073,-838.6216;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.3;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;77;-1145.484,-480.3462;Inherit;False;Property;_WindJitter;Wind Jitter;4;0;Create;True;0;0;0;False;0;False;0.1;0.3;0;3;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;66;-731.3701,-654.072;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;62;-719.3701,-939.0721;Inherit;False;Constant;_NoiseSize;Noise Size;3;0;Create;True;0;0;0;False;0;False;0.1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;60;-707.387,-1111.242;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;-518.3701,-783.072;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;61;-524.3701,-1101.072;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TFHCRemapNode;79;-820.6073,-487.6216;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;76;-519.2531,-575.8951;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;63;-280.3696,-1101.44;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;73;-278.613,-814.8079;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;2,2;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SamplerNode;67;-6.054187,-1145.813;Inherit;True;Property;_WindNoiseTexture;Wind Noise Texture;2;0;Create;True;0;0;0;False;0;False;-1;None;bdca5e9a5f4be924782b84af1614d624;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.PannerNode;74;-105.5129,-814.1079;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SamplerNode;75;102.4871,-815.1079;Inherit;True;Property;_TextureSample0;Texture Sample 0;2;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;67;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.PowerNode;72;420.66,-1060.765;Inherit;False;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;2.5;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;78;632.5909,-915.3308;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.VertexColorNode;83;531.6942,-739.6173;Inherit;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;84;886.6118,-859.1572;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;68;1143.632,-851.8107;Inherit;True;WindScroll;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;131;-291.02,212.0957;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;140;188.9796,-299.9044;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;141;125.2975,-492.1282;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;129;-657.1779,755.2887;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;122;-1500.374,224.9695;Inherit;False;SRP Additional Light;-1;;2;6c86746ad131a0a408ca599df5f40861;3,6,0,9,0,23,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;137;122.3472,85.26152;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;142;348.5793,-31.90462;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;118;-1315.021,356.0958;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;117;-1315.021,452.0959;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.RangedFloatNode;116;732.8067,-70.3884;Inherit;False;Constant;_Float1;Float 1;1;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;125;-643.0201,564.0961;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;69;768.9276,200.1981;Inherit;False;68;WindScroll;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMaxOpNode;128;-515.0201,596.0962;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;138;76.97951,-107.9046;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;119;-1075.02,356.0958;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ScaleAndOffsetNode;127;-579.0201,212.0957;Inherit;True;3;0;FLOAT;1;False;1;FLOAT;0.495;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DotProductOpNode;124;-851.0201,148.0955;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;132;-1043.02,-43.90449;Inherit;False;Constant;_Value;Value;1;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.BreakToComponentsNode;120;-915.0201,564.0961;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SamplerNode;133;-195.9524,-18.9386;Inherit;True;Property;_TextureRamp;Texture Ramp;1;0;Create;True;0;0;0;False;0;False;-1;None;c19f7ff6a74893e4fa49b569cd1141b5;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleAddOpNode;136;-103.3537,202.7817;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;139;-290.6023,-409.5899;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;115;733.8286,30.77651;Inherit;False;Constant;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;134;-323.02,-267.9044;Inherit;True;Property;_TextureSample;Texture Sample;0;0;Create;True;0;0;0;False;0;False;-1;None;4b71b8645d49baf4f9f7c2b20f1564fd;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMaxOpNode;130;-520.5297,778.1377;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;121;-1139.021,196.0957;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.WorldNormalVector;123;-1091.021,52.09536;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.BreakToComponentsNode;126;-924.1151,754.9402;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 -Node;AmplifyShaderEditor.SimpleAddOpNode;143;576.1208,-156.2179;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;147;1036.689,-312.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;145;1036.689,-312.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;153;1036.689,-262.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;149;1036.689,-312.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;146;1036.689,-312.0935;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_CustomToonVegetation;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;0;637988421710669930; Blend;0;637988421648488584;Two Sided;1;0;Forward Only;1;638418259186424618;Alpha Clipping;1;0; Use Shadow Threshold;0;637988393949004124;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637824120012078071;Built-in Fog;1;637824120078100644;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;151;1036.689,-262.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;150;1036.689,-262.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;148;1036.689,-312.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;152;1036.689,-262.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;154;1036.689,-262.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;155;1036.689,-212.0935;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;80;0;64;0 -WireConnection;60;0;59;1 -WireConnection;60;1;59;3 -WireConnection;65;0;80;0 -WireConnection;65;1;66;0 -WireConnection;61;0;60;0 -WireConnection;61;1;62;0 -WireConnection;79;0;77;0 -WireConnection;76;0;66;0 -WireConnection;76;1;79;0 -WireConnection;63;0;61;0 -WireConnection;63;1;65;0 -WireConnection;73;0;61;0 -WireConnection;67;1;63;0 -WireConnection;74;0;73;0 -WireConnection;74;1;76;0 -WireConnection;75;1;74;0 -WireConnection;72;0;67;0 -WireConnection;78;0;72;0 -WireConnection;78;1;75;0 -WireConnection;84;0;78;0 -WireConnection;84;1;83;0 -WireConnection;68;0;84;0 -WireConnection;131;0;127;0 -WireConnection;131;1;128;0 -WireConnection;140;0;139;0 -WireConnection;140;1;134;0 -WireConnection;141;0;122;0 -WireConnection;141;1;134;0 -WireConnection;129;0;126;0 -WireConnection;129;1;126;1 -WireConnection;137;0;133;0 -WireConnection;137;1;136;0 -WireConnection;142;0;138;0 -WireConnection;142;1;137;0 -WireConnection;125;0;120;0 -WireConnection;125;1;120;1 -WireConnection;128;0;125;0 -WireConnection;128;1;120;2 -WireConnection;138;0;134;0 -WireConnection;138;1;119;0 -WireConnection;119;0;118;0 -WireConnection;119;1;117;1 -WireConnection;119;2;117;2 -WireConnection;127;0;124;0 -WireConnection;124;0;123;0 -WireConnection;124;1;121;0 -WireConnection;120;0;119;0 -WireConnection;133;1;127;0 -WireConnection;136;0;131;0 -WireConnection;136;1;130;0 -WireConnection;130;0;129;0 -WireConnection;130;1;126;2 -WireConnection;126;0;122;0 -WireConnection;143;0;141;0 -WireConnection;143;1;140;0 -WireConnection;143;2;142;0 -WireConnection;146;2;143;0 -WireConnection;146;3;134;4 -WireConnection;146;4;115;0 -WireConnection;146;5;69;0 -ASEEND*/ -//CHKSM=1BEC7C75B4CA4E73A35860818E6090D5741A9A3D \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader.meta deleted file mode 100644 index 71eef4938..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_CustomToonVegetation.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 95ba5b42a42a33143b0a911b61cc9bca -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader deleted file mode 100644 index 514a88049..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader +++ /dev/null @@ -1,1971 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_Fire" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - _BurnSpeed("Burn Speed", Range( 0 , 1)) = -0.75 - _ColorBlend("Color Blend", Range( 0 , 1)) = 0.65 - _TopColor("Top Color", Color) = (1,0,0.2424197,0) - _BaseColor("Base Color", Color) = (1,0.808957,0,0) - _InnerColor("Inner Color", Color) = (0,0.5678592,1,0) - _OpacityCutoff("Opacity Cutoff", Range( 0 , 1)) = 0.1 - _NoiseTexture("Noise Texture", 2D) = "white" {} - _MaskTexture("Mask Texture", 2D) = "white" {} - _Shading("Shading", Range( 0 , 1)) = 0 - _Brightness("Brightness", Range( 0 , 5)) = 1.49 - _DepthFade("Depth Fade", Range( 0 , 10)) = 0 - _Offset("Offset", Range( 0 , 1)) = 0.125 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 4.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha - ZWrite Off - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SCREEN_POSITION - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - float4 ASESafeNormalize(float4 inVec) - { - float dp3 = max(1.175494351e-38, dot(inVec, inVec)); - return inVec* rsqrt(dp3); - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = normalize ( UNITY_MATRIX_V._m10_m11_m12 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - input.normalOS = normalize( mul( float4( input.normalOS , 0 ), rotationCamMatrix )).xyz; - input.ase_tangent.xyz = normalize( mul( float4( input.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - input.positionOS.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 ); - input.positionOS.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 ); - input.positionOS.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 ); - input.positionOS = mul( input.positionOS, rotationCamMatrix ); - input.positionOS = mul( GetWorldToObjectMatrix(), float4( input.positionOS.xyz, 0 ) ); - float4 transform26 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 normalizeResult34 = ASESafeNormalize( ( float4( _WorldSpaceCameraPos , 0.0 ) - transform26 ) ); - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = ( ( _Offset * normalizeResult34 ) + float4( ( 0.1 * ( 0 + input.positionOS.xyz ) ) , 0.0 ) ).xyz; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_tangent = input.ase_tangent; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float screenDepth65 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth65 = saturate( abs( ( screenDepth65 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _DepthFade ) ) ); - float2 texCoord46 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float smoothstepResult59 = smoothstep( 0.0 , _ColorBlend , texCoord46.y); - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord4.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( saturate( distanceDepth65 ) * ( ( ( ( ( _BaseColor * ( 1.0 - smoothstepResult59 ) ) + ( smoothstepResult59 * _TopColor ) ) * ( 1.0 - ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ) ) + ( _InnerColor * ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ) ) * saturate( ( ( 1.0 - _Shading ) + ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ) ) * _Brightness ) ).rgb; - float Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - float4 ASESafeNormalize(float4 inVec) - { - float dp3 = max(1.175494351e-38, dot(inVec, inVec)); - return inVec* rsqrt(dp3); - } - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = normalize ( UNITY_MATRIX_V._m10_m11_m12 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - input.normalOS = normalize( mul( float4( input.normalOS , 0 ), rotationCamMatrix )).xyz; - input.ase_tangent.xyz = normalize( mul( float4( input.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - input.positionOS.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 ); - input.positionOS.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 ); - input.positionOS.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 ); - input.positionOS = mul( input.positionOS, rotationCamMatrix ); - input.positionOS = mul( GetWorldToObjectMatrix(), float4( input.positionOS.xyz, 0 ) ); - float4 transform26 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 normalizeResult34 = ASESafeNormalize( ( float4( _WorldSpaceCameraPos , 0.0 ) - transform26 ) ); - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = ( ( _Offset * normalizeResult34 ) + float4( ( 0.1 * ( 0 + input.positionOS.xyz ) ) , 0.0 ) ).xyz; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_tangent = input.ase_tangent; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord3.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord3.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - - float Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - float4 ASESafeNormalize(float4 inVec) - { - float dp3 = max(1.175494351e-38, dot(inVec, inVec)); - return inVec* rsqrt(dp3); - } - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = normalize ( UNITY_MATRIX_V._m10_m11_m12 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - input.normalOS = normalize( mul( float4( input.normalOS , 0 ), rotationCamMatrix )).xyz; - input.ase_tangent.xyz = normalize( mul( float4( input.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - input.positionOS.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 ); - input.positionOS.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 ); - input.positionOS.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 ); - input.positionOS = mul( input.positionOS, rotationCamMatrix ); - input.positionOS = mul( GetWorldToObjectMatrix(), float4( input.positionOS.xyz, 0 ) ); - float4 transform26 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 normalizeResult34 = ASESafeNormalize( ( float4( _WorldSpaceCameraPos , 0.0 ) - transform26 ) ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = ( ( _Offset * normalizeResult34 ) + float4( ( 0.1 * ( 0 + input.positionOS.xyz ) ) , 0.0 ) ).xyz; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_tangent = input.ase_tangent; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - - surfaceDescription.Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - float4 ASESafeNormalize(float4 inVec) - { - float dp3 = max(1.175494351e-38, dot(inVec, inVec)); - return inVec* rsqrt(dp3); - } - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = normalize ( UNITY_MATRIX_V._m10_m11_m12 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - input.normalOS = normalize( mul( float4( input.normalOS , 0 ), rotationCamMatrix )).xyz; - input.ase_tangent.xyz = normalize( mul( float4( input.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - input.positionOS.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 ); - input.positionOS.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 ); - input.positionOS.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 ); - input.positionOS = mul( input.positionOS, rotationCamMatrix ); - input.positionOS = mul( GetWorldToObjectMatrix(), float4( input.positionOS.xyz, 0 ) ); - float4 transform26 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 normalizeResult34 = ASESafeNormalize( ( float4( _WorldSpaceCameraPos , 0.0 ) - transform26 ) ); - - output.ase_texcoord.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = ( ( _Offset * normalizeResult34 ) + float4( ( 0.1 * ( 0 + input.positionOS.xyz ) ) , 0.0 ) ).xyz; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_tangent = input.ase_tangent; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - - surfaceDescription.Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - float4 ASESafeNormalize(float4 inVec) - { - float dp3 = max(1.175494351e-38, dot(inVec, inVec)); - return inVec* rsqrt(dp3); - } - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = normalize ( UNITY_MATRIX_V._m10_m11_m12 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - input.normalOS = normalize( mul( float4( input.normalOS , 0 ), rotationCamMatrix )).xyz; - input.ase_tangent.xyz = normalize( mul( float4( input.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - input.positionOS.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 ); - input.positionOS.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 ); - input.positionOS.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 ); - input.positionOS = mul( input.positionOS, rotationCamMatrix ); - input.positionOS = mul( GetWorldToObjectMatrix(), float4( input.positionOS.xyz, 0 ) ); - float4 transform26 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 normalizeResult34 = ASESafeNormalize( ( float4( _WorldSpaceCameraPos , 0.0 ) - transform26 ) ); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = ( ( _Offset * normalizeResult34 ) + float4( ( 0.1 * ( 0 + input.positionOS.xyz ) ) , 0.0 ) ).xyz; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_tangent = input.ase_tangent; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord2.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord2.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - - float Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _BaseColor; - float4 _TopColor; - float4 _MaskTexture_ST; - float4 _InnerColor; - float _Offset; - float _DepthFade; - float _ColorBlend; - float _BurnSpeed; - float _Shading; - float _Brightness; - float _OpacityCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _NoiseTexture; - sampler2D _MaskTexture; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - float temp_output_12_0 = (0.0 + (_BurnSpeed - 0.0) * (-2.0 - 0.0) / (1.0 - 0.0)); - float2 appendResult19 = (float2(0.0 , temp_output_12_0)); - float2 texCoord14 = input.ase_texcoord2.xy * float2( 1,1 ) + float2( 2.6,0 ); - float2 panner21 = ( 1.0 * _Time.y * appendResult19 + ( 1.0 * texCoord14 )); - float2 appendResult18 = (float2(0.0 , ( temp_output_12_0 * 2 ))); - float2 panner22 = ( 1.0 * _Time.y * appendResult18 + ( texCoord14 * 0.5 )); - float2 uv_MaskTexture = input.ase_texcoord2.xy * _MaskTexture_ST.xy + _MaskTexture_ST.zw; - float4 tex2DNode29 = tex2D( _MaskTexture, uv_MaskTexture ); - - - float Alpha = step( (0.02 + (_OpacityCutoff - 0.0) * (1.0 - 0.02) / (1.0 - 0.0)) , ( ( ( tex2D( _NoiseTexture, panner21 ).r * tex2D( _NoiseTexture, panner22 ).r ) + tex2DNode29.r ) * tex2DNode29.r ) ); - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.RangedFloatNode;11;-3221.85,-469.1691;Inherit;False;Property;_BurnSpeed;Burn Speed;0;0;Create;True;0;0;0;False;0;False;-0.75;0.28;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;12;-2855.114,-464.6624;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;-2;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ScaleNode;13;-2494.551,-30.88391;Inherit;False;2;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;14;-2543.741,-279.6373;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;2.6,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;15;-2503.943,-380.269;Inherit;False;Constant;_Noise1Scale;Noise 1 Scale;1;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;16;-2504.443,-136.27;Inherit;False;Constant;_Noise2Scale;Noise 2 Scale;1;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;17;-2249.74,-368.6371;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.DynamicAppendNode;18;-2248.942,-48.26892;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.DynamicAppendNode;19;-2251.942,-486.269;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-2248.84,-158.1371;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.PannerNode;21;-2050.942,-439.269;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.PannerNode;22;-2050.942,-118.2699;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TexturePropertyNode;23;-2088.877,-318.142;Inherit;True;Property;_NoiseTexture;Noise Texture;6;0;Create;True;0;0;0;False;0;False;None;1107fb1c60b1cbe40b0dc1a2684c79a8;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SamplerNode;24;-1810.077,-205.0421;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SamplerNode;25;-1811.478,-411.7188;Inherit;True;Property;_TextureSample1;Texture Sample 1;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;27;-1438.075,-289.275;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;29;-1810.785,2.046021;Inherit;True;Property;_MaskTexture;Mask Texture;7;0;Create;True;0;0;0;False;0;False;-1;None;6f1976b262bf3224a82eca3e872fb819;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleAddOpNode;33;-1240.11,-290.114;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;35;-1026.669,-290.1141;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;36;-725.5778,12.82312;Inherit;False;Property;_OpacityCutoff;Opacity Cutoff;5;0;Create;True;0;0;0;False;0;False;0.1;0.05;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RelayNode;40;-737.2918,-293.5945;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;43;-385.8275,15.94202;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0.02;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ObjectToWorldTransfNode;26;101.7118,278.233;Inherit;False;1;0;FLOAT4;0,0,0,1;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.WorldSpaceCameraPos;28;68.19183,110.635;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.PosVertexDataNode;30;122.6417,770.436;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;31;427.1351,212.5891;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;37;398.9985,724.5051;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;38;381.5176,638.2061;Inherit;False;Constant;_Float0;Float 0;11;0;Create;True;0;0;0;False;0;False;0.1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalizeNode;34;601.7183,234.936;Inherit;False;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;39;552.225,109.457;Inherit;False;Property;_Offset;Offset;11;0;Create;True;0;0;0;False;0;False;0.125;0.05;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;570.5475,700.3301;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;42;978.5883,113.1931;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;44;-177.92,-838.2498;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;45;284.6079,-312.7321;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;46;-1165.562,-839.3674;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SaturateNode;47;995.7633,-404.812;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;48;-264.6833,-438.023;Inherit;False;Property;_InnerColor;Inner Color;4;0;Create;True;0;0;0;False;0;False;0,0.5678592,1,0;0.8679245,0.5667831,0.3070487,0;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;49;-421.0221,-784.9491;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;50;1185.016,-224.8867;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;51;1228.661,125.2401;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.StepOpNode;52;-114.3766,17.12402;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;53;-263.7651,-164.9459;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;54;277.7633,-47.81189;Inherit;False;Property;_Brightness;Brightness;9;0;Create;True;0;0;0;False;0;False;1.49;3.75;0;5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;55;-1210.723,-692.6495;Inherit;False;Property;_ColorBlend;Color Blend;1;0;Create;True;0;0;0;False;0;False;0.65;0.575;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;56;611.447,-266.8723;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ColorNode;57;-675.8207,-688.7493;Inherit;False;Property;_TopColor;Top Color;2;0;Create;True;0;0;0;False;0;False;1,0,0.2424197,0;0.4056604,0.2369845,0.07462618,0;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.OneMinusNode;58;-216.7368,-644.3633;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SmoothstepOpNode;59;-862.3198,-805.7491;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;60;14.11682,-287.6226;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ColorNode;61;-687.5228,-1070.95;Inherit;False;Property;_BaseColor;Base Color;3;0;Create;True;0;0;0;False;0;False;1,0.808957,0,0;1,0.4109908,0.1843137,0;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.OneMinusNode;62;-627.7217,-862.9497;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;63;-119.6139,-94.60388;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;64;409.7633,-476.812;Inherit;False;Property;_DepthFade;Depth Fade;10;0;Create;True;0;0;0;False;0;False;0;0.8;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DepthFade;65;661.7633,-456.812;Inherit;False;True;True;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;66;-34.92007,-739.4498;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SaturateNode;67;278.1046,-142.1429;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;68;-422.3232,-883.7498;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;69;-384.7184,-224.7725;Inherit;False;Property;_Shading;Shading;8;0;Create;True;0;0;0;False;0;False;0;0.4;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.BillboardNode;32;120.6417,689.436;Inherit;False;Spherical;True;True;0;1;FLOAT3;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;0;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;2;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;3;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;4;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;5;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;6;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;7;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;8;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;9;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;10;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;1;1488,-144;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;True;1;5;False;;10;False;;1;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;;0;0;Standard;25;Surface;1;638671286469397755; Blend;0;0;Two Sided;1;0;Forward Only;1;638671286542795043;Alpha Clipping;1;0; Use Shadow Threshold;0;0;Cast Shadows;0;638671286583746911;Receive Shadows;0;638671286594052862;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;Meta Pass;0;638671286820181270;Extra Pre Pass;0;638671286786054173;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;False;True;False;False;True;True;True;False;True;False;;False;0 -WireConnection;12;0;11;0 -WireConnection;13;0;12;0 -WireConnection;17;0;15;0 -WireConnection;17;1;14;0 -WireConnection;18;1;13;0 -WireConnection;19;1;12;0 -WireConnection;20;0;14;0 -WireConnection;20;1;16;0 -WireConnection;21;0;17;0 -WireConnection;21;2;19;0 -WireConnection;22;0;20;0 -WireConnection;22;2;18;0 -WireConnection;24;0;23;0 -WireConnection;24;1;22;0 -WireConnection;25;0;23;0 -WireConnection;25;1;21;0 -WireConnection;27;0;25;1 -WireConnection;27;1;24;1 -WireConnection;33;0;27;0 -WireConnection;33;1;29;1 -WireConnection;35;0;33;0 -WireConnection;35;1;29;1 -WireConnection;40;0;35;0 -WireConnection;43;0;36;0 -WireConnection;31;0;28;0 -WireConnection;31;1;26;0 -WireConnection;37;0;32;0 -WireConnection;37;1;30;0 -WireConnection;34;0;31;0 -WireConnection;41;0;38;0 -WireConnection;41;1;37;0 -WireConnection;42;0;39;0 -WireConnection;42;1;34;0 -WireConnection;44;0;68;0 -WireConnection;44;1;49;0 -WireConnection;45;0;66;0 -WireConnection;45;1;60;0 -WireConnection;47;0;65;0 -WireConnection;49;0;59;0 -WireConnection;49;1;57;0 -WireConnection;50;0;47;0 -WireConnection;50;1;56;0 -WireConnection;51;0;42;0 -WireConnection;51;1;41;0 -WireConnection;52;0;43;0 -WireConnection;52;1;40;0 -WireConnection;53;0;69;0 -WireConnection;56;0;45;0 -WireConnection;56;1;67;0 -WireConnection;56;2;54;0 -WireConnection;58;0;40;0 -WireConnection;59;0;46;2 -WireConnection;59;2;55;0 -WireConnection;60;0;48;0 -WireConnection;60;1;40;0 -WireConnection;62;0;59;0 -WireConnection;63;0;53;0 -WireConnection;63;1;40;0 -WireConnection;65;0;64;0 -WireConnection;66;0;44;0 -WireConnection;66;1;58;0 -WireConnection;67;0;63;0 -WireConnection;68;0;61;0 -WireConnection;68;1;62;0 -WireConnection;1;2;50;0 -WireConnection;1;3;52;0 -WireConnection;1;6;51;0 -ASEEND*/ -//CHKSM=3B387D877FE60DC58C73D350C53553A7BE72919A \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader.meta deleted file mode 100644 index 7db6d7ace..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonFire.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 52f9fd64a6bd0ce44a2c16efc79b23e9 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader deleted file mode 100644 index 88dc51842..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader +++ /dev/null @@ -1,2555 +0,0 @@ -// Made with Amplify Shader Editor v1.9.7.1 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Toon/TFF_ToonWater" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - _ShallowColor("Shallow Color", Color) = (0,0.6117647,1,1) - _DeepColor("Deep Color", Color) = (0,0.3333333,0.8509804,1) - _ShallowColorDepth("Shallow Color Depth", Range( 0 , 15)) = 2.75 - _Opacity("Opacity", Range( 0 , 1)) = 0.5 - _OpacityDepth("Opacity Depth", Range( 0 , 20)) = 6.5 - _FoamColor("Foam Color", Color) = (0.8705882,0.8705882,0.8705882,1) - _FoamHardness("Foam Hardness", Range( 0 , 1)) = 0.33 - _FoamDistance("Foam Distance", Range( 0 , 1)) = 0.05 - _FoamOpacity("Foam Opacity", Range( 0 , 1)) = 0.65 - _FoamScale("Foam Scale", Range( 0 , 1)) = 0.2 - _FoamSpeed("Foam Speed", Range( 0 , 1)) = 0.125 - _FresnelColor("Fresnel Color", Color) = (0.8313726,0.8313726,0.8313726,1) - _FresnelIntensity("Fresnel Intensity", Range( 0 , 1)) = 0.4 - [Toggle(_WAVES_ON)] _Waves("Waves", Float) = 1 - _WaveAmplitude("Wave Amplitude", Range( 0 , 1)) = 0.5 - _WaveIntensity("Wave Intensity", Range( 0 , 1)) = 0.15 - _WaveSpeed("Wave Speed", Range( 0 , 1)) = 1 - _ReflectionsOpacity("Reflections Opacity", Range( 0 , 1)) = 0.65 - _ReflectionsScale("Reflections Scale", Range( 1 , 40)) = 4.8 - _ReflectionsScrollSpeed("Reflections Scroll Speed", Range( -1 , 1)) = 0.05 - _ReflectionsCutoff("Reflections Cutoff", Range( 0 , 1)) = 0.35 - _ReflectionsCutoffScale("Reflections Cutoff Scale", Range( 1 , 40)) = 3 - _ReflectionsCutoffScrollSpeed("Reflections Cutoff Scroll Speed", Range( -1 , 1)) = -1 - [Normal]_NormalMap("Normal Map", 2D) = "bump" {} - _NoiseTexture("Noise Texture", 2D) = "white" {} - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - - //[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent" "UniversalMaterialType"="Unlit" } - - Cull Back - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.0 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha - ZWrite Off - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #define _SURFACE_TYPE_TRANSPARENT 1 - #pragma multi_compile_fog - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #define ASE_NEEDS_FRAG_WORLD_POSITION - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_tangent : TANGENT; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - float4 ase_texcoord7 : TEXCOORD7; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - float3 ase_worldNormal = TransformObjectToWorldNormal(input.normalOS); - output.ase_texcoord5.xyz = ase_worldNormal; - float3 ase_worldTangent = TransformObjectToWorldDir(input.ase_tangent.xyz); - output.ase_texcoord6.xyz = ase_worldTangent; - float ase_vertexTangentSign = input.ase_tangent.w * ( unity_WorldTransformParams.w >= 0.0 ? 1.0 : -1.0 ); - float3 ase_worldBitangent = cross( ase_worldNormal, ase_worldTangent ) * ase_vertexTangentSign; - output.ase_texcoord7.xyz = ase_worldBitangent; - - output.ase_texcoord4.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord4.zw = 0; - output.ase_texcoord5.w = 0; - output.ase_texcoord6.w = 0; - output.ase_texcoord7.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_tangent : TANGENT; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - output.ase_tangent = input.ase_tangent; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - output.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag ( PackedVaryings input - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 appendResult31 = (float2(( ase_screenPosNorm.x + 0.01 ) , ( ase_screenPosNorm.y + 0.01 ))); - float2 temp_cast_1 = (_ReflectionsScrollSpeed).xx; - float2 texCoord41 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float2 panner40 = ( 1.0 * _Time.y * temp_cast_1 + ( texCoord41 * _ReflectionsScale )); - float temp_output_37_0 = ( UnpackNormalScale( tex2D( _NormalMap, panner40 ), 1.0f ).g * (0.0 + (_ReflectionsOpacity - 0.0) * (8.0 - 0.0) / (1.0 - 0.0)) ); - float Turbulence291 = temp_output_37_0; - float4 lerpResult24 = lerp( ase_screenPosNorm , float4( appendResult31, 0.0 , 0.0 ) , Turbulence291); - float screenDepth146 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth146 = abs( ( screenDepth146 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _ShallowColorDepth ) ); - float clampResult211 = clamp( distanceDepth146 , 0.0 , 1.0 ); - float4 lerpResult142 = lerp( _ShallowColor , _DeepColor , clampResult211); - float3 ase_viewVectorWS = ( _WorldSpaceCameraPos.xyz - WorldPosition ); - float3 ase_viewDirWS = normalize( ase_viewVectorWS ); - float3 ase_worldNormal = input.ase_texcoord5.xyz; - float fresnelNdotV136 = dot( ase_worldNormal, ase_viewDirWS ); - float fresnelNode136 = ( 0.0 + 1.0 * pow( 1.0 - fresnelNdotV136, (0.0 + (_FresnelIntensity - 1.0) * (10.0 - 0.0) / (0.0 - 1.0)) ) ); - float clampResult209 = clamp( fresnelNode136 , 0.0 , 1.0 ); - float4 lerpResult133 = lerp( lerpResult142 , _FresnelColor , clampResult209); - float4 blendOpSrc300 = ( 0.0 * tex2D( _NoiseTexture, lerpResult24.xy ) ); - float4 blendOpDest300 = lerpResult133; - float2 texCoord182 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float3 temp_cast_3 = (1.0).xxx; - float ase_lightIntensity = max( max( _MainLightColor.r, _MainLightColor.g ), _MainLightColor.b ); - float4 ase_lightColor = float4( _MainLightColor.rgb / ase_lightIntensity, ase_lightIntensity ); - float3 lerpResult7 = lerp( temp_cast_3 , ase_lightColor.rgb , 0.75); - float3 normalizeResult232 = normalize( ( _WorldSpaceCameraPos - WorldPosition ) ); - float2 temp_cast_5 = (_ReflectionsCutoffScrollSpeed).xx; - float2 texCoord338 = input.ase_texcoord4.xy * float2( 1,1 ) + float2( 0,0 ); - float2 panner342 = ( 1.0 * _Time.y * temp_cast_5 + ( texCoord338 * (2.0 + (_ReflectionsCutoffScale - 0.0) * (10.0 - 2.0) / (10.0 - 0.0)) )); - float3 ase_worldTangent = input.ase_texcoord6.xyz; - float3 ase_worldBitangent = input.ase_texcoord7.xyz; - float3 tanToWorld0 = float3( ase_worldTangent.x, ase_worldBitangent.x, ase_worldNormal.x ); - float3 tanToWorld1 = float3( ase_worldTangent.y, ase_worldBitangent.y, ase_worldNormal.y ); - float3 tanToWorld2 = float3( ase_worldTangent.z, ase_worldBitangent.z, ase_worldNormal.z ); - float3 tanNormal215 = UnpackNormalScale( tex2D( _NormalMap, panner342 ), 1.0f ); - float3 worldNormal215 = float3(dot(tanToWorld0,tanNormal215), dot(tanToWorld1,tanNormal215), dot(tanToWorld2,tanNormal215)); - float dotResult108 = dot( reflect( -normalizeResult232 , worldNormal215 ) , _MainLightPosition.xyz ); - float3 clampResult120 = clamp( ( ( pow( dotResult108 , exp( (0.0 + (_ReflectionsCutoff - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) * ase_lightColor.rgb ) * temp_output_37_0 ) , float3( 0,0,0 ) , float3( 1,1,1 ) ); - - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( ( ( blendOpSrc300 + blendOpDest300 ) + ( _FoamColor * temp_output_156_0 ) + ( _FoamColor * temp_output_185_0 ) ) * float4( lerpResult7 , 0.0 ) ) + float4( clampResult120 , 0.0 ) ).rgb; - float Alpha = clampResult299; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(input.positionCS, Color); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, input.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - float3 _LightDirection; - float3 _LightPosition; - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( output ); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - float4 ase_clipPos = TransformObjectToHClip((input.positionOS).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - output.ase_texcoord2 = screenPos; - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( input.normalOS ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = positionCS; - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 screenPos = input.ase_texcoord2; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 texCoord182 = input.ase_texcoord3.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord3.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - - float Alpha = clampResult299; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - output.ase_texcoord3.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = input.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 texCoord182 = input.ase_texcoord3.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord3.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - - float Alpha = clampResult299; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - float4 ase_texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - float4 ase_clipPos = TransformObjectToHClip((input.positionOS).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - output.ase_texcoord = screenPos; - - output.ase_texcoord1.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord1.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); - - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float4 screenPos = input.ase_texcoord; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 texCoord182 = input.ase_texcoord1.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord1.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - - surfaceDescription.Alpha = clampResult299; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - float4 ase_texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - float4 _SelectionID; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - float4 ase_clipPos = TransformObjectToHClip((input.positionOS).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - output.ase_texcoord = screenPos; - - output.ase_texcoord1.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord1.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float4 screenPos = input.ase_texcoord; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 texCoord182 = input.ase_texcoord1.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord1.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - - surfaceDescription.Alpha = clampResult299; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - #define REQUIRE_DEPTH_TEXTURE 1 - - - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #pragma shader_feature _WAVES_ON - - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NormalMap; - sampler2D _NoiseTexture; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - PackedVaryings VertexFunction(Attributes input ) - { - PackedVaryings output; - ZERO_INITIALIZE(PackedVaryings, output); - - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float2 uv_NormalMap = input.ase_texcoord.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; - #ifdef _WAVES_ON - float3 staticSwitch321 = ( input.normalOS * ( sin( ( ( _TimeParameters.x * _WaveSpeed ) - ( UnpackNormalScale( tex2Dlod( _NormalMap, float4( uv_NormalMap, 0, 0.0) ), 1.0f ).b * ( _WaveAmplitude * 30.0 ) ) ) ) * (0.0 + (_WaveIntensity - 0.0) * (0.15 - 0.0) / (1.0 - 0.0)) ) ); - #else - float3 staticSwitch321 = float3( 0,0,0 ); - #endif - - output.ase_texcoord2.xy = input.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - output.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = staticSwitch321; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = input.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.vertex = input.positionOS; - output.normalOS = input.normalOS; - output.ase_texcoord = input.ase_texcoord; - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].vertex, input[1].vertex, input[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - float4 ClipPos = input.clipPosV; - float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 texCoord182 = input.ase_texcoord2.xy * float2( 1,1 ) + float2( 0,0 ); - float screenDepth163 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth163 = abs( ( screenDepth163 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( ( tex2D( _NoiseTexture, ( ( (0.0 + (_FoamSpeed - 0.0) * (2.5 - 0.0) / (1.0 - 0.0)) * _TimeParameters.x ) + ( texCoord182 * (30.0 + (_FoamScale - 0.0) * (1.0 - 30.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamDistance - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)) ) ) ); - float clampResult208 = clamp( distanceDepth163 , 0.0 , 1.0 ); - float clampResult160 = clamp( pow( clampResult208 , (1.0 + (_FoamHardness - 0.0) * (10.0 - 1.0) / (1.0 - 0.0)) ) , 0.0 , 1.0 ); - float temp_output_156_0 = ( ( 1.0 - clampResult160 ) * _FoamOpacity ); - float screenDepth191 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth191 = abs( ( screenDepth191 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( (0.0 + (_FoamDistance - 0.0) * (15.0 - 0.0) / (1.0 - 0.0)) ) ); - float clampResult207 = clamp( distanceDepth191 , 0.0 , 1.0 ); - float2 texCoord200 = input.ase_texcoord2.xy * float2( 1,1 ) + float2( 0,0 ); - float FoamScale330 = _FoamScale; - float temp_output_185_0 = ( ( 1.0 - clampResult207 ) * ( tex2D( _NoiseTexture, ( ( _TimeParameters.x * _FoamSpeed ) + ( texCoord200 * (15.0 + (FoamScale330 - 0.0) * (1.0 - 15.0) / (1.0 - 0.0)) ) ) ).r * (0.0 + (_FoamOpacity - 0.0) * (0.85 - 0.0) / (1.0 - 0.0)) ) ); - float screenDepth294 = LinearEyeDepth(SHADERGRAPH_SAMPLE_SCENE_DEPTH( ase_screenPosNorm.xy ),_ZBufferParams); - float distanceDepth294 = abs( ( screenDepth294 - LinearEyeDepth( ase_screenPosNorm.z,_ZBufferParams ) ) / ( _OpacityDepth ) ); - float clampResult295 = clamp( distanceDepth294 , 0.0 , 1.0 ); - float clampResult299 = clamp( ( ( temp_output_156_0 + temp_output_185_0 ) + _Opacity + clampResult295 ) , 0.0 , 1.0 ); - - - float Alpha = clampResult299; - float AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - Pass - { - - Name "MotionVectors" - Tags { "LightMode"="MotionVectors" } - - ColorMask RG - - HLSLPROGRAM - - #pragma multi_compile_local _ALPHATEST_ON - #pragma multi_compile_instancing - #define _SURFACE_TYPE_TRANSPARENT 1 - #define ASE_FOG 1 - #pragma multi_compile _ LOD_FADE_CROSSFADE - #define ASE_VERSION 19701 - #define ASE_SRP_VERSION 170003 - - - #pragma vertex vert - #pragma fragment frag - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" - - - - struct Attributes - { - float4 positionOS : POSITION; - float3 positionOld : TEXCOORD4; - #if _ADD_PRECOMPUTED_VELOCITY - float3 alembicMotionVector : TEXCOORD5; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - float4 positionCS : SV_POSITION; - float4 positionCSNoJitter : TEXCOORD0; - float4 previousPositionCSNoJitter : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _NormalMap_ST; - float4 _ShallowColor; - float4 _DeepColor; - float4 _FresnelColor; - float4 _FoamColor; - float _WaveSpeed; - float _ReflectionsCutoff; - float _ReflectionsCutoffScale; - float _ReflectionsCutoffScrollSpeed; - float _FoamOpacity; - float _FoamHardness; - float _FoamDistance; - float _FoamScale; - float _FresnelIntensity; - float _Opacity; - float _ShallowColorDepth; - float _ReflectionsOpacity; - float _ReflectionsScale; - float _ReflectionsScrollSpeed; - float _WaveIntensity; - float _WaveAmplitude; - float _FoamSpeed; - float _OpacityDepth; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - PackedVaryings VertexFunction( Attributes input ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); - - float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; - - #if _ADD_PRECOMPUTED_VELOCITY - prevPos = prevPos - float4(input.alembicMotionVector, 0); - #endif - - output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - - return output; - } - - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - - half4 frag( PackedVaryings input ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( input.positionCS ); - #endif - - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); - } - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19701 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;176;-4204.356,-630.2246;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;175;-4205.662,-731.6252;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;174;-3972.264,-708.325;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.WireNode;253;-4303.472,-876.855;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;167;-3366.104,-652.344;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WireNode;333;-4112.28,-14.44718;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;198;-3650.654,-47.96329;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;197;-3336.181,88.40479;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.WireNode;251;-4776.923,-107.4519;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.WireNode;322;-3389.377,2215.97;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;196;-3336.181,-23.5952;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;307;-2032.02,1785.526;Float;False;Constant;_Float5;Float 5;16;0;Create;True;0;0;0;False;0;False;30;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WireNode;252;-3613.041,-168.5398;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;310;-1784.02,1713.526;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;309;-1950.244,1497.917;Inherit;True;Property;_TextureSample2;Texture Sample 2;15;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleAddOpNode;195;-3120.445,19.70538;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.DepthFade;191;-2697.633,-376.1268;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;312;-1878.244,1284.917;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;314;-1627.244,1347.917;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;207;-2396.567,-361.3667;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;160;-2501.454,-669.5529;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;313;-1579.244,1499.917;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;315;-1340.244,1457.917;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;188;-1935.248,-323.0315;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;189;-1933.043,-430.3739;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;326;-1219.781,1593.017;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.15;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SinOpNode;316;-1137.244,1446.917;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;185;-1741.658,-429.6407;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalVertexDataNode;319;-1023.477,1264.383;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;186;-1509.561,-550.1731;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;318;-914.4769,1459.383;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;320;-642.4764,1401.383;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LerpOp;7;-763.7581,-295.9514;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-502,-347;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.WireNode;283;-4195.99,-1381.379;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.LerpOp;133;-2300.623,-2060.479;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;28;-3703.617,-1039.813;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;153;-1245.794,-979.9147;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;8;-1038.874,-393.6953;Float;False;Constant;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;341;-5254.77,809.9957;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.RangedFloatNode;103;-4306.912,1086.504;Float;False;Property;_ReflectionsCutoff;Reflections Cutoff;20;0;Create;True;0;0;0;False;0;False;0.35;0.4;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;37;-3110.718,1526.32;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WireNode;276;-4240.283,1404.784;Inherit;False;1;0;SAMPLER2D;;False;1;SAMPLER2D;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;3;-7.258438,42.71525;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.OneMinusNode;157;-1972.416,-722.1175;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;156;-1735.157,-721.9216;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;180;-4458.059,-693.924;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;328;-4630.549,-826.6267;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;2.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;327;-4463.134,-463.9725;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;30;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;292;-3528.146,-940.1373;Inherit;False;291;Turbulence;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;334;-2164.44,-197.7451;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;0.85;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;299;-29.67244,158.5789;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;115;-3169.713,1096.88;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.TFHCRemapNode;344;-5762.197,856.1603;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;10;False;3;FLOAT;2;False;4;FLOAT;10;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ExpOpNode;106;-3647.712,1138.879;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;104;-3888.712,1137.879;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;10;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;291;-2844.731,1476.337;Inherit;False;Turbulence;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;308;-2133.019,1695.526;Float;False;Property;_WaveAmplitude;Wave Amplitude;14;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;311;-1940.244,1386.917;Float;False;Property;_WaveSpeed;Wave Speed;16;0;Create;True;0;0;0;False;0;False;1;1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;317;-1546.244,1649.917;Float;False;Property;_WaveIntensity;Wave Intensity;15;0;Create;True;0;0;0;False;0;False;0.15;0.15;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;321;-371.4765,1194.383;Float;True;Property;_Waves;Waves;13;0;Create;True;0;0;0;True;0;False;0;1;1;True;;Toggle;2;Key0;Key1;Create;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ColorNode;144;-3357.609,-2499.496;Float;False;Property;_ShallowColor;Shallow Color;0;0;Create;True;0;0;0;False;0;False;0,0.6117647,1,1;0.2055891,0.657963,0.7924528,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.ColorNode;145;-3355.598,-2327.641;Float;False;Property;_DeepColor;Deep Color;1;0;Create;True;0;0;0;False;0;False;0,0.3333333,0.8509804,1;0.1358579,0.3453515,0.4056603,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.RangedFloatNode;150;-3707.875,-2147.751;Float;False;Property;_ShallowColorDepth;Shallow Color Depth;2;0;Create;True;0;0;0;False;0;False;2.75;0.98;0;15;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;211;-3077.25,-2206.991;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;142;-2870.249,-2318.203;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ColorNode;135;-2916.434,-2149.101;Float;False;Property;_FresnelColor;Fresnel Color;11;0;Create;True;0;0;0;False;0;False;0.8313726,0.8313726,0.8313726,1;0.4079297,0.6336544,0.9716981,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.ClampOpNode;209;-2662.726,-1922.949;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.FresnelNode;136;-2948.464,-1897.474;Inherit;False;Standard;WorldNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;323;-3277.878,-1866.145;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;10;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;137;-3600.203,-1822.516;Float;False;Property;_FresnelIntensity;Fresnel Intensity;12;0;Create;True;0;0;0;False;0;False;0.4;0.6;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;329;-2615.246,-1377.247;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.DynamicAppendNode;31;-3495.617,-1122.813;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;27;-3701.617,-1171.813;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ScreenPosInputsNode;26;-4002.373,-1267.839;Float;False;0;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;184;-1219.319,-585.1722;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.PowerNode;161;-2655.053,-662.853;Inherit;False;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DepthFade;163;-3081.554,-677.7533;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;177;-4944.057,-773.5247;Float;False;Property;_FoamSpeed;Foam Speed;10;0;Create;True;0;0;0;False;0;False;0.125;0.125;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;183;-4811.354,-430.5248;Float;False;Property;_FoamScale;Foam Scale;9;0;Create;True;0;0;0;False;0;False;0.2;0.38;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;172;-3995.271,-284.7159;Float;False;Property;_FoamDistance;Foam Distance;7;0;Create;True;0;0;0;False;0;False;0.05;0.036;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;325;-3652.749,-477.7855;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;10;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;335;-3275.425,-339.7545;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;15;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;162;-3269.352,-510.5533;Float;False;Property;_FoamHardness;Foam Hardness;6;0;Create;True;0;0;0;False;0;False;0.33;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;324;-2935.057,-559.5585;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;10;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;158;-2602.202,-541.8613;Float;False;Property;_FoamOpacity;Foam Opacity;8;0;Create;True;0;0;0;False;0;False;0.65;0.6;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;10;-1053.874,-313.6953;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.ClampOpNode;120;-2266.853,884.6415;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;1,1,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;293;-1986.044,216.6788;Float;False;Property;_OpacityDepth;Opacity Depth;4;0;Create;True;0;0;0;False;0;False;6.5;17;0;20;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;296;-1538.928,130.925;Float;False;Property;_Opacity;Opacity;3;0;Create;True;0;0;0;False;0;False;0.5;0.55;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DepthFade;294;-1660.639,213.1233;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;295;-1360.963,241.3745;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;297;-1184.928,160.9251;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DotProductOpNode;108;-3696.712,864.8806;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;109;-4066.71,922.8796;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.NegateNode;242;-4248.241,599.1326;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.NormalizeNode;232;-4417.712,513.7786;Inherit;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.WorldSpaceCameraPos;230;-4913.765,378.1346;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.WorldPosInputsNode;228;-4904.476,521.1351;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;339;-6050.331,878.7787;Float;False;Property;_ReflectionsCutoffScale;Reflections Cutoff Scale;21;0;Create;True;0;0;0;False;0;False;3;16;1;40;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;340;-5569.564,965.5146;Float;False;Property;_ReflectionsCutoffScrollSpeed;Reflections Cutoff Scroll Speed;22;0;Create;True;0;0;0;False;0;False;-1;-0.025;-1;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;38;-3682.716,1829.842;Float;False;Property;_ReflectionsOpacity;Reflections Opacity;17;0;Create;True;0;0;0;False;0;False;0.65;0.85;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;336;-3361.807,1801.903;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;8;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;250;-3044.558,-1352.932;Inherit;True;Property;_TextureSample1;Texture Sample 1;28;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.TexturePropertyNode;173;-5232.027,-871.7961;Float;True;Property;_NoiseTexture;Noise Texture;24;0;Create;True;0;0;0;False;0;False;None;41d01fe6e8db970449385e7f43d4aa06;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SamplerNode;170;-3737.955,-735.1021;Inherit;True;Property;_TextureSample3;Texture Sample 3;32;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.ClampOpNode;208;-2823.62,-716.0146;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;193;-2878.555,-197.9528;Inherit;True;Property;_TextureSample4;Texture Sample 4;38;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.TexturePropertyNode;45;-5207.198,1505.125;Float;True;Property;_NormalMap;Normal Map;23;1;[Normal];Create;True;0;0;0;False;0;False;None;db76e0ea49f14f147bee066871c70d88;True;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.PowerNode;107;-3448.712,958.8796;Inherit;False;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;231;-4581.978,439.0242;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.PannerNode;342;-5064.676,818.4287;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0.1,0.1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;338;-5567.157,752.7777;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;11;-1100.037,-186.0254;Float;False;Constant;_LightColorInfluence;Light Color Influence;17;0;Create;True;0;0;0;False;0;False;0.75;1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;155;-1896.206,-941.9939;Float;False;Property;_FoamColor;Foam Color;5;0;Create;True;0;0;0;False;0;False;0.8705882,0.8705882,0.8705882,1;0.8962264,0.7051899,0.4946154,1;True;True;0;6;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.WorldNormalVector;215;-4345.526,692.3788;Inherit;True;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SamplerNode;218;-4691.716,685.0096;Inherit;True;Property;_TextureSample5;Texture Sample 5;40;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.RangedFloatNode;304;-2989.008,-1456.633;Float;False;Constant;_Float4;Float 4;3;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DepthFade;146;-3349.992,-2141.228;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.BlendOpsNode;300;-1325.759,-1224.283;Inherit;False;LinearDodge;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;24;-3242.824,-1224.616;Inherit;False;3;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;29;-3973.617,-1062.813;Float;False;Constant;_Float2;Float 2;5;0;Create;True;0;0;0;False;0;False;0.01;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;182;-4490.054,-610.6247;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RegisterLocalVarNode;330;-4469.236,-206.2479;Inherit;False;FoamScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;331;-3859.902,277.3207;Inherit;False;330;FoamScale;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TFHCRemapNode;332;-3627.084,231.9495;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;15;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;200;-3682.04,86.26563;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;12;-744,-593;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;41;-4248.541,1580.583;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;43;-4264.715,1701.584;Float;False;Property;_ReflectionsScale;Reflections Scale;18;0;Create;True;0;0;0;False;0;False;4.8;22;1;40;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;247;-4250.948,1793.32;Float;False;Property;_ReflectionsScrollSpeed;Reflections Scroll Speed;19;0;Create;True;0;0;0;False;0;False;0.05;0.045;-1;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;42;-3936.153,1637.801;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.PannerNode;40;-3749.059,1646.234;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0.1,0.1;False;1;FLOAT;1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SamplerNode;39;-3517.411,1571.542;Inherit;True;Property;_TextureSample0;Texture Sample 0;7;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;6;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT3;5 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;117;-2655.682,1010.661;Inherit;True;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ReflectOpNode;234;-4061.457,620.4695;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LightColorNode;116;-3440.712,1217.878;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;398;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;397;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;402;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;403;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;400;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;5;False;;10;False;;1;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;401;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;399;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;395;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;404;278.7999,46.39999;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;396;278.7999,46.39999;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Toon/TFF_ToonWater;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Unlit;True;2;True;12;all;0;False;True;1;5;False;;10;False;;1;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;25;Surface;1;637988387465011373; Blend;0;0;Two Sided;1;0;Forward Only;1;638418258611547557;Alpha Clipping;1;0; Use Shadow Threshold;0;0;Cast Shadows;1;0;Receive Shadows;1;0;Motion Vectors;1;0; Add Precomputed Velocity;0;0;GPU Instancing;1;0;LOD CrossFade;1;637988392000669773;Built-in Fog;1;637988391994070728;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;11;False;True;True;True;False;False;True;True;True;False;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;405;278.7999,146.4;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;MotionVectors;0;10;MotionVectors;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;False;False;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=MotionVectors;False;False;0;;0;0;Standard;0;False;0 -WireConnection;176;0;182;0 -WireConnection;176;1;327;0 -WireConnection;175;0;328;0 -WireConnection;175;1;180;0 -WireConnection;174;0;175;0 -WireConnection;174;1;176;0 -WireConnection;253;0;173;0 -WireConnection;167;0;170;1 -WireConnection;167;1;325;0 -WireConnection;333;0;177;0 -WireConnection;197;0;200;0 -WireConnection;197;1;332;0 -WireConnection;251;0;173;0 -WireConnection;322;0;45;0 -WireConnection;196;0;198;0 -WireConnection;196;1;333;0 -WireConnection;252;0;251;0 -WireConnection;310;0;308;0 -WireConnection;310;1;307;0 -WireConnection;309;0;322;0 -WireConnection;195;0;196;0 -WireConnection;195;1;197;0 -WireConnection;191;0;335;0 -WireConnection;314;0;312;0 -WireConnection;314;1;311;0 -WireConnection;207;0;191;0 -WireConnection;160;0;161;0 -WireConnection;313;0;309;3 -WireConnection;313;1;310;0 -WireConnection;315;0;314;0 -WireConnection;315;1;313;0 -WireConnection;188;0;193;1 -WireConnection;188;1;334;0 -WireConnection;189;0;207;0 -WireConnection;326;0;317;0 -WireConnection;316;0;315;0 -WireConnection;185;0;189;0 -WireConnection;185;1;188;0 -WireConnection;186;0;156;0 -WireConnection;186;1;185;0 -WireConnection;318;0;316;0 -WireConnection;318;1;326;0 -WireConnection;320;0;319;0 -WireConnection;320;1;318;0 -WireConnection;7;0;8;0 -WireConnection;7;1;10;1 -WireConnection;7;2;11;0 -WireConnection;5;0;12;0 -WireConnection;5;1;7;0 -WireConnection;283;0;173;0 -WireConnection;133;0;142;0 -WireConnection;133;1;135;0 -WireConnection;133;2;209;0 -WireConnection;28;0;26;2 -WireConnection;28;1;29;0 -WireConnection;153;0;155;0 -WireConnection;153;1;156;0 -WireConnection;341;0;338;0 -WireConnection;341;1;344;0 -WireConnection;37;0;39;2 -WireConnection;37;1;336;0 -WireConnection;276;0;45;0 -WireConnection;3;0;5;0 -WireConnection;3;1;120;0 -WireConnection;157;0;160;0 -WireConnection;156;0;157;0 -WireConnection;156;1;158;0 -WireConnection;328;0;177;0 -WireConnection;327;0;183;0 -WireConnection;334;0;158;0 -WireConnection;299;0;297;0 -WireConnection;115;0;107;0 -WireConnection;115;1;116;1 -WireConnection;344;0;339;0 -WireConnection;106;0;104;0 -WireConnection;104;0;103;0 -WireConnection;291;0;37;0 -WireConnection;321;0;320;0 -WireConnection;211;0;146;0 -WireConnection;142;0;144;0 -WireConnection;142;1;145;0 -WireConnection;142;2;211;0 -WireConnection;209;0;136;0 -WireConnection;136;3;323;0 -WireConnection;323;0;137;0 -WireConnection;329;0;304;0 -WireConnection;329;1;250;0 -WireConnection;31;0;27;0 -WireConnection;31;1;28;0 -WireConnection;27;0;26;1 -WireConnection;27;1;29;0 -WireConnection;184;0;155;0 -WireConnection;184;1;185;0 -WireConnection;161;0;208;0 -WireConnection;161;1;324;0 -WireConnection;163;0;167;0 -WireConnection;325;0;172;0 -WireConnection;335;0;172;0 -WireConnection;324;0;162;0 -WireConnection;120;0;117;0 -WireConnection;294;0;293;0 -WireConnection;295;0;294;0 -WireConnection;297;0;186;0 -WireConnection;297;1;296;0 -WireConnection;297;2;295;0 -WireConnection;108;0;234;0 -WireConnection;108;1;109;0 -WireConnection;242;0;232;0 -WireConnection;232;0;231;0 -WireConnection;336;0;38;0 -WireConnection;250;0;283;0 -WireConnection;250;1;24;0 -WireConnection;170;0;253;0 -WireConnection;170;1;174;0 -WireConnection;208;0;163;0 -WireConnection;193;0;252;0 -WireConnection;193;1;195;0 -WireConnection;107;0;108;0 -WireConnection;107;1;106;0 -WireConnection;231;0;230;0 -WireConnection;231;1;228;0 -WireConnection;342;0;341;0 -WireConnection;342;2;340;0 -WireConnection;215;0;218;0 -WireConnection;218;0;45;0 -WireConnection;218;1;342;0 -WireConnection;146;0;150;0 -WireConnection;300;0;329;0 -WireConnection;300;1;133;0 -WireConnection;24;0;26;0 -WireConnection;24;1;31;0 -WireConnection;24;2;292;0 -WireConnection;330;0;183;0 -WireConnection;332;0;331;0 -WireConnection;12;0;300;0 -WireConnection;12;1;153;0 -WireConnection;12;2;184;0 -WireConnection;42;0;41;0 -WireConnection;42;1;43;0 -WireConnection;40;0;42;0 -WireConnection;40;2;247;0 -WireConnection;39;0;276;0 -WireConnection;39;1;40;0 -WireConnection;117;0;115;0 -WireConnection;117;1;37;0 -WireConnection;234;0;242;0 -WireConnection;234;1;215;0 -WireConnection;396;2;3;0 -WireConnection;396;3;299;0 -WireConnection;396;5;321;0 -ASEEND*/ -//CHKSM=6D3327FEF5BBF61C97EF9B2EFD496A60661E0CAD \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader.meta b/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader.meta deleted file mode 100644 index 601dd1bea..000000000 --- a/Assets/Resources/Background/@야외/자연01/Shaders/TFF_ToonWater.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 40735a78a24974b4ca151bb9fd04c9fc -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연B/Scripts.meta b/Assets/Resources/Background/@야외/자연B/Scripts.meta index a14e2aee4..9c81211ef 100644 --- a/Assets/Resources/Background/@야외/자연B/Scripts.meta +++ b/Assets/Resources/Background/@야외/자연B/Scripts.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a690e88273ba5e5468da75487591f94d +guid: 5bea88b97845daf40a109677f8ca3eac folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras.meta index 338866bc7..c172b0cc1 100644 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras.meta +++ b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6eadab8b16ae20f4fa84912d68dcd515 +guid: c61e54ebeb43a924897d579595bb6b4c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/CameraGuidelines.txt.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/CameraGuidelines.txt.meta index e459562bb..850a5cc79 100644 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/CameraGuidelines.txt.meta +++ b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/CameraGuidelines.txt.meta @@ -1,12 +1,7 @@ fileFormatVersion: 2 -guid: 86f4276d9602ff547968823666aa5699 +guid: b8c99aae95399e64e874abddd408e5e0 TextScriptImporter: + externalObjects: {} userData: assetBundleName: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/CameraGuidelines.txt - uploadId: 645705 + assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs deleted file mode 100644 index d7dc0b8b7..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Kikingao -{ - public class MoveCamera : MonoBehaviour - { - public float sensitivity = 0.03f; - public Transform destination; - public float time = 5f; - void Update() - { - transform.position = Vector3.Lerp(transform.position, destination.position, time * Time.deltaTime); - transform.rotation = Quaternion.Lerp(transform.rotation, destination.rotation, time * Time.deltaTime); - } - } -} \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs.meta deleted file mode 100644 index 75b84eecb..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/MoveCamera.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 22e327ce9f9cfd141831d6b00ac0bfab -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/MoveCamera.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs.meta index ad5475072..97c842229 100644 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs.meta +++ b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs.meta @@ -1,6 +1,8 @@ fileFormatVersion: 2 -guid: a869b219648fd6c47a3c134f3520ccff +guid: d25e1a72ffe848a47ab39788a0eb0831 folderAsset: yes DefaultImporter: + externalObjects: {} userData: assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs/FreeLookCameraRig.prefab.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs/FreeLookCameraRig.prefab.meta index 0989758b3..a1d6ad74d 100644 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs/FreeLookCameraRig.prefab.meta +++ b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Prefabs/FreeLookCameraRig.prefab.meta @@ -1,14 +1,7 @@ fileFormatVersion: 2 -guid: 49a0e923d39ec3c4c8bb97699e2f2903 +guid: deda8b00c890a4e459e877553393ce9d PrefabImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/Prefabs/FreeLookCameraRig.prefab - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts.meta deleted file mode 100644 index e26e79856..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts.meta +++ /dev/null @@ -1,6 +0,0 @@ -fileFormatVersion: 2 -guid: e7b22774d57de9f4eb961b3ff68ed80a -folderAsset: yes -DefaultImporter: - userData: - assetBundleName: diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs deleted file mode 100644 index 092bbb286..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using UnityEngine; - -namespace UnityStandardAssets.Cameras -{ - public abstract class AbstractTargetFollower : MonoBehaviour - { - public enum UpdateType // The available methods of updating are: - { - FixedUpdate, // Update in FixedUpdate (for tracking rigidbodies). - LateUpdate, // Update in LateUpdate. (for tracking objects that are moved in Update) - ManualUpdate, // user must call to update camera - } - - [SerializeField] protected Transform m_Target; // The target object to follow - [SerializeField] private bool m_AutoTargetPlayer = true; // Whether the rig should automatically target the player. - [SerializeField] private UpdateType m_UpdateType; // stores the selected update type - - protected Rigidbody targetRigidbody; - - - protected virtual void Start() - { - // if auto targeting is used, find the object tagged "Player" - // any class inheriting from this should call base.Start() to perform this action! - if (m_AutoTargetPlayer) - { - FindAndTargetPlayer(); - } - if (m_Target == null) return; - targetRigidbody = m_Target.GetComponent(); - } - - - private void FixedUpdate() - { - // we update from here if updatetype is set to Fixed, or in auto mode, - // if the target has a rigidbody, and isn't kinematic. - if (m_AutoTargetPlayer && (m_Target == null || !m_Target.gameObject.activeSelf)) - { - FindAndTargetPlayer(); - } - if (m_UpdateType == UpdateType.FixedUpdate) - { - FollowTarget(Time.deltaTime); - } - } - - - private void LateUpdate() - { - // we update from here if updatetype is set to Late, or in auto mode, - // if the target does not have a rigidbody, or - does have a rigidbody but is set to kinematic. - if (m_AutoTargetPlayer && (m_Target == null || !m_Target.gameObject.activeSelf)) - { - FindAndTargetPlayer(); - } - if (m_UpdateType == UpdateType.LateUpdate) - { - FollowTarget(Time.deltaTime); - } - } - - - public void ManualUpdate() - { - // we update from here if updatetype is set to Late, or in auto mode, - // if the target does not have a rigidbody, or - does have a rigidbody but is set to kinematic. - if (m_AutoTargetPlayer && (m_Target == null || !m_Target.gameObject.activeSelf)) - { - FindAndTargetPlayer(); - } - if (m_UpdateType == UpdateType.ManualUpdate) - { - FollowTarget(Time.deltaTime); - } - } - - protected abstract void FollowTarget(float deltaTime); - - - public void FindAndTargetPlayer() - { - // auto target an object tagged player, if no target has been assigned - var targetObj = GameObject.FindGameObjectWithTag("Player"); - if (targetObj) - { - SetTarget(targetObj.transform); - } - } - - - public virtual void SetTarget(Transform newTransform) - { - m_Target = newTransform; - } - - - public Transform Target - { - get { return m_Target; } - } - } -} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs.meta deleted file mode 100644 index 89c1d5548..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/AbstractTargetFollower.cs.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 89a534d869bfccd49bebf7cb6fb244b6 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/Scripts/AbstractTargetFollower.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs deleted file mode 100644 index cd5b35b27..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using UnityEngine; - - -namespace UnityStandardAssets.Cameras -{ - public class FreeLookCam : PivotBasedCameraRig - { - // This script is designed to be placed on the root object of a camera rig, - // comprising 3 gameobjects, each parented to the next: - - // Camera Rig - // Pivot - // Camera - - [SerializeField] private float m_MoveSpeed = 1f; // How fast the rig will move to keep up with the target's position. - [Range(0f, 10f)] [SerializeField] private float m_TurnSpeed = 1.5f; // How fast the rig will rotate from user input. - [SerializeField] private float m_TurnSmoothing = 0.0f; // How much smoothing to apply to the turn input, to reduce mouse-turn jerkiness - [SerializeField] private float m_TiltMax = 75f; // The maximum value of the x axis rotation of the pivot. - [SerializeField] private float m_TiltMin = 45f; // The minimum value of the x axis rotation of the pivot. - [SerializeField] private bool m_LockCursor = false; // Whether the cursor should be hidden and locked. - [SerializeField] private bool m_VerticalAutoReturn = false; // set wether or not the vertical axis should auto return - - private float m_LookAngle; // The rig's y axis rotation. - private float m_TiltAngle; // The pivot's x axis rotation. - private const float k_LookDistance = 100f; // How far in front of the pivot the character's look target is. - private Vector3 m_PivotEulers; - private Quaternion m_PivotTargetRot; - private Quaternion m_TransformTargetRot; - - protected override void Awake() - { - base.Awake(); - // Lock or unlock the cursor. - Cursor.lockState = m_LockCursor ? CursorLockMode.Locked : CursorLockMode.None; - Cursor.visible = !m_LockCursor; - m_PivotEulers = m_Pivot.rotation.eulerAngles; - - m_PivotTargetRot = m_Pivot.transform.localRotation; - m_TransformTargetRot = transform.localRotation; - } - - - protected void Update() - { - HandleRotationMovement(); - if (m_LockCursor && Input.GetMouseButtonUp(0)) - { - Cursor.lockState = m_LockCursor ? CursorLockMode.Locked : CursorLockMode.None; - Cursor.visible = !m_LockCursor; - } - } - - - private void OnDisable() - { - Cursor.lockState = CursorLockMode.None; - Cursor.visible = true; - } - - - protected override void FollowTarget(float deltaTime) - { - if (m_Target == null) return; - // Move the rig towards target position. - transform.position = Vector3.Lerp(transform.position, m_Target.position, deltaTime*m_MoveSpeed); - } - - - private void HandleRotationMovement() - { - if(Time.timeScale < float.Epsilon) - return; - - // Read the user input - var x = Input.GetAxis("Mouse X"); - var y = Input.GetAxis("Mouse Y"); - - // Adjust the look angle by an amount proportional to the turn speed and horizontal input. - m_LookAngle += x*m_TurnSpeed; - - // Rotate the rig (the root object) around Y axis only: - m_TransformTargetRot = Quaternion.Euler(0f, m_LookAngle, 0f); - - if (m_VerticalAutoReturn) - { - // For tilt input, we need to behave differently depending on whether we're using mouse or touch input: - // on mobile, vertical input is directly mapped to tilt value, so it springs back automatically when the look input is released - // we have to test whether above or below zero because we want to auto-return to zero even if min and max are not symmetrical. - m_TiltAngle = y > 0 ? Mathf.Lerp(0, -m_TiltMin, y) : Mathf.Lerp(0, m_TiltMax, -y); - } - else - { - // on platforms with a mouse, we adjust the current angle based on Y mouse input and turn speed - m_TiltAngle -= y*m_TurnSpeed; - // and make sure the new value is within the tilt range - m_TiltAngle = Mathf.Clamp(m_TiltAngle, -m_TiltMin, m_TiltMax); - } - - // Tilt input around X is applied to the pivot (the child of this object) - m_PivotTargetRot = Quaternion.Euler(m_TiltAngle, m_PivotEulers.y , m_PivotEulers.z); - - if (m_TurnSmoothing > 0) - { - m_Pivot.localRotation = Quaternion.Slerp(m_Pivot.localRotation, m_PivotTargetRot, m_TurnSmoothing * Time.deltaTime); - transform.localRotation = Quaternion.Slerp(transform.localRotation, m_TransformTargetRot, m_TurnSmoothing * Time.deltaTime); - } - else - { - m_Pivot.localRotation = m_PivotTargetRot; - transform.localRotation = m_TransformTargetRot; - } - } - } -} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs.meta deleted file mode 100644 index 7f895bf6e..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/FreeLookCam.cs.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: e44af8091779fcb40801d5b284353dbe -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/Scripts/FreeLookCam.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs deleted file mode 100644 index cc76a6a73..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using UnityEngine; - - -namespace UnityStandardAssets.Cameras -{ - public abstract class PivotBasedCameraRig : AbstractTargetFollower - { - // This script is designed to be placed on the root object of a camera rig, - // comprising 3 gameobjects, each parented to the next: - - // Camera Rig - // Pivot - // Camera - - protected Transform m_Cam; // the transform of the camera - protected Transform m_Pivot; // the point at which the camera pivots around - protected Vector3 m_LastTargetPosition; - - - protected virtual void Awake() - { - // find the camera in the object hierarchy - m_Cam = GetComponentInChildren().transform; - m_Pivot = m_Cam.parent; - } - } -} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs.meta deleted file mode 100644 index 06f794049..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 58cb183e16853564e9ed457f8a296db1 -labels: -- Done -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Cameras/Scripts/PivotBasedCameraRig.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Editor.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Editor.meta deleted file mode 100644 index d958eecaf..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 692c30eb1371fd640a2a62eb60de923b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs b/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs deleted file mode 100644 index 0368422b5..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; -[CustomEditor(typeof(RenderTextureBaker))] -public class RenderTextureEditor : Editor -{ - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - RenderTextureBaker renderMap = (RenderTextureBaker)target; - - if (GUILayout.Button("Set up Miminap Camera")) - - { - renderMap.GetBounds(); - renderMap.SetUpCam(); - - } - if (GUILayout.Button("Draw Diffuse Map")) renderMap.ReDrawDiffuseMap(); - } - -} diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs.meta deleted file mode 100644 index be0f63e13..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/Editor/RendeTextureEditor.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 8f23ca67641baa5449a1c484d71689e8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/Editor/RendeTextureEditor.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs b/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs deleted file mode 100644 index 5fb709fb0..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs +++ /dev/null @@ -1,161 +0,0 @@ -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; - -using RenderPipeline = UnityEngine.Rendering.RenderPipelineManager; -[ExecuteInEditMode] -public class RenderTextureBaker : MonoBehaviour -{ - - [Tooltip("Orthographic Camera")] - public Camera camToDrawWith; - // layer to render - [SerializeField] - LayerMask layer; - // objects to render - [Tooltip("Used to determine the camera's size depending on the mesh's dimensions ")] - - [SerializeField] - Renderer[] renderers; - // unity terrain to render - - [SerializeField] - Terrain[] terrains; - // map resolution - public int resolution = 512; - - // update texture every frame - [SerializeField] - bool RealTimeDiffuse; - RenderTexture tempTex; - - private Bounds bounds; - // resolution of the map - - // Start is called before the first frame update - - public void GetBounds() - { - bounds = new Bounds(transform.position, Vector3.zero); - if (renderers.Length > 0) - { - foreach (Renderer renderer in renderers) - { - bounds.Encapsulate(renderer.bounds); - } - } - - if (terrains.Length > 0) - { - foreach (Terrain terrain in terrains) - { - bounds.Encapsulate(terrain.terrainData.bounds); - } - } - } - public void ReDrawDiffuseMap() - { - tempTex = new RenderTexture(resolution, resolution, 24); - DrawDiffuseMap(); - } - - - - void Start() - { - ReDrawDiffuseMap(); - } - - void OnRenderObject() - { - if (!RealTimeDiffuse) - { - return; - } - UpdateTex(); - } - - void UpdateTex() - { - camToDrawWith.enabled = true; - camToDrawWith.targetTexture = tempTex; - Shader.SetGlobalTexture("TB_DEPTH", tempTex); - } - public void DrawDiffuseMap() - { - DrawToMap("TB_DEPTH"); - } - private void OnDestroy() - { - RenderPipeline.beginCameraRendering -= UpdateCamera; - } - - void UpdateCamera(ScriptableRenderContext SRC, Camera camera) - { - // Unity reverted the obsolete status and RenderSingleCamera will soon be usable again while they are looking for a better solution. - UniversalRenderPipeline.RenderSingleCamera(SRC, camToDrawWith); - } - - void DrawToMap(string target) - { - camToDrawWith.enabled = true; - camToDrawWith.targetTexture = tempTex; - camToDrawWith.depthTextureMode = DepthTextureMode.Depth; - - //the total width of the bounding box of our cameras view - Shader.SetGlobalFloat("TB_SCALE", GetComponent().orthographicSize * 2); - //find the bottom corner of the texture in world scale by subtracting the size of the camera from its x and z position - Shader.SetGlobalFloat("TB_OFFSET_X", camToDrawWith.transform.position.x - camToDrawWith.orthographicSize); - Shader.SetGlobalFloat("TB_OFFSET_Z", camToDrawWith.transform.position.z - camToDrawWith.orthographicSize); - //we'll also need the relative y position of the camera, lets get this by subtracting the far clip plane from the camera y position - Shader.SetGlobalFloat("TB_OFFSET_Y", camToDrawWith.transform.position.y - camToDrawWith.farClipPlane); - //we'll also need the far clip plane itself to know the range of y values in the depth texture - Shader.SetGlobalFloat("TB_FARCLIP", camToDrawWith.farClipPlane); - - //camToDrawWith.Render(); - RenderPipeline.beginCameraRendering += UpdateCamera; ; - - Shader.SetGlobalTexture(target, tempTex); - camToDrawWith.enabled = false; - } - float CalculateOrthographicSize() - { - //return bounds.size.magnitude; - var orthographicSize = camToDrawWith.orthographicSize; - - Vector2 min = bounds.min; - Vector2 max = bounds.max; - - var width = (max - min).x ; - var height = (max - min).y ; - - if (width > height) - { - orthographicSize = Mathf.Abs(width) / camToDrawWith.aspect / 2f; - } - else - { - orthographicSize = Mathf.Abs(height) / 2f; - } - - return Mathf.Max(orthographicSize, 1f); - } - public void SetUpCam() - { - transform.position = Vector3.zero; - camToDrawWith.transform.rotation = Quaternion.Euler(90f, 0, 0); - - if (camToDrawWith == null) - { - camToDrawWith = GetComponentInChildren(); - } - - camToDrawWith.cullingMask = layer; - camToDrawWith.orthographicSize = CalculateOrthographicSize(); - camToDrawWith.transform.parent = null; - camToDrawWith.transform.position = bounds.center + new Vector3(0, bounds.extents.y + 3f, 0); - camToDrawWith.transform.parent = gameObject.transform; - camToDrawWith.enabled = false; - } - -} \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs.meta b/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs.meta deleted file mode 100644 index b2c8350a4..000000000 --- a/Assets/Resources/Background/@야외/자연B/Scripts/RenderTextureBaker.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 7f136275297291e48b362a3974c2a095 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Scripts/RenderTextureBaker.cs - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders.meta b/Assets/Resources/Background/@야외/자연B/Shaders.meta deleted file mode 100644 index ac7157e3e..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ac2a4d90ae39750408d67699e2299b8f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader deleted file mode 100644 index ad3fb5b9a..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader +++ /dev/null @@ -1,1043 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_BlendingGrass" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_Color0("Color 0", Color) = (0.5264154,0.7264151,0.2158686,0) - _Color1("Color 1", Color) = (0.4464056,0.6981132,0.1350124,0) - _HeightStartGradient("Height Start Gradient", Range( 0 , 1)) = 0.1 - _HeightGradient("Height Gradient", Range( 0 , 1)) = 0.3 - _Texture("Texture", 2D) = "white" {} - _Clip("Clip", Range( 0 , 1)) = 0.5 - [ASEEnd]_ShadowControl("ShadowControl", Float) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Off - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 lightmapUVOrVertexSH : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Color1; - float4 _Texture_ST; - float _ShadowControl; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D TB_DEPTH; - float TB_OFFSET_X; - float TB_OFFSET_Z; - float TB_SCALE; - sampler2D _Texture; - - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - VertexOutput VertexFunction ( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - OUTPUT_SH( ase_worldNormal, o.lightmapUVOrVertexSH.xyz ); - o.ase_texcoord4.xyz = ase_worldNormal; - - o.ase_texcoord5 = v.vertex; - o.ase_texcoord6.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.w = 0; - o.ase_texcoord6.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - #ifdef ASE_FOG - o.fogFactor = ComputeFogFactor( positionCS.z ); - #endif - o.clipPos = positionCS; - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord1 = v.texcoord1; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float4 appendResult3 = (float4(WorldPosition.x , WorldPosition.z , 0.0 , 0.0)); - float4 appendResult7 = (float4(TB_OFFSET_X , TB_OFFSET_Z , 0.0 , 0.0)); - float ase_lightAtten = 0; - Light ase_mainLight = GetMainLight( ShadowCoords ); - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 ase_worldNormal = IN.ase_texcoord4.xyz; - float3 bakedGI115 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI115, half4(0,0,0,0)); - float clampResult45 = clamp( _HeightStartGradient , 0.0 , 0.5 ); - float temp_output_50_0 = saturate( ( ( IN.ase_texcoord5.xyz.y - clampResult45 ) / _HeightGradient ) ); - float4 lerpResult61 = lerp( _Color0 , _Color1 , temp_output_50_0); - float4 lerpResult30 = lerp( ( tex2D( TB_DEPTH, ( ( appendResult3 - appendResult7 ) / TB_SCALE ).xy ) * ( ase_lightAtten - _ShadowControl ) ) , ( float4( ( _MainLightColor.rgb * ( bakedGI115 + ase_lightAtten ) ) , 0.0 ) * lerpResult61 ) , temp_output_50_0); - - float2 uv_Texture = IN.ase_texcoord6.xy * _Texture_ST.xy + _Texture_ST.zw; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = lerpResult30.rgb; - float Alpha = tex2D( _Texture, uv_Texture ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Color1; - float4 _Texture_ST; - float _ShadowControl; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - - float Alpha = tex2D( _Texture, uv_Texture ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Color1; - float4 _Texture_ST; - float _ShadowControl; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - - float Alpha = tex2D( _Texture, uv_Texture ).a; - float AlphaClipThreshold = _Clip; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -341;694;1339;425;464.4763;-259.1868;2.258872;True;False -Node;AmplifyShaderEditor.CommentaryNode;42;-328.3963,680.4578;Inherit;False;1497.743;866.9224;;16;61;55;54;48;43;50;49;47;46;45;118;116;115;119;117;147;Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;109;-331.3328,19.63398;Inherit;False;1250.973;532.2034;;10;9;8;1;3;7;4;10;5;12;2;Blending with ground;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;80;-382.8029,1661.074;Inherit;False;1653.539;798.5751;;10;91;90;89;88;87;86;84;83;82;81;Wind;1,1,1,1;0;0 -Node;AmplifyShaderEditor.TransformDirectionNode;72;1414.733,40.79181;Inherit;False;World;Object;True;Fast;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleDivideOpNode;5;399.0745,250.334;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.ColorNode;54;178.6243,963.6428;Float;False;Property;_Color0;Color 0;0;0;Create;True;0;0;0;False;0;False;0.5264154,0.7264151,0.2158686,0;0.690196,1,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;1104.637,1990.496;Inherit;False;4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;118;534.9889,854.9562;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LerpOp;61;716.5836,1067.39;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.PosVertexDataNode;46;-130.505,1139.423;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;147;906.5578,797.5425;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;1;-278.5261,87.63397;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SaturateNode;50;653.9294,1281.438;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;4;215.9743,244.8339;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.DynamicAppendNode;3;-34.52605,186.6338;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.LightColorNode;119;514.7083,727.7191;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.SamplerNode;12;599.64,219.7239;Inherit;True;Global;TB_DEPTH;TB_DEPTH;5;0;Create;True;0;0;0;False;0;False;-1;None;;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleDivideOpNode;49;488.7549,1246.354;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;48;-31.87089,1489.57;Float;False;Property;_HeightGradient;Height Gradient;3;0;Create;True;0;0;0;False;0;False;0.3;0.07;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;115;229.6943,727.3554;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;10;154.092,419.412;Inherit;False;Global;TB_SCALE;TB_SCALE;2;0;Create;True;0;0;0;False;0;False;0;8;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;163;876.9327,609.4526;Inherit;False;Property;_ShadowControl;ShadowControl;9;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;8;-275.7328,320.8373;Inherit;False;Global;TB_OFFSET_X;TB_OFFSET_X;0;0;Create;True;0;0;0;False;0;False;0;-4;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;70;1893.255,652.3929;Inherit;True;Property;_Texture;Texture;4;0;Create;True;0;0;0;False;0;False;-1;None;546f3dcacf8a47f43a4ef40bdda24444;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;43;-306.3566,1319.69;Float;False;Property;_HeightStartGradient;Height Start Gradient;2;0;Create;True;0;0;0;False;0;False;0.1;0.3;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightAttenuation;116;235.3743,805.2453;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;83;-356.3408,1798.062;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.ClampOpNode;45;67.60202,1324.106;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;84;79.31539,2209.721;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;7;-36.73276,368.8373;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;89;624.1153,2013.854;Float;False;Property;_WindFoliageAmplitude;Wind Foliage Amplitude;7;0;Create;True;0;0;0;False;0;False;0;0.05;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;47;260.2788,1306.444;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;117;719.9621,791.1798;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ColorNode;55;183.664,1131.021;Float;False;Property;_Color1;Color 1;1;0;Create;True;0;0;0;False;0;False;0.4464056,0.6981132,0.1350124,0;0.9010931,1,0.6084906,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;148;1035.314,367.0899;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;9;-281.3328,412.8375;Inherit;False;Global;TB_OFFSET_Z;TB_OFFSET_Z;1;0;Create;True;0;0;0;False;0;False;0;-4;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;81;-227.3107,2350.509;Float;False;Property;_WindFoliageSpeed;Wind Foliage Speed;6;0;Create;True;0;0;0;False;0;False;0;0.1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;105;1838.296,457.6165;Inherit;False;Property;_Clip;Clip;8;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NoiseGeneratorNode;88;650.1572,1757.575;Inherit;True;Simplex2D;False;False;2;0;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.Vector3Node;73;1227.734,41.79181;Float;False;Constant;_Vector0;Vector 0;14;0;Create;True;0;0;0;False;0;False;0,1,0;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;162;994.3084,497.5959;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalVertexDataNode;87;619.7313,2133.357;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleTimeNode;82;-259.5217,2181.087;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;2;-91.46076,69.63399;Float;False;worldY;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.VertexColorNode;90;632.4031,2270.025;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;30;1529.361,317.3446;Inherit;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.PannerNode;86;264.2455,1765.887;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;2,2;False;1;FLOAT;0.1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;183;2599.469,320.4198;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/URP_BlendingGrass;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;0;638170360911590106;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;184;2599.469,320.4198;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;185;2599.469,320.4198;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;182;2599.469,320.4198;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;186;2599.469,320.4198;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -WireConnection;72;0;73;0 -WireConnection;5;0;4;0 -WireConnection;5;1;10;0 -WireConnection;91;0;88;0 -WireConnection;91;1;89;0 -WireConnection;91;2;87;1 -WireConnection;91;3;90;1 -WireConnection;118;0;115;0 -WireConnection;118;1;116;0 -WireConnection;61;0;54;0 -WireConnection;61;1;55;0 -WireConnection;61;2;50;0 -WireConnection;147;0;117;0 -WireConnection;147;1;61;0 -WireConnection;50;0;49;0 -WireConnection;4;0;3;0 -WireConnection;4;1;7;0 -WireConnection;3;0;1;1 -WireConnection;3;1;1;3 -WireConnection;12;1;5;0 -WireConnection;49;0;47;0 -WireConnection;49;1;48;0 -WireConnection;45;0;43;0 -WireConnection;84;0;82;0 -WireConnection;84;1;81;0 -WireConnection;7;0;8;0 -WireConnection;7;1;9;0 -WireConnection;47;0;46;2 -WireConnection;47;1;45;0 -WireConnection;117;0;119;1 -WireConnection;117;1;118;0 -WireConnection;148;0;12;0 -WireConnection;148;1;162;0 -WireConnection;88;0;86;0 -WireConnection;162;0;116;0 -WireConnection;162;1;163;0 -WireConnection;2;0;1;2 -WireConnection;30;0;148;0 -WireConnection;30;1;147;0 -WireConnection;30;2;50;0 -WireConnection;86;0;83;1 -WireConnection;86;1;84;0 -WireConnection;183;2;30;0 -WireConnection;183;3;70;4 -WireConnection;183;4;105;0 -ASEEND*/ -//CHKSM=C13481B662900ADAD90242779591F4A315251538 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader.meta deleted file mode 100644 index 8eaa03edb..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingGrass.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: e365781c2819480479a2e9425002da81 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASBledingGrass.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader deleted file mode 100644 index 8b75b7d3c..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader +++ /dev/null @@ -1,1183 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_BlendingPlant" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_Color0("Color 0", Color) = (1,1,1,0) - _Texture("Texture", 2D) = "white" {} - _HeightStartGradient("Height Start Gradient", Range( 0 , 1)) = 0.1 - _HeightGradient("Height Gradient", Range( 0 , 1)) = 0.3 - _WindFoliageSpeed("Wind Foliage Speed", Range( 0 , 1)) = 0 - _WindFoliageAmplitude("Wind Foliage Amplitude", Range( 0 , 1)) = 0 - [ASEEnd]_Clip("Clip", Range( 0 , 1)) = 0.5 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Off - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 lightmapUVOrVertexSH : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D TB_DEPTH; - float TB_OFFSET_X; - float TB_OFFSET_Z; - float TB_SCALE; - sampler2D _Texture; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - float3 AdditionalLightsFlat( float3 WorldPosition ) - { - float3 Color = 0; - #ifdef _ADDITIONAL_LIGHTS - int numLights = GetAdditionalLightsCount(); - for(int i = 0; i v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float4 appendResult3 = (float4(WorldPosition.x , WorldPosition.z , 0.0 , 0.0)); - float4 appendResult7 = (float4(TB_OFFSET_X , TB_OFFSET_Z , 0.0 , 0.0)); - float ase_lightAtten = 0; - Light ase_mainLight = GetMainLight( ShadowCoords ); - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 ase_worldNormal = IN.ase_texcoord4.xyz; - float3 bakedGI132 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI132, half4(0,0,0,0)); - float3 worldPosValue44_g1 = WorldPosition; - float3 WorldPosition8_g1 = worldPosValue44_g1; - float3 localAdditionalLightsFlat8_g1 = AdditionalLightsFlat( WorldPosition8_g1 ); - float3 FlatResult29_g1 = localAdditionalLightsFlat8_g1; - float2 uv_Texture = IN.ase_texcoord5.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode70 = tex2D( _Texture, uv_Texture ); - float clampResult114 = clamp( _HeightStartGradient , 0.0 , 0.5 ); - float4 lerpResult30 = lerp( ( tex2D( TB_DEPTH, ( ( appendResult3 - appendResult7 ) / TB_SCALE ).xy ) * ase_lightAtten ) , ( float4( ( _MainLightColor.rgb * ( bakedGI132 + ase_lightAtten + FlatResult29_g1 ) ) , 0.0 ) * ( _Color0 * tex2DNode70 ) ) , saturate( ( ( IN.ase_texcoord6.xyz.y - clampResult114 ) / _HeightGradient ) )); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = lerpResult30.rgb; - float Alpha = tex2DNode70.a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float3 ase_worldPos = mul(GetObjectToWorldMatrix(), v.vertex).xyz; - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner86 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D88 = snoise( panner86 ); - float3 temp_cast_1 = (( simplePerlin2D88 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r )).xxx; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = temp_cast_1; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode70 = tex2D( _Texture, uv_Texture ); - - float Alpha = tex2DNode70.a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color0; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldPos = mul(GetObjectToWorldMatrix(), v.vertex).xyz; - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner86 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D88 = snoise( panner86 ); - float3 temp_cast_1 = (( simplePerlin2D88 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r )).xxx; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = temp_cast_1; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode70 = tex2D( _Texture, uv_Texture ); - - float Alpha = tex2DNode70.a; - float AlphaClipThreshold = _Clip; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -314;702;1041;455;1353.007;-254.7294;2.201546;True;False -Node;AmplifyShaderEditor.CommentaryNode;80;-303.2301,1692.989;Inherit;False;1653.539;798.5751;;10;91;90;89;88;87;86;84;83;82;81;Wind;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleTimeNode;82;-179.9488,2213.003;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;81;-147.7378,2382.425;Float;False;Property;_WindFoliageSpeed;Wind Foliage Speed;5;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;83;-276.768,1829.977;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;84;158.8883,2241.637;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;86;343.8183,1797.802;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;2,2;False;1;FLOAT;0.1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.CommentaryNode;110;-585.1564,-279.6343;Inherit;False;1326.875;541.2737;;10;1;2;12;5;4;10;7;3;8;9;Blending with ground;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;111;-527.3741,438.0328;Inherit;False;1575.471;1210.137;;17;129;132;127;54;70;116;115;120;114;109;119;118;108;117;131;130;128;Texture and color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;112;1220.869,358.7859;Inherit;False;315;304;Comment;1;30;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;113;1177.734,-9.208191;Inherit;False;474.999;239;;2;72;73;Normal up;1,1,1,1;0;0 -Node;AmplifyShaderEditor.VertexColorNode;90;711.976,2301.941;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.NoiseGeneratorNode;88;729.7301,1789.49;Inherit;True;Simplex2D;False;False;2;0;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;89;703.6882,2045.769;Float;False;Property;_WindFoliageAmplitude;Wind Foliage Amplitude;6;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalVertexDataNode;87;699.3042,2165.273;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.PosVertexDataNode;120;-212.6264,1154.37;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;10;-12.48529,103.9901;Inherit;False;Global;TB_SCALE;TB_SCALE;2;0;Create;True;0;0;0;False;0;False;0;105.86;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;117;352.4601,1346.664;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;118;517.6346,1381.749;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;115;-113.9924,1504.516;Float;False;Property;_HeightGradient;Height Gradient;4;0;Create;True;0;0;0;False;0;False;0.3;0.109;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;109;392.7326,904.7056;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;119;-388.4777,1334.636;Float;False;Property;_HeightStartGradient;Height Start Gradient;3;0;Create;True;0;0;0;False;0;False;0.1;0.131;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;133;834.3048,192.6484;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;70;23.82951,1083.594;Inherit;True;Property;_Texture;Texture;2;0;Create;True;0;0;0;False;0;False;-1;None;d4184185abe0f40468339a506f49a9fb;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;54;-12.1003,862.2725;Float;False;Property;_Color0;Color 0;1;0;Create;True;0;0;0;False;0;False;1,1,1,0;0.6412812,1,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;128;277.396,537.6599;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;8;-442.3102,5.415375;Inherit;False;Global;TB_OFFSET_X;TB_OFFSET_X;0;0;Create;True;0;0;0;False;0;False;0;-48.83101;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;132;-209.0086,595.3099;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ClampOpNode;114;-14.5194,1339.052;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;116;187.3185,1321.391;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;130;-146.2944,464.3734;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.WorldPosInputsNode;1;-445.1035,-227.7881;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;4;49.39687,-70.58817;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.Vector3Node;73;1227.734,41.79181;Float;False;Constant;_Vector0;Vector 0;14;0;Create;True;0;0;0;False;0;False;0,1,0;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleDivideOpNode;5;232.497,-65.08807;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;1184.21,2022.411;Inherit;False;4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TransformDirectionNode;72;1414.733,40.79181;Inherit;False;World;Object;True;Fast;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;108;449.6375,501.5371;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;129;88.75246,627.8216;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;126;1916.934,513.1104;Inherit;False;Property;_Clip;Clip;7;0;Create;True;0;0;0;False;0;False;0.5;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;30;1270.869,408.7859;Inherit;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;127;-223.1365,768.6882;Inherit;False;SRP Additional Light;-1;;1;6c86746ad131a0a408ca599df5f40861;7,6,0,9,0,23,0,26,0,27,0,24,0,25,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LightAttenuation;131;-207.4546,683.3415;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;2;-258.0381,-245.7881;Float;False;worldY;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;3;-201.1035,-128.7883;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SamplerNode;12;433.0627,-95.6982;Inherit;True;Global;TB_DEPTH;TB_DEPTH;0;0;Create;True;0;0;0;False;0;False;-1;None;;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;9;-447.9102,97.41553;Inherit;False;Global;TB_OFFSET_Z;TB_OFFSET_Z;1;0;Create;True;0;0;0;False;0;False;0;-52.69;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;7;-203.3102,53.41531;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;121;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;122;2215.075,421.5764;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/URP_BlendingPlant;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;0;638156758761332600;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;124;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;125;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;123;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -WireConnection;84;0;82;0 -WireConnection;84;1;81;0 -WireConnection;86;0;83;1 -WireConnection;86;1;84;0 -WireConnection;88;0;86;0 -WireConnection;117;0;116;0 -WireConnection;117;1;115;0 -WireConnection;118;0;117;0 -WireConnection;109;0;54;0 -WireConnection;109;1;70;0 -WireConnection;133;0;12;0 -WireConnection;133;1;131;0 -WireConnection;128;0;130;1 -WireConnection;128;1;129;0 -WireConnection;114;0;119;0 -WireConnection;116;0;120;2 -WireConnection;116;1;114;0 -WireConnection;4;0;3;0 -WireConnection;4;1;7;0 -WireConnection;5;0;4;0 -WireConnection;5;1;10;0 -WireConnection;91;0;88;0 -WireConnection;91;1;89;0 -WireConnection;91;2;87;1 -WireConnection;91;3;90;1 -WireConnection;72;0;73;0 -WireConnection;108;0;128;0 -WireConnection;108;1;109;0 -WireConnection;129;0;132;0 -WireConnection;129;1;131;0 -WireConnection;129;2;127;0 -WireConnection;30;0;133;0 -WireConnection;30;1;108;0 -WireConnection;30;2;118;0 -WireConnection;2;0;1;2 -WireConnection;3;0;1;1 -WireConnection;3;1;1;3 -WireConnection;12;1;5;0 -WireConnection;7;0;8;0 -WireConnection;7;1;9;0 -WireConnection;122;2;30;0 -WireConnection;122;3;70;4 -WireConnection;122;4;126;0 -WireConnection;122;5;91;0 -ASEEND*/ -//CHKSM=1C15D958A1A838871EFFC9E29B424AE83278E3A5 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader.meta deleted file mode 100644 index fc3e9de85..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingPlant.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: dd6c6dea3dbf8d8419542843ea65c999 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASBledingPlant.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader deleted file mode 100644 index cd4dfd916..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader +++ /dev/null @@ -1,1010 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_BlendingRock" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_Tint("Tint", Color) = (0,0,0,0) - _Texture("Texture", 2D) = "white" {} - _HeightStartGradient("Height Start Gradient", Float) = 0 - _HeightGradient("Height Gradient", Range( 0 , 1)) = 0.3 - [ASEEnd]_WorldPositionOffset("World Position Offset", Float) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Back - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - float4 lightmapUVOrVertexSH : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Texture_ST; - float4 _Tint; - float _WorldPositionOffset; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D TB_DEPTH; - float TB_OFFSET_X; - float TB_OFFSET_Z; - float TB_SCALE; - sampler2D _Texture; - - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - float3 AdditionalLightsFlat( float3 WorldPosition ) - { - float3 Color = 0; - #ifdef _ADDITIONAL_LIGHTS - int numLights = GetAdditionalLightsCount(); - for(int i = 0; i v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float4 appendResult119 = (float4(WorldPosition.x , WorldPosition.z , 0.0 , 0.0)); - float4 appendResult118 = (float4(TB_OFFSET_X , TB_OFFSET_Z , 0.0 , 0.0)); - float ase_lightAtten = 0; - Light ase_mainLight = GetMainLight( ShadowCoords ); - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float2 uv_Texture = IN.ase_texcoord3.xy * _Texture_ST.xy + _Texture_ST.zw; - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float3 bakedGI185 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI185, half4(0,0,0,0)); - float3 worldPosValue44_g1 = WorldPosition; - float3 WorldPosition8_g1 = worldPosValue44_g1; - float3 localAdditionalLightsFlat8_g1 = AdditionalLightsFlat( WorldPosition8_g1 ); - float3 FlatResult29_g1 = localAdditionalLightsFlat8_g1; - float4 lerpResult163 = lerp( ( tex2D( TB_DEPTH, ( ( appendResult119 - appendResult118 ) / TB_SCALE ).xy ) * ase_lightAtten ) , ( ( tex2D( _Texture, uv_Texture ) * _Tint ) * float4( ( _MainLightColor.rgb * ( bakedGI185 + ase_lightAtten + FlatResult29_g1 ) ) , 0.0 ) ) , saturate( ( ( ( _WorldPositionOffset + WorldPosition.y ) - _HeightStartGradient ) / _HeightGradient ) )); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = lerpResult163.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Texture_ST; - float4 _Tint; - float _WorldPositionOffset; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Texture_ST; - float4 _Tint; - float _WorldPositionOffset; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -189;740;1339;431;-530.0021;-93.23537;1.080155;False;False -Node;AmplifyShaderEditor.RangedFloatNode;115;112.737,501.6564;Inherit;False;Global;TB_OFFSET_X;TB_OFFSET_X;0;0;Create;True;0;0;0;False;0;False;0;-63.61102;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;211;1261.574,318.7977;Inherit;False;SRP Additional Light;-1;;1;6c86746ad131a0a408ca599df5f40861;7,6,0,9,0,23,0,26,0,27,0,24,0,25,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;214;1554.708,903.2674;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;180;1573.964,513.949;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;167;1209.923,-342.4586;Inherit;True;Property;_Texture;Texture;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LightColorNode;188;1459.091,-12.25332;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.ColorNode;177;1233.714,-123.5704;Inherit;False;Property;_Tint;Tint;0;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;213;1323.708,797.2674;Inherit;False;Property;_WorldPositionOffset;World Position Offset;4;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;215;1346.162,1049.26;Inherit;False;Property;_HeightStartGradient;Height Start Gradient;2;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;160;2012.023,1072.775;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;163;2091.747,497.9888;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;165;1389.558,1195.543;Float;False;Property;_HeightGradient;Height Gradient;3;0;Create;True;0;0;0;False;0;False;0.3;0.109;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;116;107.137,593.6567;Inherit;False;Global;TB_OFFSET_Z;TB_OFFSET_Z;1;0;Create;True;0;0;0;False;0;False;0;-66.07;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;189;1859.453,-12.60563;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.DynamicAppendNode;118;351.7371,549.6565;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;178;1479.683,-124.9839;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;212;1677.607,29.68089;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;121;604.444,425.6529;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;185;1249.072,144.4357;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.DynamicAppendNode;119;353.9438,367.4528;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;205;1942.155,1950.307;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;210;1301.041,878.1965;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SamplerNode;123;988.1098,400.5429;Inherit;True;Global;TB_DEPTH;TB_DEPTH;5;0;Create;True;0;0;0;False;0;False;-1;None;;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RegisterLocalVarNode;125;297.0091,250.453;Float;False;worldY;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;117;109.9437,268.453;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleAddOpNode;187;1498.399,130.9321;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;158;1681.708,1012.417;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;122;787.5443,431.153;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.LightAttenuation;186;1267.775,228.2091;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;120;542.5618,600.2312;Inherit;False;Global;TB_SCALE;TB_SCALE;2;0;Create;True;0;0;0;False;0;False;0;133.94;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;159;1846.849,1037.691;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;195;3488.768,250.1864;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;194;3488.768,250.1864;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;192;3019.317,394.0184;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/URP_BlendingRock;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;1;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;191;3488.768,250.1864;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;193;3488.768,250.1864;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -WireConnection;214;0;213;0 -WireConnection;214;1;210;2 -WireConnection;180;0;123;0 -WireConnection;180;1;186;0 -WireConnection;160;0;159;0 -WireConnection;163;0;180;0 -WireConnection;163;1;189;0 -WireConnection;163;2;160;0 -WireConnection;189;0;178;0 -WireConnection;189;1;212;0 -WireConnection;118;0;115;0 -WireConnection;118;1;116;0 -WireConnection;178;0;167;0 -WireConnection;178;1;177;0 -WireConnection;212;0;188;1 -WireConnection;212;1;187;0 -WireConnection;121;0;119;0 -WireConnection;121;1;118;0 -WireConnection;119;0;117;1 -WireConnection;119;1;117;3 -WireConnection;123;1;122;0 -WireConnection;125;0;117;2 -WireConnection;187;0;185;0 -WireConnection;187;1;186;0 -WireConnection;187;2;211;0 -WireConnection;158;0;214;0 -WireConnection;158;1;215;0 -WireConnection;122;0;121;0 -WireConnection;122;1;120;0 -WireConnection;159;0;158;0 -WireConnection;159;1;165;0 -WireConnection;192;2;163;0 -ASEEND*/ -//CHKSM=87B5C547AD8C0DA383556BEB9F687DAB0D45E4FE \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader.meta deleted file mode 100644 index c03d2f531..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingRock.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: e5e37a7dbd9f7b849ac52740c30a6d17 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASBledingRock.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader deleted file mode 100644 index 91c9b1c50..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader +++ /dev/null @@ -1,988 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/BlendingTrunk" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_Tint("Tint", Color) = (0,0,0,0) - _TextureSample0("Texture Sample 0", 2D) = "white" {} - _Lightpower("Light power", Float) = 0 - _HeightStartGradient("Height Start Gradient", Range( -1 , 1)) = 0.1 - [ASEEnd]_HeightGradient("Height Gradient", Range( 0 , 1)) = 0.3 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Back - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #define ASE_NEEDS_VERT_NORMAL - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 lightmapUVOrVertexSH : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample0_ST; - float4 _Tint; - float _Lightpower; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D TB_DEPTH; - float TB_OFFSET_X; - float TB_OFFSET_Z; - float TB_SCALE; - sampler2D _TextureSample0; - - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - VertexOutput VertexFunction ( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - OUTPUT_SH( ase_worldNormal, o.lightmapUVOrVertexSH.xyz ); - o.ase_texcoord4.xyz = ase_worldNormal; - - o.ase_texcoord5.xy = v.ase_texcoord.xy; - o.ase_texcoord6 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.w = 0; - o.ase_texcoord5.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - #ifdef ASE_FOG - o.fogFactor = ComputeFogFactor( positionCS.z ); - #endif - o.clipPos = positionCS; - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord1 = v.texcoord1; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float4 appendResult3 = (float4(WorldPosition.x , WorldPosition.z , 0.0 , 0.0)); - float4 appendResult7 = (float4(TB_OFFSET_X , TB_OFFSET_Z , 0.0 , 0.0)); - float ase_lightAtten = 0; - Light ase_mainLight = GetMainLight( ShadowCoords ); - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 ase_worldNormal = IN.ase_texcoord4.xyz; - float3 bakedGI147 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI147, half4(0,0,0,0)); - float2 uv_TextureSample0 = IN.ase_texcoord5.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - float clampResult125 = clamp( _HeightStartGradient , 0.0 , 0.5 ); - float4 lerpResult30 = lerp( ( tex2D( TB_DEPTH, ( ( appendResult3 - appendResult7 ) / TB_SCALE ).xy ) * ase_lightAtten ) , ( float4( ( _MainLightColor.rgb * ( bakedGI147 + ase_lightAtten ) ) , 0.0 ) * ( ( tex2D( _TextureSample0, uv_TextureSample0 ) * _Lightpower ) * _Tint ) ) , saturate( ( ( IN.ase_texcoord6.xyz.y - clampResult125 ) / _HeightGradient ) )); - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = lerpResult30.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample0_ST; - float4 _Tint; - float _Lightpower; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _TextureSample0_ST; - float4 _Tint; - float _Lightpower; - float _HeightStartGradient; - float _HeightGradient; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -441;787;1041;449;58.86774;-170.2909;1.438244;True;False -Node;AmplifyShaderEditor.CommentaryNode;123;-373.626,570.6953;Inherit;False;1497.743;866.9224;;18;135;134;129;128;127;126;125;124;136;137;138;146;145;144;147;148;151;152;Height Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.RangedFloatNode;10;67.82983,409.8274;Inherit;False;Global;TB_SCALE;TB_SCALE;2;0;Create;True;0;0;0;False;0;False;0;106.32;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;145;443.4307,584.3397;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.RangedFloatNode;151;-238.5361,844.0519;Inherit;False;Property;_Lightpower;Light power;2;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;7;-122.995,359.2527;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;9;-367.5951,403.2528;Inherit;False;Global;TB_OFFSET_Z;TB_OFFSET_Z;1;0;Create;True;0;0;0;False;0;False;0;-52.26;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;1;-364.7884,78.04927;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.PosVertexDataNode;126;-112.3999,944.2964;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;124;-288.2514,1124.563;Float;False;Property;_HeightStartGradient;Height Start Gradient;3;0;Create;True;0;0;0;False;0;False;0.1;-0.78;-1;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;146;662.1603,640.1;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;147;158.4166,583.976;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.DynamicAppendNode;3;-120.7883,177.0491;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.RangedFloatNode;8;-361.9951,311.2527;Inherit;False;Global;TB_OFFSET_X;TB_OFFSET_X;0;0;Create;True;0;0;0;False;0;False;0;-49.80101;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;144;463.7113,711.5768;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;138;323.2095,804.533;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;152;-7.041916,762.6671;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;4;129.712,235.2492;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.SamplerNode;136;-338.7387,624.0251;Inherit;True;Property;_TextureSample0;Texture Sample 0;1;0;Create;True;0;0;0;False;0;False;-1;None;7a524e1c7009e7943a672d7c4a6188b8;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;134;788.0859,746.0566;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;127;278.3839,1111.317;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;30;1333.562,256.8774;Inherit;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;2;-177.723,60.04929;Float;False;worldY;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;135;-13.76585,1294.443;Float;False;Property;_HeightGradient;Height Gradient;4;0;Create;True;0;0;0;False;0;False;0.3;0.3;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;129;608.7003,1171.675;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;5;312.8122,240.7493;Inherit;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.LightAttenuation;148;164.0966,661.8659;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;128;443.5255,1136.591;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;125;85.70706,1128.979;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;137;101.8356,892.0719;Inherit;False;Property;_Tint;Tint;0;0;Create;True;0;0;0;False;0;False;0,0,0,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;12;513.3777,210.1392;Inherit;True;Global;TB_DEPTH;TB_DEPTH;5;0;Create;True;0;0;0;False;0;False;-1;None;;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;153;886.2734,369.0951;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;143;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;141;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;142;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;139;2215.075,421.5764;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;140;2215.075,421.5764;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/BlendingTrunk;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;1;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -WireConnection;7;0;8;0 -WireConnection;7;1;9;0 -WireConnection;146;0;145;1 -WireConnection;146;1;144;0 -WireConnection;3;0;1;1 -WireConnection;3;1;1;3 -WireConnection;144;0;147;0 -WireConnection;144;1;148;0 -WireConnection;138;0;152;0 -WireConnection;138;1;137;0 -WireConnection;152;0;136;0 -WireConnection;152;1;151;0 -WireConnection;4;0;3;0 -WireConnection;4;1;7;0 -WireConnection;134;0;146;0 -WireConnection;134;1;138;0 -WireConnection;127;0;126;2 -WireConnection;127;1;125;0 -WireConnection;30;0;153;0 -WireConnection;30;1;134;0 -WireConnection;30;2;129;0 -WireConnection;2;0;1;2 -WireConnection;129;0;128;0 -WireConnection;5;0;4;0 -WireConnection;5;1;10;0 -WireConnection;128;0;127;0 -WireConnection;128;1;135;0 -WireConnection;125;0;124;0 -WireConnection;12;1;5;0 -WireConnection;153;0;12;0 -WireConnection;153;1;148;0 -WireConnection;140;2;30;0 -ASEEND*/ -//CHKSM=5D2682942CE27FE5B9D7D85708D36772CE64B166 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader.meta deleted file mode 100644 index 947e1c57a..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASBledingTrunk.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 7ff41f3f11ec49f4bae6b637dc14aa36 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASBledingTrunk.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader deleted file mode 100644 index 6cd5f8a97..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader +++ /dev/null @@ -1,3968 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/ASFolliageStandard" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [ASEBegin]_TextureSample0("Texture Sample 0", 2D) = "white" {} - _Color0("Color 0", Color) = (0.5264154,0.7264151,0.2158686,0) - _Color1("Color 1", Color) = (0.4464056,0.6981132,0.1350124,0) - _Metalic("Metalic", Float) = 0 - _HeightStartGradient("Height Start Gradient", Range( 0 , 10)) = 0.1 - _HeightGradient("Height Gradient", Range( 0 , 5)) = 0.3 - _WindFoliageAmplitude("Wind Foliage Amplitude", Range( 0 , 1)) = 0 - _WindFoliageSpeed("Wind Foliage Speed", Range( 0 , 1)) = 0 - _WindTrunkAmplitude("Wind Trunk Amplitude", Range( 0 , 1)) = 0 - _WindTrunkSpeed("Wind Trunk Speed", Range( 0 , 1)) = 0 - _Clip("Clip", Range( 0 , 1)) = 0.5 - _SSScolor("SSS color", Color) = (0.9392873,1,0.3632075,0) - _FresnalBias("Fresnal Bias", Float) = 0 - _FresnalScale("Fresnal Scale", Float) = 0 - _FresnalPower("Fresnal Power", Float) = 0 - _SurfaceDistortion("Surface Distortion", Float) = 0 - [ASEEnd]_Occlusion("Occlusion", Float) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Off - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _FORWARD_PLUS - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_VIEW_DIR - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_POSITION - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord8 = v.vertex; - o.ase_texcoord9.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord9.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float3 objToWorldDir86 = mul( GetObjectToWorldMatrix(), float4( IN.ase_texcoord8.xyz, 0 ) ).xyz; - float3 normalizeResult87 = normalize( objToWorldDir86 ); - float dotResult69 = dot( WorldViewDirection , -( _MainLightPosition.xyz + ( normalizeResult87 * _SurfaceDistortion ) ) ); - float fresnelNdotV72 = dot( WorldNormal, WorldViewDirection ); - float fresnelNode72 = ( _FresnalBias + _FresnalScale * pow( 1.0 - fresnelNdotV72, _FresnalPower ) ); - float4 lerpResult55 = lerp( _Color1 , _Color0 , saturate( ( ( IN.ase_texcoord8.xyz.y - _HeightStartGradient ) / _HeightGradient ) )); - - float2 uv_TextureSample0 = IN.ase_texcoord9.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float3 BaseColor = ( ( _SSScolor * ( saturate( dotResult69 ) * fresnelNode72 ) * float4( _MainLightColor.rgb , 0.0 ) ) + lerpResult55 ).rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = _Metalic; - float Smoothness = 0.0; - float Occlusion = _Occlusion; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - #define SUM_LIGHT_TRANSMISSION(Light)\ - float3 atten = Light.color * Light.distanceAttenuation;\ - atten = lerp( atten, atten * Light.shadowAttenuation, shadow );\ - half3 transmission = max( 0, -dot( inputData.normalWS, Light.direction ) ) * atten * Transmission;\ - color.rgb += BaseColor * transmission; - - SUM_LIGHT_TRANSMISSION( GetMainLight( inputData.shadowCoord ) ); - - #if defined(_ADDITIONAL_LIGHTS) - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSMISSION( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSMISSION( light ); - } - LIGHT_LOOP_END - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - #define SUM_LIGHT_TRANSLUCENCY(Light)\ - float3 atten = Light.color * Light.distanceAttenuation;\ - atten = lerp( atten, atten * Light.shadowAttenuation, shadow );\ - half3 lightDir = Light.direction + inputData.normalWS * normal;\ - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering );\ - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency;\ - color.rgb += BaseColor * translucency * strength; - - SUM_LIGHT_TRANSLUCENCY( GetMainLight( inputData.shadowCoord ) ); - - #if defined(_ADDITIONAL_LIGHTS) - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSLUCENCY( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSLUCENCY( light ); - } - LIGHT_LOOP_END - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = IN.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = IN.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_POSITION - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - o.ase_texcoord5.xyz = ase_worldNormal; - - o.ase_texcoord4 = v.vertex; - o.ase_texcoord6.xy = v.texcoord0.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord5.w = 0; - o.ase_texcoord6.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 ase_worldViewDir = ( _WorldSpaceCameraPos.xyz - WorldPosition ); - ase_worldViewDir = normalize(ase_worldViewDir); - float3 objToWorldDir86 = mul( GetObjectToWorldMatrix(), float4( IN.ase_texcoord4.xyz, 0 ) ).xyz; - float3 normalizeResult87 = normalize( objToWorldDir86 ); - float dotResult69 = dot( ase_worldViewDir , -( _MainLightPosition.xyz + ( normalizeResult87 * _SurfaceDistortion ) ) ); - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float fresnelNdotV72 = dot( ase_worldNormal, ase_worldViewDir ); - float fresnelNode72 = ( _FresnalBias + _FresnalScale * pow( 1.0 - fresnelNdotV72, _FresnalPower ) ); - float4 lerpResult55 = lerp( _Color1 , _Color0 , saturate( ( ( IN.ase_texcoord4.xyz.y - _HeightStartGradient ) / _HeightGradient ) )); - - float2 uv_TextureSample0 = IN.ase_texcoord6.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float3 BaseColor = ( ( _SSScolor * ( saturate( dotResult69 ) * fresnelNode72 ) * float4( _MainLightColor.rgb , 0.0 ) ) + lerpResult55 ).rgb; - float3 Emission = 0; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_POSITION - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - o.ase_texcoord3.xyz = ase_worldNormal; - - o.ase_texcoord2 = v.vertex; - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord3.w = 0; - o.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 ase_worldViewDir = ( _WorldSpaceCameraPos.xyz - WorldPosition ); - ase_worldViewDir = normalize(ase_worldViewDir); - float3 objToWorldDir86 = mul( GetObjectToWorldMatrix(), float4( IN.ase_texcoord2.xyz, 0 ) ).xyz; - float3 normalizeResult87 = normalize( objToWorldDir86 ); - float dotResult69 = dot( ase_worldViewDir , -( _MainLightPosition.xyz + ( normalizeResult87 * _SurfaceDistortion ) ) ); - float3 ase_worldNormal = IN.ase_texcoord3.xyz; - float fresnelNdotV72 = dot( ase_worldNormal, ase_worldViewDir ); - float fresnelNode72 = ( _FresnalBias + _FresnalScale * pow( 1.0 - fresnelNdotV72, _FresnalPower ) ); - float4 lerpResult55 = lerp( _Color1 , _Color0 , saturate( ( ( IN.ase_texcoord2.xyz.y - _HeightStartGradient ) / _HeightGradient ) )); - - float2 uv_TextureSample0 = IN.ase_texcoord4.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float3 BaseColor = ( ( _SSScolor * ( saturate( dotResult69 ) * fresnelNode72 ) * float4( _MainLightColor.rgb , 0.0 ) ) + lerpResult55 ).rgb; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - void frag( VertexOutput IN - , out half4 outNormalWS : SV_Target0 - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = IN.ase_texcoord4.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float3 Normal = float3(0, 0, 1); - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - outNormalWS = half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_VIEW_DIR - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_POSITION - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord8 = v.vertex; - o.ase_texcoord9.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord9.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float3 objToWorldDir86 = mul( GetObjectToWorldMatrix(), float4( IN.ase_texcoord8.xyz, 0 ) ).xyz; - float3 normalizeResult87 = normalize( objToWorldDir86 ); - float dotResult69 = dot( WorldViewDirection , -( _MainLightPosition.xyz + ( normalizeResult87 * _SurfaceDistortion ) ) ); - float fresnelNdotV72 = dot( WorldNormal, WorldViewDirection ); - float fresnelNode72 = ( _FresnalBias + _FresnalScale * pow( 1.0 - fresnelNdotV72, _FresnalPower ) ); - float4 lerpResult55 = lerp( _Color1 , _Color0 , saturate( ( ( IN.ase_texcoord8.xyz.y - _HeightStartGradient ) / _HeightGradient ) )); - - float2 uv_TextureSample0 = IN.ase_texcoord9.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float3 BaseColor = ( ( _SSScolor * ( saturate( dotResult69 ) * fresnelNode72 ) * float4( _MainLightColor.rgb , 0.0 ) ) + lerpResult55 ).rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = _Metalic; - float Smoothness = 0.0; - float Occlusion = _Occlusion; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample0 = IN.ase_texcoord.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - surfaceDescription.Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - surfaceDescription.AlphaClipThreshold = _Clip; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color0; - float4 _Color1; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _Occlusion; - float _Metalic; - float _HeightGradient; - float _HeightStartGradient; - float _FresnalPower; - float _FresnalBias; - float _SurfaceDistortion; - float _WindFoliageAmplitude; - float _WindFoliageSpeed; - float _WindTrunkAmplitude; - float _FresnalScale; - float _Clip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _TextureSample0; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_TextureSample0 = IN.ase_texcoord.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - surfaceDescription.Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - surfaceDescription.AlphaClipThreshold = _Clip; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.CommentaryNode;88;-2519.284,-1624.596;Inherit;False;1685.186;706.426;Comment;16;68;75;72;71;65;69;85;73;76;86;79;80;67;81;74;87;Subsurface Scattering;1,1,1,1;0;0 -Node;AmplifyShaderEditor.PosVertexDataNode;85;-2469.284,-1312.164;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TransformDirectionNode;86;-2265.656,-1315.729;Inherit;False;Object;World;False;Fast;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.NormalizeNode;87;-2048.217,-1285.86;Inherit;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;79;-2074.045,-1142.859;Inherit;False;Property;_SurfaceDistortion;Surface Distortion;15;0;Create;True;0;0;0;False;0;False;0;-1.4;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;67;-2016.23,-1462.308;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;4;-2011.554,715.7571;Float;False;Property;_WindTrunkSpeed;Wind Trunk Speed;9;0;Create;True;0;0;0;False;0;False;0;0.102;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;30;-2000.22,430.4676;Inherit;False;1821.23;666.407;Vertex offset using Blue Vertex Color channel;13;28;26;23;20;19;18;15;14;13;12;11;7;5;Wind Trunk;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;80;-1839.964,-1248.502;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;81;-1684.964,-1341.502;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-1724.357,696.0872;Inherit;False;2;2;0;FLOAT;2;False;1;FLOAT;2;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;44;-2098.677,-773.7199;Inherit;False;1497.743;866.9224;;9;55;53;52;51;50;49;48;46;45;Height Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;6;-1995.928,1184.975;Inherit;False;1715.196;801.9376;Vertex offset using Red Vertex Color channel base on panning noise;10;29;27;25;24;22;21;17;10;9;8;Wind Foliage;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleTimeNode;7;-1909.968,503.5282;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PosVertexDataNode;46;-1837.452,-400.1187;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;11;-1446.612,694.9691;Float;False;Property;_WindTrunkAmplitude;Wind Trunk Amplitude;8;0;Create;True;0;0;0;False;0;False;0;0.115;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;45;-2013.303,-219.8516;Float;False;Property;_HeightStartGradient;Height Start Gradient;4;0;Create;True;0;0;0;False;0;False;0.1;0;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-1569.324,571.735;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NegateNode;68;-1509.825,-1381.846;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleTimeNode;9;-1915.393,1585.388;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;10;-1883.182,1754.808;Float;False;Property;_WindFoliageSpeed;Wind Foliage Speed;7;0;Create;True;0;0;0;False;0;False;0;0.08;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ViewDirInputsCoordNode;65;-1768.148,-1574.596;Inherit;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;13;-1180.311,740.1091;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CosOpNode;14;-1396.871,919.8015;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;17;-1576.551,1614.022;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DotProductOpNode;69;-1314.793,-1437.382;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;74;-1625.171,-1114.171;Inherit;False;Property;_FresnalScale;Fresnal Scale;13;0;Create;True;0;0;0;False;0;False;0;-11.7;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SinOpNode;15;-1280.125,565.7181;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;49;-1446.668,-233.0977;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;73;-1622.585,-1182.977;Inherit;False;Property;_FresnalBias;Fresnal Bias;12;0;Create;True;0;0;0;False;0;False;0;14.77;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;48;-1738.818,-49.97179;Float;False;Property;_HeightGradient;Height Gradient;5;0;Create;True;0;0;0;False;0;False;0.3;1.1;0;5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;8;-1947.728,1340.187;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;75;-1625.171,-1034.17;Inherit;False;Property;_FresnalPower;Fresnal Power;14;0;Create;True;0;0;0;False;0;False;0;0.1;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.FresnelNode;72;-1412.275,-1202.965;Inherit;False;Standard;WorldNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;71;-1143.683,-1414.266;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-1099.624,537.217;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;19;-1033.112,908.9164;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;21;-1311.735,1364.697;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;2,2;False;1;FLOAT;0.1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.VertexColorNode;18;-935.285,662.5643;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleDivideOpNode;50;-1281.526,-207.8236;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;52;-1561.105,-620.2307;Float;False;Property;_Color1;Color 1;2;0;Create;True;0;0;0;False;0;False;0.4464056,0.6981132,0.1350124,0;0.3143813,0.5568628,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SaturateNode;53;-1116.352,-172.7397;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;76;-996.0986,-1324.55;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;51;-1534.204,-402.4337;Float;False;Property;_Color0;Color 0;1;0;Create;True;0;0;0;False;0;False;0.5264154,0.7264151,0.2158686,0;0.3311135,0.4716981,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;26;-658.1659,551.462;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.VertexColorNode;22;-908.8426,1813.258;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;24;-917.1306,1557.088;Float;False;Property;_WindFoliageAmplitude;Wind Foliage Amplitude;6;0;Create;True;0;0;0;False;0;False;0;0.087;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NoiseGeneratorNode;25;-891.0887,1300.812;Inherit;True;Simplex2D;False;False;2;0;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;90;-938.7504,-1110.953;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.ColorNode;82;-730.7306,-1394.016;Inherit;False;Property;_SSScolor;SSS color;11;0;Create;True;0;0;0;False;0;False;0.9392873,1,0.3632075,0;0.23395,0.5377357,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.NormalVertexDataNode;27;-918.0647,1649.904;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-705.2488,896.5565;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;28;-358.6252,806.3843;Inherit;False;COLOR;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;-436.6124,1533.73;Inherit;False;4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;83;-524.1519,-1217.284;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;55;-1209.723,-567.4486;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;64;83.8354,-19.21034;Inherit;False;Property;_Clip;Clip;10;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;77;149.5121,-315.2096;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;100;406.1163,40.17658;Inherit;False;Property;_Metalic;Metalic;3;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;102;347.7406,230.6247;Inherit;False;Property;_Occlusion;Occlusion;16;0;Create;True;0;0;0;False;0;False;0;0.3;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;31;9.894287,847.8796;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;101;341.3107,119.3833;Inherit;False;Constant;_Smoothess;Smoothess;4;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;1;13.24185,119.5351;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;997f947895b4fea4186fd07fe913c6a4;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;98;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;97;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;96;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;92;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;93;611.3215,0;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;AwaiiStudio/ASFolliageStandard;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;41;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;0;638159996334713253;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;99;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;94;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;95;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;103;611.3215,80;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;104;611.3215,80;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -WireConnection;86;0;85;0 -WireConnection;87;0;86;0 -WireConnection;80;0;87;0 -WireConnection;80;1;79;0 -WireConnection;81;0;67;0 -WireConnection;81;1;80;0 -WireConnection;5;1;4;0 -WireConnection;12;0;7;0 -WireConnection;12;1;5;0 -WireConnection;68;0;81;0 -WireConnection;13;0;11;0 -WireConnection;14;0;12;0 -WireConnection;17;0;9;0 -WireConnection;17;1;10;0 -WireConnection;69;0;65;0 -WireConnection;69;1;68;0 -WireConnection;15;0;12;0 -WireConnection;49;0;46;2 -WireConnection;49;1;45;0 -WireConnection;72;1;73;0 -WireConnection;72;2;74;0 -WireConnection;72;3;75;0 -WireConnection;71;0;69;0 -WireConnection;20;0;15;0 -WireConnection;20;1;11;0 -WireConnection;19;0;13;0 -WireConnection;19;1;14;0 -WireConnection;21;0;8;1 -WireConnection;21;1;17;0 -WireConnection;50;0;49;0 -WireConnection;50;1;48;0 -WireConnection;53;0;50;0 -WireConnection;76;0;71;0 -WireConnection;76;1;72;0 -WireConnection;26;0;20;0 -WireConnection;26;1;18;3 -WireConnection;25;0;21;0 -WireConnection;23;0;18;3 -WireConnection;23;1;19;0 -WireConnection;28;0;26;0 -WireConnection;28;2;23;0 -WireConnection;29;0;25;0 -WireConnection;29;1;24;0 -WireConnection;29;2;27;1 -WireConnection;29;3;22;1 -WireConnection;83;0;82;0 -WireConnection;83;1;76;0 -WireConnection;83;2;90;1 -WireConnection;55;0;52;0 -WireConnection;55;1;51;0 -WireConnection;55;2;53;0 -WireConnection;77;0;83;0 -WireConnection;77;1;55;0 -WireConnection;31;0;28;0 -WireConnection;31;1;29;0 -WireConnection;93;0;77;0 -WireConnection;93;3;100;0 -WireConnection;93;4;101;0 -WireConnection;93;5;102;0 -WireConnection;93;6;1;4 -WireConnection;93;7;64;0 -WireConnection;93;8;31;0 -ASEEND*/ -//CHKSM=1E9C74CEB0C51A8C5A2832186233B64D3B2FF5BB \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader.meta deleted file mode 100644 index 725dc4aa5..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage Standard.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: ec957416e2e0fb44dabecd4041dcb5f8 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASFolliage Standard.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader deleted file mode 100644 index 558760fc9..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader +++ /dev/null @@ -1,2049 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/ASFolliage" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [ASEBegin]_TextureSample0("Texture Sample 0", 2D) = "white" {} - _Color0("Color 0", Color) = (0.5264154,0.7264151,0.2158686,0) - _Color1("Color 1", Color) = (0.4464056,0.6981132,0.1350124,0) - _HeightStartGradient("Height Start Gradient", Range( 0 , 10)) = 0.1 - _HeightGradient("Height Gradient", Range( 0 , 5)) = 0.3 - _WindFoliageAmplitude("Wind Foliage Amplitude", Range( 0 , 1)) = 0 - _WindFoliageSpeed("Wind Foliage Speed", Range( 0 , 1)) = 0 - _WindTrunkAmplitude("Wind Trunk Amplitude", Range( 0 , 1)) = 0 - _WindTrunkSpeed("Wind Trunk Speed", Range( 0 , 1)) = 0 - _Clip("Clip", Range( 0 , 1)) = 0.5 - _SSScolor("SSS color", Color) = (0.9392873,1,0.3632075,0) - _FresnalBias("Fresnal Bias", Float) = 0 - _FresnalScale("Fresnal Scale", Float) = 0 - _FresnalPower("Fresnal Power", Float) = 0 - [ASEEnd]_SurfaceDistortion("Surface Distortion", Float) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Off - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma instancing_options renderinglayer - - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma shader_feature _ _SAMPLE_GI - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ DEBUG_DISPLAY - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile _ _FORWARD_PLUS - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile _ _FORWARD_PLUS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - float4 ase_texcoord7 : TEXCOORD7; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - float3 AdditionalLightsFlat14x( float3 WorldPosition, float2 ScreenUV ) - { - float3 Color = 0; - #if defined(_ADDITIONAL_LIGHTS) - #define SUM_LIGHT(Light)\ - Color += Light.color * ( Light.distanceAttenuation * Light.shadowAttenuation ); - InputData inputData = (InputData)0; - inputData.normalizedScreenSpaceUV = ScreenUV; - inputData.positionWS = WorldPosition; - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - Light light = GetAdditionalLight(lightIndex, WorldPosition); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT( light ); - } - LIGHT_LOOP_END - #endif - return Color; - } - - - VertexOutput VertexFunction ( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - o.ase_texcoord4.xyz = ase_worldNormal; - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - OUTPUT_SH( ase_worldNormal, o.lightmapUVOrVertexSH.xyz ); - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord6 = screenPos; - - o.ase_texcoord3 = v.vertex; - o.ase_texcoord7.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.w = 0; - o.ase_texcoord7.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - #ifdef ASE_FOG - o.fogFactor = ComputeFogFactor( positionCS.z ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 texcoord1 : TEXCOORD1; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.texcoord1 = v.texcoord1; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float3 ase_worldViewDir = ( _WorldSpaceCameraPos.xyz - WorldPosition ); - ase_worldViewDir = normalize(ase_worldViewDir); - float3 objToWorldDir86 = mul( GetObjectToWorldMatrix(), float4( IN.ase_texcoord3.xyz, 0 ) ).xyz; - float3 normalizeResult87 = normalize( objToWorldDir86 ); - float dotResult69 = dot( ase_worldViewDir , -( _MainLightPosition.xyz + ( normalizeResult87 * _SurfaceDistortion ) ) ); - float3 ase_worldNormal = IN.ase_texcoord4.xyz; - float fresnelNdotV72 = dot( ase_worldNormal, ase_worldViewDir ); - float fresnelNode72 = ( _FresnalBias + _FresnalScale * pow( 1.0 - fresnelNdotV72, _FresnalPower ) ); - float4 lerpResult55 = lerp( _Color1 , _Color0 , saturate( ( ( IN.ase_texcoord3.xyz.y - _HeightStartGradient ) / _HeightGradient ) )); - float3 bakedGI40 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI40, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 worldPosValue44_g1 = WorldPosition; - float3 WorldPosition91_g1 = worldPosValue44_g1; - float4 screenPos = IN.ase_texcoord6; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 ScreenUV75_g1 = (ase_screenPosNorm).xy; - float2 ScreenUV91_g1 = ScreenUV75_g1; - float3 localAdditionalLightsFlat14x91_g1 = AdditionalLightsFlat14x( WorldPosition91_g1 , ScreenUV91_g1 ); - float3 FlatResult29_g1 = localAdditionalLightsFlat14x91_g1; - - float2 uv_TextureSample0 = IN.ase_texcoord7.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( _SSScolor * ( saturate( dotResult69 ) * fresnelNode72 ) * float4( _MainLightColor.rgb , 0.0 ) ) + ( lerpResult55 * ( _MainLightColor * float4( ( bakedGI40 + ase_lightAtten + FlatResult29_g1 ) , 0.0 ) ) ) ).rgb; - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(IN.clipPos, Color); - #endif - - #if defined(_ALPHAPREMULTIPLY_ON) - Color *= Alpha; - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = IN.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _TextureSample0; - - - float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; } - float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); } - float snoise( float2 v ) - { - const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 ); - float2 i = floor( v + dot( v, C.yy ) ); - float2 x0 = v - i + dot( i, C.xx ); - float2 i1; - i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 ); - float4 x12 = x0.xyxy + C.xxzz; - x12.xy -= i1; - i = mod2D289( i ); - float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) ); - float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 ); - m = m * m; - m = m * m; - float3 x = 2.0 * frac( p * C.www ) - 1.0; - float3 h = abs( x ) - 0.5; - float3 ox = floor( x + 0.5 ); - float3 a0 = x - ox; - m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h ); - float3 g; - g.x = a0.x * x0.x + h.x * x0.y; - g.yz = a0.yz * x12.xz + h.yz * x12.yw; - return 130.0 * dot( m, g ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_12_0 = ( _TimeParameters.x * ( 2.0 * _WindTrunkSpeed ) ); - float4 appendResult28 = (float4(( ( sin( temp_output_12_0 ) * _WindTrunkAmplitude ) * v.ase_color.b ) , 0.0 , ( v.ase_color.b * ( ( _WindTrunkAmplitude * 0.5 ) * cos( temp_output_12_0 ) ) ) , 0.0)); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 temp_cast_0 = (ase_worldPos.x).xx; - float2 panner21 = ( ( _TimeParameters.x * _WindFoliageSpeed ) * float2( 2,2 ) + temp_cast_0); - float simplePerlin2D25 = snoise( panner21 ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = ( appendResult28 + ( simplePerlin2D25 * _WindFoliageAmplitude * v.ase_normal.x * v.ase_color.r ) ).rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_color : COLOR; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_color = v.ase_color; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_TextureSample0 = IN.ase_texcoord2.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - - - float Alpha = tex2D( _TextureSample0, uv_TextureSample0 ).a; - float AlphaClipThreshold = _Clip; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - float4 _SelectionID; - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 140007 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float3 normalWS : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _SSScolor; - float4 _Color1; - float4 _Color0; - float4 _TextureSample0_ST; - float _WindTrunkSpeed; - float _WindTrunkAmplitude; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - float _SurfaceDistortion; - float _FresnalBias; - float _FresnalScale; - float _FresnalPower; - float _HeightStartGradient; - float _HeightGradient; - float _Clip; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal(v.ase_normal); - - o.clipPos = TransformWorldToHClip(positionWS); - o.normalWS.xyz = normalWS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - void frag( VertexOutput IN - , out half4 outNormalWS : SV_Target0 - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - clip(surfaceDescription.Alpha - surfaceDescription.AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.clipPos ); - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(IN.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); // values between [-1, +1], must use fp32 on some platforms - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); // values between [ 0, 1] - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); // values between [ 0, 1] - outNormalWS = half4(packedNormalWS, 0.0); - #else - float3 normalWS = IN.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif - } - - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.CommentaryNode;30;-2000.22,430.4676;Inherit;False;1821.23;666.407;Vertex offset using Blue Vertex Color channel;13;28;26;23;20;19;18;15;14;13;12;11;7;5;Wind Trunk;1,1,1,1;0;0 -Node;AmplifyShaderEditor.RangedFloatNode;4;-2011.554,715.7571;Float;False;Property;_WindTrunkSpeed;Wind Trunk Speed;8;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-1724.357,696.0872;Inherit;False;2;2;0;FLOAT;2;False;1;FLOAT;2;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;6;-1995.928,1184.975;Inherit;False;1715.196;801.9376;Vertex offset using Red Vertex Color channel base on panning noise;10;29;27;25;24;22;21;17;10;9;8;Wind Foliage;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleTimeNode;7;-1909.968,503.5282;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;9;-1915.393,1585.388;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;10;-1883.182,1754.808;Float;False;Property;_WindFoliageSpeed;Wind Foliage Speed;6;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-1569.324,571.735;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;11;-1446.612,694.9691;Float;False;Property;_WindTrunkAmplitude;Wind Trunk Amplitude;7;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;13;-1180.311,740.1091;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;17;-1576.551,1614.022;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CosOpNode;14;-1396.871,919.8015;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SinOpNode;15;-1280.125,565.7181;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WorldPosInputsNode;8;-1947.728,1340.187;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.VertexColorNode;18;-935.285,662.5643;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-1099.624,537.217;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PannerNode;21;-1311.735,1364.697;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;2,2;False;1;FLOAT;0.1;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;19;-1033.112,908.9164;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalVertexDataNode;27;-918.0647,1649.904;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-705.2488,896.5565;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;26;-658.1659,551.462;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.VertexColorNode;22;-908.8426,1813.258;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;24;-917.1306,1557.088;Float;False;Property;_WindFoliageAmplitude;Wind Foliage Amplitude;5;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NoiseGeneratorNode;25;-891.0887,1300.812;Inherit;True;Simplex2D;False;False;2;0;FLOAT2;1,1;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;44;-2098.677,-773.7199;Inherit;False;1497.743;866.9224;;9;55;53;52;51;50;49;48;46;45;Height Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;-436.6124,1533.73;Inherit;False;4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;88;-2519.284,-1624.596;Inherit;False;1685.186;706.426;Comment;16;68;75;72;71;65;69;85;73;76;86;79;80;67;81;74;87;Subsurface Scattering;1,1,1,1;0;0 -Node;AmplifyShaderEditor.DynamicAppendNode;28;-358.6252,806.3843;Inherit;False;COLOR;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;42;-372.6338,214.8032;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.PosVertexDataNode;46;-1837.452,-400.1187;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;74;-1625.171,-1114.171;Inherit;False;Property;_FresnalScale;Fresnal Scale;12;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LightColorNode;41;-641.6438,43.0782;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;40;-648.8098,186.4774;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SaturateNode;53;-1116.352,-172.7397;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;50;-1281.526,-207.8236;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;52;-1561.105,-620.2307;Float;False;Property;_Color1;Color 1;2;0;Create;True;0;0;0;False;0;False;0.4464056,0.6981132,0.1350124,0;0.4464055,0.6981132,0.1350123,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleSubtractOpNode;49;-1446.668,-233.0977;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;82;-730.7306,-1394.016;Inherit;False;Property;_SSScolor;SSS color;10;0;Create;True;0;0;0;False;0;False;0.9392873,1,0.3632075,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;83;-524.1519,-1217.284;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightColorNode;90;-938.7504,-1110.953;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.LightAttenuation;39;-636.418,283.8472;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.NormalizeNode;87;-2048.217,-1285.86;Inherit;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;48;-1738.818,-49.97179;Float;False;Property;_HeightGradient;Height Gradient;4;0;Create;True;0;0;0;False;0;False;0.3;0.3;0;5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;38;-187.2953,-214.4198;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;45;-2013.303,-219.8516;Float;False;Property;_HeightStartGradient;Height Start Gradient;3;0;Create;True;0;0;0;False;0;False;0.1;0.1;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.PosVertexDataNode;85;-2469.284,-1312.164;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;77;149.5121,-315.2096;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;31;9.894287,847.8796;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ColorNode;51;-1534.204,-402.4337;Float;False;Property;_Color0;Color 0;1;0;Create;True;0;0;0;False;0;False;0.5264154,0.7264151,0.2158686,0;0.5264154,0.7264151,0.2158685,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.FresnelNode;72;-1412.275,-1202.965;Inherit;False;Standard;WorldNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;71;-1143.683,-1414.266;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ViewDirInputsCoordNode;65;-1768.148,-1574.596;Inherit;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;43;-265.4849,47.54691;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;64;83.8354,-19.21034;Inherit;False;Property;_Clip;Clip;9;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;76;-996.0986,-1324.55;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;81;-1684.964,-1341.502;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SamplerNode;1;13.24185,119.5351;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;997f947895b4fea4186fd07fe913c6a4;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;79;-2074.045,-1142.859;Inherit;False;Property;_SurfaceDistortion;Surface Distortion;14;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TransformDirectionNode;86;-2265.656,-1315.729;Inherit;False;Object;World;False;Fast;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;75;-1594.171,-1034.17;Inherit;False;Property;_FresnalPower;Fresnal Power;13;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;80;-1839.964,-1248.502;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;67;-2016.23,-1462.308;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.NegateNode;68;-1509.825,-1381.846;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;73;-1622.585,-1182.977;Inherit;False;Property;_FresnalBias;Fresnal Bias;11;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.DotProductOpNode;69;-1314.793,-1437.382;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;55;-1209.723,-567.4486;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;91;-648.5979,370.0554;Inherit;False;SRP Additional Light;-1;;1;6c86746ad131a0a408ca599df5f40861;7,6,0,9,0,23,0,27,0,25,0,24,0,26,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;63;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;59;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;62;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;60;611.3215,0;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;AwaiiStudio/ASFolliage;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;23;Surface;0;0; Blend;0;0;Two Sided;0;638156772339790580;Forward Only;0;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;10;False;True;True;True;False;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;61;611.3215,0;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;92;611.3215,207;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;93;611.3215,207;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;94;611.3215,207;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;95;611.3215,207;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;96;611.3215,207;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;;0;0;Standard;0;False;0 -WireConnection;5;1;4;0 -WireConnection;12;0;7;0 -WireConnection;12;1;5;0 -WireConnection;13;0;11;0 -WireConnection;17;0;9;0 -WireConnection;17;1;10;0 -WireConnection;14;0;12;0 -WireConnection;15;0;12;0 -WireConnection;20;0;15;0 -WireConnection;20;1;11;0 -WireConnection;21;0;8;1 -WireConnection;21;1;17;0 -WireConnection;19;0;13;0 -WireConnection;19;1;14;0 -WireConnection;23;0;18;3 -WireConnection;23;1;19;0 -WireConnection;26;0;20;0 -WireConnection;26;1;18;3 -WireConnection;25;0;21;0 -WireConnection;29;0;25;0 -WireConnection;29;1;24;0 -WireConnection;29;2;27;1 -WireConnection;29;3;22;1 -WireConnection;28;0;26;0 -WireConnection;28;2;23;0 -WireConnection;42;0;40;0 -WireConnection;42;1;39;0 -WireConnection;42;2;91;0 -WireConnection;53;0;50;0 -WireConnection;50;0;49;0 -WireConnection;50;1;48;0 -WireConnection;49;0;46;2 -WireConnection;49;1;45;0 -WireConnection;83;0;82;0 -WireConnection;83;1;76;0 -WireConnection;83;2;90;1 -WireConnection;87;0;86;0 -WireConnection;38;0;55;0 -WireConnection;38;1;43;0 -WireConnection;77;0;83;0 -WireConnection;77;1;38;0 -WireConnection;31;0;28;0 -WireConnection;31;1;29;0 -WireConnection;72;1;73;0 -WireConnection;72;2;74;0 -WireConnection;72;3;75;0 -WireConnection;71;0;69;0 -WireConnection;43;0;41;0 -WireConnection;43;1;42;0 -WireConnection;76;0;71;0 -WireConnection;76;1;72;0 -WireConnection;81;0;67;0 -WireConnection;81;1;80;0 -WireConnection;86;0;85;0 -WireConnection;80;0;87;0 -WireConnection;80;1;79;0 -WireConnection;68;0;81;0 -WireConnection;69;0;65;0 -WireConnection;69;1;68;0 -WireConnection;55;0;52;0 -WireConnection;55;1;51;0 -WireConnection;55;2;53;0 -WireConnection;60;2;77;0 -WireConnection;60;3;1;4 -WireConnection;60;4;64;0 -WireConnection;60;5;31;0 -ASEEND*/ -//CHKSM=F8849E890F887CDA00198D0C7623993884BF3084 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader.meta deleted file mode 100644 index acf83bc32..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASFolliage.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: b99f322853882904295618449fbf3ff0 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASFolliage.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader b/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader deleted file mode 100644 index 2c04e43db..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader +++ /dev/null @@ -1,3747 +0,0 @@ -// Made with Amplify Shader Editor v1.9.2.2 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_RockShader" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [Header(Mesh Maps)][Space(10)]_Color("Main Color", Color) = (1,1,1,1) - _MainTex("Albedo", 2D) = "white" {} - _BumpMap1("Normal", 2D) = "bump" {} - _NormalPower("Normal Power", Range( 0 , 1)) = 1 - _MetallicPower("Metallic Power", Range( 0 , 1)) = 0 - _SmoothnessPower("Smoothness Power", Range( 0 , 1)) = 0 - [Space(10)][Header(Layer)][Space(10)][Toggle]_UseVertexColor("Use Vertex Color", Float) = 0 - [KeywordEnum(R,G,B,A)] _VertexColorChannel("Vertex Color Channel", Float) = 2 - [Space(10)]_LayerPower("Layer Power", Range( 0 , 1)) = 0.5 - _LayerThreshold("Layer Threshold", Range( 0 , 50)) = 50 - _LayerPosition("Layer Position", Float) = 0 - _LayerContrast("Layer Contrast", Float) = 0 - [Space(10)][Header(Layer Maps)][Space(10)]_2ndColor("Color", Color) = (1,1,1,1) - _DetailAlbedoMap("Albedo", 2D) = "white" {} - _DetailNormalMap1("Normal", 2D) = "bump" {} - _SecondNormalPower("Normal Power", Range( 0 , 1)) = 1 - _Tiling1("Tiling", Float) = 1 - [Toggle(_SEEVERTEXCOLORS_ON)] _SeeVertexColors("See Vertex Colors", Float) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 4.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - - - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _FORWARD_PLUS - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_COLOR - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_FRAG_WORLD_BITANGENT - #pragma shader_feature_local _SEEVERTEXCOLORS_ON - #pragma shader_feature_local _VERTEXCOLORCHANNEL_R _VERTEXCOLORCHANNEL_G _VERTEXCOLORCHANNEL_B _VERTEXCOLORCHANNEL_A - - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float4 lightmapUVOrVertexSH : TEXCOORD1; - half4 fogFactorAndVertexLight : TEXCOORD2; - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _MainTex; - sampler2D _DetailAlbedoMap; - sampler2D _BumpMap1; - sampler2D _DetailNormalMap1; - - - inline float4 TriplanarSampling185( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; - } - - float4 CalculateContrast( float contrastValue, float4 colorTarget ) - { - float t = 0.5 * ( 1.0 - contrastValue ); - return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); - } - inline float3 TriplanarSampling188( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - xNorm.xyz = half3( UnpackNormalScale( xNorm, normalScale.y ).xy * float2( nsign.x, 1.0 ) + worldNormal.zy, worldNormal.x ).zyx; - yNorm.xyz = half3( UnpackNormalScale( yNorm, normalScale.x ).xy * float2( nsign.y, 1.0 ) + worldNormal.xz, worldNormal.y ).xzy; - zNorm.xyz = half3( UnpackNormalScale( zNorm, normalScale.y ).xy * float2( -nsign.z, 1.0 ) + worldNormal.xy, worldNormal.z ).xyz; - return normalize( xNorm.xyz * projNormal.x + yNorm.xyz * projNormal.y + zNorm.xyz * projNormal.z ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - o.ase_color = v.ase_color; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - v.normalOS = v.normalOS; - v.tangentOS = v.tangentOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); - VertexNormalInputs normalInput = GetVertexNormalInputs( v.normalOS, v.tangentOS ); - - o.tSpace0 = float4( normalInput.normalWS, vertexInput.positionWS.x ); - o.tSpace1 = float4( normalInput.tangentWS, vertexInput.positionWS.y ); - o.tSpace2 = float4( normalInput.bitangentWS, vertexInput.positionWS.z ); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord.xy; - o.lightmapUVOrVertexSH.xy = v.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( vertexInput.positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = vertexInput.positionCS; - o.clipPosV = vertexInput.positionCS; - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - o.tangentOS = v.tangentOS; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - o.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.positionCS ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = IN.clipPosV; - float4 ScreenPos = ComputeScreenPos( IN.clipPosV ); - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_MainTex = IN.ase_texcoord8.xy * _MainTex_ST.xy + _MainTex_ST.zw; - float2 appendResult186 = (float2(_Tiling1 , _Tiling1)); - float4 triplanar185 = TriplanarSampling185( _DetailAlbedoMap, WorldPosition, WorldNormal, 1.0, appendResult186, 1.0, 0 ); - float4 temp_cast_1 = (WorldNormal.y).xxxx; - #if defined(_VERTEXCOLORCHANNEL_R) - float staticSwitch162 = IN.ase_color.r; - #elif defined(_VERTEXCOLORCHANNEL_G) - float staticSwitch162 = IN.ase_color.g; - #elif defined(_VERTEXCOLORCHANNEL_B) - float staticSwitch162 = IN.ase_color.b; - #elif defined(_VERTEXCOLORCHANNEL_A) - float staticSwitch162 = IN.ase_color.a; - #else - float staticSwitch162 = IN.ase_color.b; - #endif - float saferPower109 = abs( staticSwitch162 ); - float4 temp_cast_2 = (pow( saferPower109 , _LayerPosition )).xxxx; - float4 clampResult105 = clamp( CalculateContrast(_LayerContrast,temp_cast_2) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); - float4 temp_cast_3 = (( 1.0 - _LayerPower )).xxxx; - float4 temp_cast_4 = ((0.001 + (_LayerThreshold - 0.0) * (1.0 - 0.001) / (1.0 - 0.0))).xxxx; - float4 BlendAlpha85 = pow( saturate( ( (( _UseVertexColor )?( ( pow( clampResult105 , temp_cast_3 ) * clampResult105 ) ):( temp_cast_1 )) + _LayerPower ) ) , temp_cast_4 ); - float4 lerpResult26 = lerp( ( _Color * tex2D( _MainTex, uv_MainTex ) ) , ( _2ndColor * triplanar185 ) , BlendAlpha85); - #ifdef _SEEVERTEXCOLORS_ON - float4 staticSwitch165 = IN.ase_color; - #else - float4 staticSwitch165 = lerpResult26; - #endif - - float2 uv_BumpMap1 = IN.ase_texcoord8.xy * _BumpMap1_ST.xy + _BumpMap1_ST.zw; - float3 unpack189 = UnpackNormalScale( tex2D( _BumpMap1, uv_BumpMap1 ), _NormalPower ); - unpack189.z = lerp( 1, unpack189.z, saturate(_NormalPower) ); - float3x3 ase_worldToTangent = float3x3(WorldTangent,WorldBiTangent,WorldNormal); - float3 triplanar188 = TriplanarSampling188( _DetailNormalMap1, WorldPosition, WorldNormal, 1.0, BlendAlpha85.rg, _SecondNormalPower, 0 ); - float3 tanTriplanarNormal188 = mul( ase_worldToTangent, triplanar188 ); - - - float3 BaseColor = staticSwitch165.rgb; - float3 Normal = BlendNormal( unpack189 , tanTriplanarNormal188 ); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = _MetallicPower; - float Smoothness = _SmoothnessPower; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = IN.positionCS.z; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.positionCS, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - #define SUM_LIGHT_TRANSMISSION(Light)\ - float3 atten = Light.color * Light.distanceAttenuation;\ - atten = lerp( atten, atten * Light.shadowAttenuation, shadow );\ - half3 transmission = max( 0, -dot( inputData.normalWS, Light.direction ) ) * atten * Transmission;\ - color.rgb += BaseColor * transmission; - - SUM_LIGHT_TRANSMISSION( GetMainLight( inputData.shadowCoord ) ); - - #if defined(_ADDITIONAL_LIGHTS) - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSMISSION( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSMISSION( light ); - } - LIGHT_LOOP_END - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - #define SUM_LIGHT_TRANSLUCENCY(Light)\ - float3 atten = Light.color * Light.distanceAttenuation;\ - atten = lerp( atten, atten * Light.shadowAttenuation, shadow );\ - half3 lightDir = Light.direction + inputData.normalWS * normal;\ - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering );\ - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency;\ - color.rgb += BaseColor * translucency * strength; - - SUM_LIGHT_TRANSLUCENCY( GetMainLight( inputData.shadowCoord ) ); - - #if defined(_ADDITIONAL_LIGHTS) - uint meshRenderingLayers = GetMeshRenderingLayer(); - uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS - for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) - { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK - - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSLUCENCY( light ); - } - } - #endif - LIGHT_LOOP_BEGIN( pixelLightCount ) - Light light = GetAdditionalLight(lightIndex, inputData.positionWS); - #ifdef _LIGHT_LAYERS - if (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) - #endif - { - SUM_LIGHT_TRANSLUCENCY( light ); - } - LIGHT_LOOP_END - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - float3 positionWS = TransformObjectToWorld( v.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.normalOS); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - positionCS.z = min(positionCS.z, UNITY_NEAR_CLIP_VALUE); - #else - positionCS.z = max(positionCS.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = positionCS; - o.clipPosV = positionCS; - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float4 ClipPos = IN.clipPosV; - float4 ScreenPos = ComputeScreenPos( IN.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = IN.positionCS.z; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.positionCS ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = vertexInput.positionCS; - o.clipPosV = vertexInput.positionCS; - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float4 ClipPos = IN.clipPosV; - float4 ScreenPos = ComputeScreenPos( IN.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = IN.positionCS.z; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.positionCS ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_COLOR - #pragma shader_feature_local _SEEVERTEXCOLORS_ON - #pragma shader_feature_local _VERTEXCOLORCHANNEL_R _VERTEXCOLORCHANNEL_G _VERTEXCOLORCHANNEL_B _VERTEXCOLORCHANNEL_A - - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _MainTex; - sampler2D _DetailAlbedoMap; - - - inline float4 TriplanarSampling185( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; - } - - float4 CalculateContrast( float contrastValue, float4 colorTarget ) - { - float t = 0.5 * ( 1.0 - contrastValue ); - return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); - } - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.normalOS); - o.ase_texcoord5.xyz = ase_worldNormal; - - o.ase_texcoord4.xy = v.texcoord0.xy; - o.ase_color = v.ase_color; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - o.ase_texcoord5.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - float3 positionWS = TransformObjectToWorld( v.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.positionWS = positionWS; - #endif - - o.positionCS = MetaVertexPosition( v.positionOS, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.positionOS.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_MainTex = IN.ase_texcoord4.xy * _MainTex_ST.xy + _MainTex_ST.zw; - float2 appendResult186 = (float2(_Tiling1 , _Tiling1)); - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float4 triplanar185 = TriplanarSampling185( _DetailAlbedoMap, WorldPosition, ase_worldNormal, 1.0, appendResult186, 1.0, 0 ); - float4 temp_cast_1 = (ase_worldNormal.y).xxxx; - #if defined(_VERTEXCOLORCHANNEL_R) - float staticSwitch162 = IN.ase_color.r; - #elif defined(_VERTEXCOLORCHANNEL_G) - float staticSwitch162 = IN.ase_color.g; - #elif defined(_VERTEXCOLORCHANNEL_B) - float staticSwitch162 = IN.ase_color.b; - #elif defined(_VERTEXCOLORCHANNEL_A) - float staticSwitch162 = IN.ase_color.a; - #else - float staticSwitch162 = IN.ase_color.b; - #endif - float saferPower109 = abs( staticSwitch162 ); - float4 temp_cast_2 = (pow( saferPower109 , _LayerPosition )).xxxx; - float4 clampResult105 = clamp( CalculateContrast(_LayerContrast,temp_cast_2) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); - float4 temp_cast_3 = (( 1.0 - _LayerPower )).xxxx; - float4 temp_cast_4 = ((0.001 + (_LayerThreshold - 0.0) * (1.0 - 0.001) / (1.0 - 0.0))).xxxx; - float4 BlendAlpha85 = pow( saturate( ( (( _UseVertexColor )?( ( pow( clampResult105 , temp_cast_3 ) * clampResult105 ) ):( temp_cast_1 )) + _LayerPower ) ) , temp_cast_4 ); - float4 lerpResult26 = lerp( ( _Color * tex2D( _MainTex, uv_MainTex ) ) , ( _2ndColor * triplanar185 ) , BlendAlpha85); - #ifdef _SEEVERTEXCOLORS_ON - float4 staticSwitch165 = IN.ase_color; - #else - float4 staticSwitch165 = lerpResult26; - #endif - - - float3 BaseColor = staticSwitch165.rgb; - float3 Emission = 0; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_COLOR - #pragma shader_feature_local _SEEVERTEXCOLORS_ON - #pragma shader_feature_local _VERTEXCOLORCHANNEL_R _VERTEXCOLORCHANNEL_G _VERTEXCOLORCHANNEL_B _VERTEXCOLORCHANNEL_A - - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _MainTex; - sampler2D _DetailAlbedoMap; - - - inline float4 TriplanarSampling185( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; - } - - float4 CalculateContrast( float contrastValue, float4 colorTarget ) - { - float t = 0.5 * ( 1.0 - contrastValue ); - return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); - } - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.normalOS); - o.ase_texcoord3.xyz = ase_worldNormal; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - o.ase_color = v.ase_color; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - o.ase_texcoord3.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = vertexInput.positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_MainTex = IN.ase_texcoord2.xy * _MainTex_ST.xy + _MainTex_ST.zw; - float2 appendResult186 = (float2(_Tiling1 , _Tiling1)); - float3 ase_worldNormal = IN.ase_texcoord3.xyz; - float4 triplanar185 = TriplanarSampling185( _DetailAlbedoMap, WorldPosition, ase_worldNormal, 1.0, appendResult186, 1.0, 0 ); - float4 temp_cast_1 = (ase_worldNormal.y).xxxx; - #if defined(_VERTEXCOLORCHANNEL_R) - float staticSwitch162 = IN.ase_color.r; - #elif defined(_VERTEXCOLORCHANNEL_G) - float staticSwitch162 = IN.ase_color.g; - #elif defined(_VERTEXCOLORCHANNEL_B) - float staticSwitch162 = IN.ase_color.b; - #elif defined(_VERTEXCOLORCHANNEL_A) - float staticSwitch162 = IN.ase_color.a; - #else - float staticSwitch162 = IN.ase_color.b; - #endif - float saferPower109 = abs( staticSwitch162 ); - float4 temp_cast_2 = (pow( saferPower109 , _LayerPosition )).xxxx; - float4 clampResult105 = clamp( CalculateContrast(_LayerContrast,temp_cast_2) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); - float4 temp_cast_3 = (( 1.0 - _LayerPower )).xxxx; - float4 temp_cast_4 = ((0.001 + (_LayerThreshold - 0.0) * (1.0 - 0.001) / (1.0 - 0.0))).xxxx; - float4 BlendAlpha85 = pow( saturate( ( (( _UseVertexColor )?( ( pow( clampResult105 , temp_cast_3 ) * clampResult105 ) ):( temp_cast_1 )) + _LayerPower ) ) , temp_cast_4 ); - float4 lerpResult26 = lerp( ( _Color * tex2D( _MainTex, uv_MainTex ) ) , ( _2ndColor * triplanar185 ) , BlendAlpha85); - #ifdef _SEEVERTEXCOLORS_ON - float4 staticSwitch165 = IN.ase_color; - #else - float4 staticSwitch165 = lerpResult26; - #endif - - - float3 BaseColor = staticSwitch165.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_COLOR - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_TANGENT - #pragma shader_feature_local _VERTEXCOLORCHANNEL_R _VERTEXCOLORCHANNEL_G _VERTEXCOLORCHANNEL_B _VERTEXCOLORCHANNEL_A - - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 worldNormal : TEXCOORD1; - float4 worldTangent : TEXCOORD2; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD3; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD4; - #endif - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_color : COLOR; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _BumpMap1; - sampler2D _DetailNormalMap1; - - - float4 CalculateContrast( float contrastValue, float4 colorTarget ) - { - float t = 0.5 * ( 1.0 - contrastValue ); - return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); - } - inline float3 TriplanarSampling188( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - xNorm.xyz = half3( UnpackNormalScale( xNorm, normalScale.y ).xy * float2( nsign.x, 1.0 ) + worldNormal.zy, worldNormal.x ).zyx; - yNorm.xyz = half3( UnpackNormalScale( yNorm, normalScale.x ).xy * float2( nsign.y, 1.0 ) + worldNormal.xz, worldNormal.y ).xzy; - zNorm.xyz = half3( UnpackNormalScale( zNorm, normalScale.y ).xy * float2( -nsign.z, 1.0 ) + worldNormal.xy, worldNormal.z ).xyz; - return normalize( xNorm.xyz * projNormal.x + yNorm.xyz * projNormal.y + zNorm.xyz * projNormal.z ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.normalOS); - float3 ase_worldTangent = TransformObjectToWorldDir(v.tangentOS.xyz); - float ase_vertexTangentSign = v.tangentOS.w * ( unity_WorldTransformParams.w >= 0.0 ? 1.0 : -1.0 ); - float3 ase_worldBitangent = cross( ase_worldNormal, ase_worldTangent ) * ase_vertexTangentSign; - o.ase_texcoord6.xyz = ase_worldBitangent; - - o.ase_texcoord5.xy = v.ase_texcoord.xy; - o.ase_color = v.ase_color; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord5.zw = 0; - o.ase_texcoord6.w = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - v.tangentOS = v.tangentOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); - - float3 normalWS = TransformObjectToWorldNormal( v.normalOS ); - float4 tangentWS = float4( TransformObjectToWorldDir( v.tangentOS.xyz ), v.tangentOS.w ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.positionWS = vertexInput.positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = vertexInput.positionCS; - o.clipPosV = vertexInput.positionCS; - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - o.tangentOS = v.tangentOS; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - o.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - void frag( VertexOutput IN - , out half4 outNormalWS : SV_Target0 - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.positionWS; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - float4 ClipPos = IN.clipPosV; - float4 ScreenPos = ComputeScreenPos( IN.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_BumpMap1 = IN.ase_texcoord5.xy * _BumpMap1_ST.xy + _BumpMap1_ST.zw; - float3 unpack189 = UnpackNormalScale( tex2D( _BumpMap1, uv_BumpMap1 ), _NormalPower ); - unpack189.z = lerp( 1, unpack189.z, saturate(_NormalPower) ); - float4 temp_cast_0 = (WorldNormal.y).xxxx; - #if defined(_VERTEXCOLORCHANNEL_R) - float staticSwitch162 = IN.ase_color.r; - #elif defined(_VERTEXCOLORCHANNEL_G) - float staticSwitch162 = IN.ase_color.g; - #elif defined(_VERTEXCOLORCHANNEL_B) - float staticSwitch162 = IN.ase_color.b; - #elif defined(_VERTEXCOLORCHANNEL_A) - float staticSwitch162 = IN.ase_color.a; - #else - float staticSwitch162 = IN.ase_color.b; - #endif - float saferPower109 = abs( staticSwitch162 ); - float4 temp_cast_1 = (pow( saferPower109 , _LayerPosition )).xxxx; - float4 clampResult105 = clamp( CalculateContrast(_LayerContrast,temp_cast_1) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); - float4 temp_cast_2 = (( 1.0 - _LayerPower )).xxxx; - float4 temp_cast_3 = ((0.001 + (_LayerThreshold - 0.0) * (1.0 - 0.001) / (1.0 - 0.0))).xxxx; - float4 BlendAlpha85 = pow( saturate( ( (( _UseVertexColor )?( ( pow( clampResult105 , temp_cast_2 ) * clampResult105 ) ):( temp_cast_0 )) + _LayerPower ) ) , temp_cast_3 ); - float3 ase_worldBitangent = IN.ase_texcoord6.xyz; - float3x3 ase_worldToTangent = float3x3(WorldTangent.xyz,ase_worldBitangent,WorldNormal); - float3 triplanar188 = TriplanarSampling188( _DetailNormalMap1, WorldPosition, WorldNormal, 1.0, BlendAlpha85.rg, _SecondNormalPower, 0 ); - float3 tanTriplanarNormal188 = mul( ase_worldToTangent, triplanar188 ); - - - float3 Normal = BlendNormal( unpack189 , tanTriplanarNormal188 ); - float Alpha = 1; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = IN.positionCS.z; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.positionCS ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - outNormalWS = half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - - - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_COLOR - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_FRAG_WORLD_BITANGENT - #pragma shader_feature_local _SEEVERTEXCOLORS_ON - #pragma shader_feature_local _VERTEXCOLORCHANNEL_R _VERTEXCOLORCHANNEL_G _VERTEXCOLORCHANNEL_B _VERTEXCOLORCHANNEL_A - - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float4 lightmapUVOrVertexSH : TEXCOORD1; - half4 fogFactorAndVertexLight : TEXCOORD2; - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _MainTex; - sampler2D _DetailAlbedoMap; - sampler2D _BumpMap1; - sampler2D _DetailNormalMap1; - - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - - inline float4 TriplanarSampling185( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; - } - - float4 CalculateContrast( float contrastValue, float4 colorTarget ) - { - float t = 0.5 * ( 1.0 - contrastValue ); - return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); - } - inline float3 TriplanarSampling188( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) - { - float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); - projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; - float3 nsign = sign( worldNormal ); - half4 xNorm; half4 yNorm; half4 zNorm; - xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); - yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); - zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); - xNorm.xyz = half3( UnpackNormalScale( xNorm, normalScale.y ).xy * float2( nsign.x, 1.0 ) + worldNormal.zy, worldNormal.x ).zyx; - yNorm.xyz = half3( UnpackNormalScale( yNorm, normalScale.x ).xy * float2( nsign.y, 1.0 ) + worldNormal.xz, worldNormal.y ).xzy; - zNorm.xyz = half3( UnpackNormalScale( zNorm, normalScale.y ).xy * float2( -nsign.z, 1.0 ) + worldNormal.xy, worldNormal.z ).xyz; - return normalize( xNorm.xyz * projNormal.x + yNorm.xyz * projNormal.y + zNorm.xyz * projNormal.z ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - o.ase_color = v.ase_color; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - v.tangentOS = v.tangentOS; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); - VertexNormalInputs normalInput = GetVertexNormalInputs( v.normalOS, v.tangentOS ); - - o.tSpace0 = float4( normalInput.normalWS, vertexInput.positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, vertexInput.positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, vertexInput.positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord.xy; - o.lightmapUVOrVertexSH.xy = v.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.positionCS = vertexInput.positionCS; - o.clipPosV = vertexInput.positionCS; - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - o.tangentOS = v.tangentOS; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - o.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODFadeCrossFade( IN.positionCS ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - float4 ClipPos = IN.clipPosV; - float4 ScreenPos = ComputeScreenPos( IN.clipPosV ); - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_MainTex = IN.ase_texcoord8.xy * _MainTex_ST.xy + _MainTex_ST.zw; - float2 appendResult186 = (float2(_Tiling1 , _Tiling1)); - float4 triplanar185 = TriplanarSampling185( _DetailAlbedoMap, WorldPosition, WorldNormal, 1.0, appendResult186, 1.0, 0 ); - float4 temp_cast_1 = (WorldNormal.y).xxxx; - #if defined(_VERTEXCOLORCHANNEL_R) - float staticSwitch162 = IN.ase_color.r; - #elif defined(_VERTEXCOLORCHANNEL_G) - float staticSwitch162 = IN.ase_color.g; - #elif defined(_VERTEXCOLORCHANNEL_B) - float staticSwitch162 = IN.ase_color.b; - #elif defined(_VERTEXCOLORCHANNEL_A) - float staticSwitch162 = IN.ase_color.a; - #else - float staticSwitch162 = IN.ase_color.b; - #endif - float saferPower109 = abs( staticSwitch162 ); - float4 temp_cast_2 = (pow( saferPower109 , _LayerPosition )).xxxx; - float4 clampResult105 = clamp( CalculateContrast(_LayerContrast,temp_cast_2) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); - float4 temp_cast_3 = (( 1.0 - _LayerPower )).xxxx; - float4 temp_cast_4 = ((0.001 + (_LayerThreshold - 0.0) * (1.0 - 0.001) / (1.0 - 0.0))).xxxx; - float4 BlendAlpha85 = pow( saturate( ( (( _UseVertexColor )?( ( pow( clampResult105 , temp_cast_3 ) * clampResult105 ) ):( temp_cast_1 )) + _LayerPower ) ) , temp_cast_4 ); - float4 lerpResult26 = lerp( ( _Color * tex2D( _MainTex, uv_MainTex ) ) , ( _2ndColor * triplanar185 ) , BlendAlpha85); - #ifdef _SEEVERTEXCOLORS_ON - float4 staticSwitch165 = IN.ase_color; - #else - float4 staticSwitch165 = lerpResult26; - #endif - - float2 uv_BumpMap1 = IN.ase_texcoord8.xy * _BumpMap1_ST.xy + _BumpMap1_ST.zw; - float3 unpack189 = UnpackNormalScale( tex2D( _BumpMap1, uv_BumpMap1 ), _NormalPower ); - unpack189.z = lerp( 1, unpack189.z, saturate(_NormalPower) ); - float3x3 ase_worldToTangent = float3x3(WorldTangent,WorldBiTangent,WorldNormal); - float3 triplanar188 = TriplanarSampling188( _DetailNormalMap1, WorldPosition, WorldNormal, 1.0, BlendAlpha85.rg, _SecondNormalPower, 0 ); - float3 tanTriplanarNormal188 = mul( ase_worldToTangent, triplanar188 ); - - - float3 BaseColor = staticSwitch165.rgb; - float3 Normal = BlendNormal( unpack189 , tanTriplanarNormal188 ); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = _MetallicPower; - float Smoothness = _SmoothnessPower; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = IN.positionCS.z; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.positionCS; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.positionCS, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - float3 positionWS = TransformObjectToWorld( v.positionOS.xyz ); - - o.positionCS = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 140009 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 positionCS : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Color; - float4 _MainTex_ST; - float4 _2ndColor; - float4 _BumpMap1_ST; - float _Tiling1; - float _UseVertexColor; - float _LayerContrast; - float _LayerPosition; - float _LayerPower; - float _LayerThreshold; - float _NormalPower; - float _SecondNormalPower; - float _MetallicPower; - float _SmoothnessPower; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.positionOS.xyz = vertexValue; - #else - v.positionOS.xyz += vertexValue; - #endif - - v.normalOS = v.normalOS; - - float3 positionWS = TransformObjectToWorld( v.positionOS.xyz ); - o.positionCS = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 normalOS : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.positionOS; - o.normalOS = v.normalOS; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.positionOS = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.positionOS.xyz - patch[i].normalOS * (dot(o.positionOS.xyz, patch[i].normalOS) - dot(patch[i].vertex.xyz, patch[i].normalOS)); - float phongStrength = _TessPhongStrength; - o.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19202 -Node;AmplifyShaderEditor.RangedFloatNode;22;-2615.233,591.6315;Float;False;Property;_LayerPower;Layer Power;8;0;Create;True;0;0;0;False;1;Space(10);False;0.5;0.288;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;73;-2327.233,543.6315;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PowerNode;72;-2135.233,703.6315;Inherit;True;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;93;-1879.233,863.6315;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;179;0,-127;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;175;0,-127;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;176;0,-127;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;AwaiiStudio/URP_RockShader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;21;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;40;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;177;0,-127;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;178;0,-127;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;180;0,-127;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;181;0,-67;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;182;0,-67;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;183;0,-67;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;184;0,-67;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;5;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.ColorNode;2;-1739.647,-1458.009;Inherit;False;Property;_Color;Main Color;0;0;Create;False;0;0;0;False;2;Header(Mesh Maps);Space(10);False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-1451.647,-1074.009;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;10;-1451.647,-1202.009;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.VertexColorNode;164;-1147.647,-866.0085;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;26;-1227.647,-1138.009;Inherit;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TexturePropertyNode;61;-2251.646,-818.0089;Inherit;True;Property;_DetailAlbedoMap;Albedo;13;0;Create;False;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SamplerNode;1;-2123.647,-1330.009;Inherit;True;Property;_MainTex;Albedo;1;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;11;-1863.148,-1008.408;Inherit;False;Property;_2ndColor;Color;12;0;Create;False;0;0;0;False;3;Space(10);Header(Layer Maps);Space(10);False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TriplanarNode;185;-1918.333,-807.9014;Inherit;True;Spherical;World;False;Top Texture 0;_TopTexture0;white;-1;None;Mid Texture 0;_MidTexture0;white;-1;None;Bot Texture 0;_BotTexture0;white;-1;None;Triplanar Sampler;Tangent;10;0;SAMPLER2D;;False;5;FLOAT;1;False;1;SAMPLER2D;;False;6;FLOAT;0;False;2;SAMPLER2D;;False;7;FLOAT;0;False;9;FLOAT3;0,0,0;False;8;FLOAT;1;False;3;FLOAT2;1,1;False;4;FLOAT;1;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;187;-2275.408,-584.7078;Inherit;False;Property;_Tiling1;Tiling;16;0;Create;True;0;0;0;False;0;False;1;0.25;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;165;-971.647,-994.0087;Inherit;False;Property;_SeeVertexColors;See Vertex Colors;17;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Create;True;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.DynamicAppendNode;186;-2060.007,-638.3052;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TriplanarNode;188;-1797.461,-25.82837;Inherit;True;Spherical;World;True;Top Texture 6;_TopTexture6;white;-1;None;Mid Texture 6;_MidTexture6;white;-1;None;Bot Texture 6;_BotTexture6;white;-1;None;Triplanar Sampler;Tangent;10;0;SAMPLER2D;;False;5;FLOAT;1;False;1;SAMPLER2D;;False;6;FLOAT;0;False;2;SAMPLER2D;;False;7;FLOAT;0;False;9;FLOAT3;0,0,0;False;8;FLOAT;1;False;3;FLOAT2;1,1;False;4;FLOAT;1;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;189;-1797.461,-217.8284;Inherit;True;Property;_BumpMap1;Normal;2;0;Create;False;0;0;0;False;0;False;-1;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.BlendNormalsNode;190;-1333.461,-105.8284;Inherit;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;191;-2181.461,-217.8284;Inherit;False;Property;_NormalPower;Normal Power;3;0;Create;True;0;0;0;False;0;False;1;1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;192;-2403.461,-23.82837;Inherit;True;Property;_DetailNormalMap1;Normal;14;0;Create;False;0;0;0;False;0;False;None;None;True;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.RangedFloatNode;193;-2181.461,-89.82837;Inherit;False;Property;_SecondNormalPower;Normal Power;15;0;Create;False;0;0;0;False;0;False;1;1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;194;-2163.461,97.17163;Inherit;False;85;BlendAlpha;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;88;-1451.647,-946.0089;Inherit;False;85;BlendAlpha;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;195;-419.9714,-3.821289;Inherit;False;Property;_MetallicPower;Metallic Power;4;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;196;-429.1455,102.3553;Inherit;False;Property;_SmoothnessPower;Smoothness Power;5;0;Create;True;0;0;0;False;0;False;0;0.657;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ClampOpNode;105;-2335.57,913.5915;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.VertexColorNode;34;-3219.708,695.7563;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.StaticSwitch;162;-3043.706,695.7563;Inherit;False;Property;_VertexColorChannel;Vertex Color Channel;7;0;Create;True;0;0;0;False;0;False;0;2;2;True;;KeywordEnum;4;R;G;B;A;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;110;-3043.706,887.7563;Inherit;False;Property;_LayerPosition;Layer Position;10;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;113;-2787.705,951.7563;Inherit;False;Property;_LayerContrast;Layer Contrast;11;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleContrastOpNode;112;-2531.704,839.7563;Inherit;False;2;1;COLOR;0,0,0,0;False;0;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.PowerNode;109;-2759.705,689.7563;Inherit;True;True;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;25;-1119.836,815.9504;Float;False;Property;_LayerThreshold;Layer Threshold;9;0;Create;True;0;0;0;False;0;False;50;50;0;50;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;16;-1247.836,559.9503;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SaturateNode;17;-1023.836,559.9503;Inherit;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TFHCRemapNode;163;-805.0827,805.4936;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0.001;False;4;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PowerNode;24;-831.8357,559.9503;Inherit;True;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;85;-543.8358,607.9504;Inherit;False;BlendAlpha;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ToggleSwitchNode;35;-1577.015,915.5832;Inherit;False;Property;_UseVertexColor;Use Vertex Color;6;0;Create;True;0;0;0;False;3;Space(10);Header(Layer);Space(10);False;0;True;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.WorldNormalVector;14;-1834.928,637.3369;Inherit;True;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -WireConnection;73;0;22;0 -WireConnection;72;0;105;0 -WireConnection;72;1;73;0 -WireConnection;93;0;72;0 -WireConnection;93;1;105;0 -WireConnection;176;0;165;0 -WireConnection;176;1;190;0 -WireConnection;176;3;195;0 -WireConnection;176;4;196;0 -WireConnection;12;0;11;0 -WireConnection;12;1;185;0 -WireConnection;10;0;2;0 -WireConnection;10;1;1;0 -WireConnection;26;0;10;0 -WireConnection;26;1;12;0 -WireConnection;26;2;88;0 -WireConnection;185;0;61;0 -WireConnection;185;3;186;0 -WireConnection;165;1;26;0 -WireConnection;165;0;164;0 -WireConnection;186;0;187;0 -WireConnection;186;1;187;0 -WireConnection;188;0;192;0 -WireConnection;188;8;193;0 -WireConnection;188;3;194;0 -WireConnection;189;5;191;0 -WireConnection;190;0;189;0 -WireConnection;190;1;188;0 -WireConnection;105;0;112;0 -WireConnection;162;1;34;1 -WireConnection;162;0;34;2 -WireConnection;162;2;34;3 -WireConnection;162;3;34;4 -WireConnection;112;1;109;0 -WireConnection;112;0;113;0 -WireConnection;109;0;162;0 -WireConnection;109;1;110;0 -WireConnection;16;0;35;0 -WireConnection;16;1;22;0 -WireConnection;17;0;16;0 -WireConnection;163;0;25;0 -WireConnection;24;0;17;0 -WireConnection;24;1;163;0 -WireConnection;85;0;24;0 -WireConnection;35;0;14;2 -WireConnection;35;1;93;0 -ASEEND*/ -//CHKSM=7C3F2165ACEE0EF8739F39D1D456D60EEF5AB1E5 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader.meta deleted file mode 100644 index cbfe5481d..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/ASRock.shader.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 8043115a31d7a174cb5ff607794400db -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/ASRock.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader b/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader deleted file mode 100644 index d4ff4e0b3..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader +++ /dev/null @@ -1,1051 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_BillBoardGrass" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_Texture("Texture", 2D) = "white" {} - _Tint("Tint", Color) = (0.8679245,0.8679245,0.8679245,0) - [Header(Wind Values)][Space(5)]_WindFoliageSpeed("Wind Foliage Speed", Range( 0 , 1)) = 0 - [ASEEnd]_WindFoliageAmplitude("Wind Foliage Amplitude", Range( 0 , 1)) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Off - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - float4 lightmapUVOrVertexSH : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - VertexOutput VertexFunction ( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = float3( 0, 1, 0 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - v.ase_normal = normalize( mul( float4( v.ase_normal , 0 ), rotationCamMatrix )).xyz; - v.ase_tangent.xyz = normalize( mul( float4( v.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - //This unfortunately must be made to take non-uniform scaling into account; - //Transform to world coords, apply rotation and transform back to local; - v.vertex = mul( v.vertex , unity_ObjectToWorld ); - v.vertex = mul( v.vertex , rotationCamMatrix ); - v.vertex = mul( v.vertex , unity_WorldToObject ); - float2 texCoord97 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float2 appendResult99 = (float2(0.0 , ( texCoord97.y * sin( ( ( v.vertex.xyz.x + ( _TimeParameters.x * _WindFoliageSpeed ) ) / 0.5 ) ) ))); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - OUTPUT_SH( ase_worldNormal, o.lightmapUVOrVertexSH.xyz ); - o.ase_texcoord5.xyz = ase_worldNormal; - - o.ase_texcoord3.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord3.zw = 0; - o.ase_texcoord5.w = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = ( ( 0 + ( v.vertex.xyz * 0.05 ) ) + float3( ( appendResult99 * _WindFoliageAmplitude ) , 0.0 ) ); - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - #ifdef ASE_FOG - o.fogFactor = ComputeFogFactor( positionCS.z ); - #endif - o.clipPos = positionCS; - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - o.texcoord1 = v.texcoord1; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float2 uv_Texture = IN.ase_texcoord3.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode8 = tex2D( _Texture, uv_Texture ); - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float3 bakedGI43 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI43, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( _Tint * ( tex2DNode8 * ( _MainLightColor * float4( ( bakedGI43 + ase_lightAtten ) , 0.0 ) ) ) ).rgb; - float Alpha = tex2DNode8.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = float3( 0, 1, 0 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - v.ase_normal = normalize( mul( float4( v.ase_normal , 0 ), rotationCamMatrix )).xyz; - v.ase_tangent.xyz = normalize( mul( float4( v.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - //This unfortunately must be made to take non-uniform scaling into account; - //Transform to world coords, apply rotation and transform back to local; - v.vertex = mul( v.vertex , unity_ObjectToWorld ); - v.vertex = mul( v.vertex , rotationCamMatrix ); - v.vertex = mul( v.vertex , unity_WorldToObject ); - float2 texCoord97 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float2 appendResult99 = (float2(0.0 , ( texCoord97.y * sin( ( ( v.vertex.xyz.x + ( _TimeParameters.x * _WindFoliageSpeed ) ) / 0.5 ) ) ))); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = ( ( 0 + ( v.vertex.xyz * 0.05 ) ) + float3( ( appendResult99 * _WindFoliageAmplitude ) , 0.0 ) ); - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode8 = tex2D( _Texture, uv_Texture ); - - float Alpha = tex2DNode8.a; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_VERT_NORMAL - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _Texture_ST; - float _WindFoliageSpeed; - float _WindFoliageAmplitude; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _Texture; - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - //Calculate new billboard vertex position and normal; - float3 upCamVec = float3( 0, 1, 0 ); - float3 forwardCamVec = -normalize ( UNITY_MATRIX_V._m20_m21_m22 ); - float3 rightCamVec = normalize( UNITY_MATRIX_V._m00_m01_m02 ); - float4x4 rotationCamMatrix = float4x4( rightCamVec, 0, upCamVec, 0, forwardCamVec, 0, 0, 0, 0, 1 ); - v.ase_normal = normalize( mul( float4( v.ase_normal , 0 ), rotationCamMatrix )).xyz; - v.ase_tangent.xyz = normalize( mul( float4( v.ase_tangent.xyz , 0 ), rotationCamMatrix )).xyz; - //This unfortunately must be made to take non-uniform scaling into account; - //Transform to world coords, apply rotation and transform back to local; - v.vertex = mul( v.vertex , unity_ObjectToWorld ); - v.vertex = mul( v.vertex , rotationCamMatrix ); - v.vertex = mul( v.vertex , unity_WorldToObject ); - float2 texCoord97 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float2 appendResult99 = (float2(0.0 , ( texCoord97.y * sin( ( ( v.vertex.xyz.x + ( _TimeParameters.x * _WindFoliageSpeed ) ) / 0.5 ) ) ))); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = ( ( 0 + ( v.vertex.xyz * 0.05 ) ) + float3( ( appendResult99 * _WindFoliageAmplitude ) , 0.0 ) ); - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_Texture = IN.ase_texcoord2.xy * _Texture_ST.xy + _Texture_ST.zw; - float4 tex2DNode8 = tex2D( _Texture, uv_Texture ); - - float Alpha = tex2DNode8.a; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -411;546;1041;473;2591.093;625.8676;3.475224;True;False -Node;AmplifyShaderEditor.CommentaryNode;102;-1892.252,667.8087;Inherit;False;1711.851;533.8353;;13;89;90;91;88;92;93;96;95;97;98;99;101;100;Wind;1,1,1,1;0;0 -Node;AmplifyShaderEditor.RangedFloatNode;90;-1842.252,1075.806;Float;False;Property;_WindFoliageSpeed;Wind Foliage Speed;2;1;[Header];Create;True;0;0;0;False;2;Header(Wind Values);Space(5);False;0;0.5;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleTimeNode;89;-1718.091,955.6436;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;-1513.543,1020.459;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PosVertexDataNode;88;-1735.392,765.6396;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;92;-1435.828,867.9078;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;93;-1323.381,1085.644;Inherit;False;Constant;_Float1;Float 1;7;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;96;-1116.401,863.8087;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;97;-1000.401,717.8087;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SinOpNode;95;-935.0808,894.4441;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;66;-1071.384,83.81469;Inherit;False;741.5181;415.1717;;4;6;9;10;5;Billboard;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;98;-720.4012,819.8088;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PosVertexDataNode;6;-1021.383,315.9863;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.DynamicAppendNode;99;-508.4012,753.8088;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.BillboardNode;5;-768.3549,133.8147;Inherit;False;Cylindrical;False;True;0;1;FLOAT3;0 -Node;AmplifyShaderEditor.ScaleNode;9;-640.0156,325.7229;Inherit;False;0.05;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;101;-682.1051,940.8219;Float;False;Property;_WindFoliageAmplitude;Wind Foliage Amplitude;3;0;Create;True;0;0;0;False;0;False;0;0.15;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;10;-481.8654,267.2412;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;100;-342.4013,773.8088;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.CommentaryNode;65;-1243.092,-932.6283;Inherit;False;1063.66;778.2621;;9;49;51;50;8;48;45;44;46;43;Toon;1,1,1,1;0;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;45;-916.9147,-334.4103;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;41;378.954,71.81963;Inherit;False;Constant;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;49;-419.3165,-521.2372;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;44;-1180.699,-265.3662;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;43;-1193.092,-362.7361;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LightColorNode;46;-1185.925,-506.135;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.SimpleAddOpNode;85;229.6855,738.1865;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT2;0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ColorNode;50;-777.9274,-882.6283;Inherit;False;Property;_Tint;Tint;1;0;Create;True;0;0;0;False;0;False;0.8679245,0.8679245,0.8679245,0;0.8207547,0.8207547,0.8207547,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-341.4324,-669.8114;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;48;-809.7653,-501.6664;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;8;-1059.816,-706.8337;Inherit;True;Property;_Texture;Texture;0;0;Create;True;0;0;0;False;0;False;-1;None;0d383f0cd0395064eb4b64619b2840f3;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;29;249.0564,-26.68461;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;26;894.6434,42.93751;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/URP_BillBoardGrass;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;0;638002954729808732;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;27;249.0564,-26.68461;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;25;249.0564,-26.68461;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;28;249.0564,-26.68461;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -WireConnection;91;0;89;0 -WireConnection;91;1;90;0 -WireConnection;92;0;88;1 -WireConnection;92;1;91;0 -WireConnection;96;0;92;0 -WireConnection;96;1;93;0 -WireConnection;95;0;96;0 -WireConnection;98;0;97;2 -WireConnection;98;1;95;0 -WireConnection;99;1;98;0 -WireConnection;9;0;6;0 -WireConnection;10;0;5;0 -WireConnection;10;1;9;0 -WireConnection;100;0;99;0 -WireConnection;100;1;101;0 -WireConnection;45;0;43;0 -WireConnection;45;1;44;0 -WireConnection;49;0;8;0 -WireConnection;49;1;48;0 -WireConnection;85;0;10;0 -WireConnection;85;1;100;0 -WireConnection;51;0;50;0 -WireConnection;51;1;49;0 -WireConnection;48;0;46;0 -WireConnection;48;1;45;0 -WireConnection;26;2;51;0 -WireConnection;26;3;8;4 -WireConnection;26;4;41;0 -WireConnection;26;5;85;0 -ASEEND*/ -//CHKSM=DEF08761354180DB9B9CA0083F38A62E6E1C9DF8 \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader.meta deleted file mode 100644 index 8b82ac0ed..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/BillBoardGrass.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: aab13a62946fe504faf4c11aa7d19711 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/BillBoardGrass.shader - uploadId: 645705 diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader b/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader deleted file mode 100644 index dd0caa611..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader +++ /dev/null @@ -1,954 +0,0 @@ -// Made with Amplify Shader Editor -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "AwaiiStudio/URP_ToonLit" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_TextureSample0("Texture Sample 0", 2D) = "white" {} - _Tint("Tint", Color) = (0.8679245,0.8679245,0.8679245,0) - [ASEEnd]_LightPower("Light Power", Range( 0 , 2)) = 2 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - } - - SubShader - { - LOD 0 - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" } - - Cull Back - AlphaToMask Off - - HLSLINCLUDE - #pragma target 2.0 - - #pragma prefer_hlslcc gles - #pragma exclude_renderers d3d11_9x - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - - #if ASE_SRP_VERSION <= 70108 - #define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR - #endif - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - float4 lightmapUVOrVertexSH : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _TextureSample0_ST; - float _LightPower; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _TextureSample0; - - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - float3 AdditionalLightsFlat( float3 WorldPosition ) - { - float3 Color = 0; - #ifdef _ADDITIONAL_LIGHTS - int numLights = GetAdditionalLightsCount(); - for(int i = 0; i v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - float2 uv_TextureSample0 = IN.ase_texcoord3.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw; - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float3 bakedGI20 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI20, half4(0,0,0,0)); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float3 worldPosValue44_g1 = WorldPosition; - float3 WorldPosition8_g1 = worldPosValue44_g1; - float3 localAdditionalLightsFlat8_g1 = AdditionalLightsFlat( WorldPosition8_g1 ); - float3 FlatResult29_g1 = localAdditionalLightsFlat8_g1; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( _Tint * ( tex2D( _TextureSample0, uv_TextureSample0 ) * ( _MainLightColor * float4( ( bakedGI20 + ase_lightAtten + FlatResult29_g1 ) , 0.0 ) ) * _LightPower ) ).rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag -#if ASE_SRP_VERSION >= 110000 - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW -#endif - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _TextureSample0_ST; - float _LightPower; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - float3 _LightDirection; -#if ASE_SRP_VERSION >= 110000 - float3 _LightPosition; -#endif - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); -#if ASE_SRP_VERSION >= 110000 - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif -#else - float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) ); - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE); - #endif -#endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - o.clipPos = clipPos; - - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #define ASE_SRP_VERSION 100400 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _Tint; - float4 _TextureSample0_ST; - float _LightPower; - #ifdef TESSELLATION_ON - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return o; - } - - #if defined(TESSELLATION_ON) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - } - - CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI" - Fallback "Hidden/InternalErrorShader" - -} -/*ASEBEGIN -Version=18935 -30;594;1339;425;-17.83915;707.2437;1.786881;True;False -Node;AmplifyShaderEditor.ColorNode;66;1297.952,-779.8965;Inherit;False;Property;_Tint;Tint;1;0;Create;True;0;0;0;False;0;False;0.8679245,0.8679245,0.8679245,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;18;1068.73,-556.6232;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;19;1591.711,-524.4224;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;20;744.7567,-220.2333;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;67;1742.405,-645.1155;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LightAttenuation;21;757.1497,-122.8635;Inherit;False;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;22;1020.933,-191.9076;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LightColorNode;23;751.9236,-363.6327;Inherit;False;0;3;COLOR;0;FLOAT3;1;FLOAT;2 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;24;1119.182,-316.4381;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;98;743.9957,-43.55;Inherit;False;SRP Additional Light;-1;;1;6c86746ad131a0a408ca599df5f40861;7,6,0,9,0,23,0,26,0,27,0,24,0,25,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;68;1281.467,-178.3559;Inherit;False;Property;_LightPower;Light Power;2;0;Create;True;0;0;0;False;0;False;2;1;0;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;97;2059.839,-658.5536;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;93;2059.839,-658.5536;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;94;2059.839,-658.5536;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;AwaiiStudio/URP_ToonLit;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0;0; Blend;0;0;Two Sided;1;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;0;0;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,-1;0; Type;0;0; Tess;16,False,-1;0; Min;10,False,-1;0; Max;25,False,-1;0; Edge Length;16,False,-1;0; Max Displacement;25,False,-1;0;Vertex Position,InvertActionOnDeselection;1;0;0;5;False;True;True;True;False;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;95;2059.839,-658.5536;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;96;2059.839,-658.5536;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;0;False;-1;False;False;False;False;False;False;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;True;17;d3d9;d3d11;glcore;gles;gles3;metal;vulkan;xbox360;xboxone;xboxseries;ps4;playstation;psp2;n3ds;wiiu;switch;nomrt;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;True;False;False;False;False;0;False;-1;False;False;False;False;False;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -WireConnection;19;0;18;0 -WireConnection;19;1;24;0 -WireConnection;19;2;68;0 -WireConnection;67;0;66;0 -WireConnection;67;1;19;0 -WireConnection;22;0;20;0 -WireConnection;22;1;21;0 -WireConnection;22;2;98;0 -WireConnection;24;0;23;0 -WireConnection;24;1;22;0 -WireConnection;94;2;67;0 -ASEEND*/ -//CHKSM=C8AAED5514360EE56D1006A3666A77D6EE3C929A \ No newline at end of file diff --git a/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader.meta b/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader.meta deleted file mode 100644 index 30acdc4d3..000000000 --- a/Assets/Resources/Background/@야외/자연B/Shaders/URPToonLit.shader.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: c23b0d91d4f323f4faf00f9b8927bba3 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 236927 - packageName: Anime Natural Environment - packageVersion: 1.02 - assetPath: Assets/AnimeNaturalEnvironment/Shaders/URPToonLit.shader - uploadId: 645705 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경.meta index 346580874..1afff7984 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d01f7fb2be7c2074193e14860a703138 +guid: 747aa79000103b04a96cd145e69511bd folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps.meta index 44f7ccd91..aa24047f9 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 76c25d87f595c0748a29819b21c575ac +guid: e4a1749410adf0d428472c83b4bbafe9 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models.meta index 843bc2262..a64121d93 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 044bf562a91c99d48b8b3ddac79c98cc +guid: ebf08f3b11a05b341b452a014adf859b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials.meta deleted file mode 100644 index 22f425f5d..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4398257f7faca1342a12a859bd59b5a8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat deleted file mode 100644 index 21e791628..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat +++ /dev/null @@ -1,141 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6912547679680764025 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_Fence02_Mat - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _SPECULAR_SETUP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: da634cfc6ab0ec346bfb78c1fb354782, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 51447cc69cc4b654dad5aaa4c2f66b55, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 3900df2c43c66814bbc1c3f2fef8a999, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 51447cc69cc4b654dad5aaa4c2f66b55, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat.meta deleted file mode 100644 index eff1e734a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Fence02_Mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 436b4dd5eb227274daabe1d613d13fd0 -timeCreated: 1446941286 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat deleted file mode 100644 index 4e8e0d3ef..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat +++ /dev/null @@ -1,141 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_Pathway_Mat - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _SPECULAR_SETUP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 43646645f5b899e468d17f1765bbd4f4, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 9b5a59fbeded254439cc59d3029efc9f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: cc7bb1c1710ac0642a1d0e085840c143, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 9b5a59fbeded254439cc59d3029efc9f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 4 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7768238768112906127 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat.meta deleted file mode 100644 index e1c01aaf2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Pathway_Mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1da6de2c2d2655c4b8db8225e7a56e43 -timeCreated: 1447232987 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat deleted file mode 100644 index 7d7ee72ee..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat +++ /dev/null @@ -1,309 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5305496379746616625 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_Water_Calm - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - - _DETAIL_MULX2 - - _EMISSION - - _NORMALMAP - - _SPECULAR_SETUP - - _SURFACE_TYPE_TRANSPARENT - m_InvalidKeywords: [] - m_LightmapFlags: 6 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - DepthOnly - - SHADOWCASTER - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - Texture_627246D6: - m_Texture: {fileID: 2800000, guid: 979413e98dc9da240bbbc3dc140dfc72, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMap01: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMap02RGBOffsetY: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMapR: - m_Texture: {fileID: 2800000, guid: 54b67d01684ed2f40a41f2bf3cbdf130, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMapRGBPanner: - m_Texture: {fileID: 2800000, guid: 28c7aad1372ff114b90d330f8a2dd938, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMapRGBRotate: - m_Texture: {fileID: 2800000, guid: 7acf62784f33d7840be634c511c072c9, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _AlphaMapROffset: - m_Texture: {fileID: 2800000, guid: a721fb686a55eeb4dbb815f787743282, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _AlphaMaskR: - m_Texture: {fileID: 2800000, guid: 7acf62784f33d7840be634c511c072c9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 0.5, y: 0.5} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 979413e98dc9da240bbbc3dc140dfc72, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ColorControl: - m_Texture: {fileID: 2800000, guid: 72cd4f55cb5e1dd429f6ff69b331c674, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 10, y: 10} - 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: 2800000, guid: 979413e98dc9da240bbbc3dc140dfc72, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DiffDistortionMapR: - m_Texture: {fileID: 2800000, guid: 7acf62784f33d7840be634c511c072c9, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _DiffuseIBLCubemap: - m_Texture: {fileID: 8900000, guid: c64de53cec965f741b5b29e3796d8e67, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DiffuseRGB: - m_Texture: {fileID: 2800000, guid: 1bf200f67c0a38949b6f8c46f50cafa5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DiffuseRGBSpecA: - m_Texture: {fileID: 2800000, guid: 8d9c72eb459337749a43ff7426da30d3, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 0.5, y: 0.5} - m_Offset: {x: 0, y: 0} - - _Fresnel: - m_Texture: {fileID: 2800000, guid: 5b5c5575fd4c74abd9f7b30862fb76a3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 0.5, y: 0.5} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Normal: - m_Texture: {fileID: 2800000, guid: dcb6f1e0bbf11e64eb0dee08a5789ac9, type: 3} - m_Scale: {x: 6, y: 6} - m_Offset: {x: 0, y: 0} - - _Normal01: - m_Texture: {fileID: 2800000, guid: bdf7546239d1c224bbad229ddd7d9a92, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Normal02: - m_Texture: {fileID: 2800000, guid: dcb6f1e0bbf11e64eb0dee08a5789ac9, type: 3} - m_Scale: {x: 3, y: 3} - 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} - - _ReflectionTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectiveColor: - m_Texture: {fileID: 2800000, guid: b725b62cfc9d04e4886735ab2a8107d1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RefractionTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecIBLCubemap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecularG: - m_Texture: {fileID: 2800000, guid: 30e6d9574e2ea2a43972f3b69d00c69b, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _SpecularIBLCubemap: - m_Texture: {fileID: 8900000, guid: c64de53cec965f741b5b29e3796d8e67, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - Vector1_1F62F981: -0.05 - - Vector1_4C80A77E: 0 - - Vector1_4F0D855A: 0.736 - - Vector1_893EADA8: 0.862 - - Vector1_8BFD31F3: 0.05 - - Vector1_CC2292C3: 0.025 - - Vector1_F12B1942: 0 - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaIntensity: 1 - - _AlphaMap02MaxSpeed: 20 - - _AlphaMap02MinSpeed: 0 - - _AlphaMap02PanningSpeed: 0.5002657 - - _AlphaMaxSpeed: 20 - - _AlphaMinSpeed: 0 - - _AlphaMultiplier: 0.5 - - _AlphaOffsetSpeed: 0.2 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _ColorIntensity: 1 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DiffuseColorIntensity: 1 - - _DiffuseDistortionIntensity: 0.033 - - _DiffuseIBLIntensity: 0 - - _DiffuseIntensity: 1 - - _DiffuseMaxSpeed: 20 - - _DiffuseMinSpeed: 0 - - _DiffuseMultiplier: 1 - - _DiffusePanningSpeed: 0.02 - - _DiffusePower: 0 - - _DstBlend: 10 - - _DstBlendAlpha: 10 - - _EnvironmentReflections: 1 - - _GlossIntensity: 1 - - _GlossMapScale: 0.75 - - _Glossiness: 0.82 - - _GlossyReflections: 1 - - _MasterNormal: 0.125 - - _Metallic: 0.15 - - _Mode: 3 - - _Multiplier: 2 - - _Normal01XSpeed: 0.003 - - _Normal01YSpeed: 0.002 - - _Normal02Intensity: 1 - - _Normal02XSpeed: -0.0005 - - _Normal02YSpeed: -0.0005 - - _NormalIntensity: 1 - - _NormalIntensity_copy: 1 - - _OcclusionStrength: 1 - - _Opacity: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _ReflDistort: 1.5 - - _RefrDistort: 1.5 - - _RefractionIntensity: 0.061 - - _Smoothness: 0.82 - - _SmoothnessTextureChannel: 0 - - _SpecIBLIntensity: 12 - - _SpecularHighlights: 1 - - _SpecularIBLIntensity: 0 - - _SpecularIntensity: 1 - - _SpecularMultiplier: 1 - - _SpecularValueMultiplier: 2 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 1 - - _USpeed: 0.02 - - _UVSec: 0 - - _VSpeed: 0.02 - - _WaveScale: 0.0901 - - _WorkflowMode: 0 - - _ZWrite: 0 - - _node_2060: 0 - - _node_2295: 0 - - _node_2295_copy: 0 - - _node_3903: 0 - - _node_4406: 1 - - _node_4962: 0 - - _node_4962_copy: 0 - - _node_5552: 0 - - _node_5989: 1 - - _node_6556: 0 - - _node_755: 0 - - _node_7950: 0 - - _node_9749: 0 - m_Colors: - - Color_20BFFE92: {r: 0.02153791, g: 0.14512095, b: 0.41509426, a: 0} - - Color_FC74C145: {r: 0.34327158, g: 0.45158476, b: 0.5471698, a: 0} - - WaveSpeed: {r: 15.01, g: 17.74, b: -12.57, a: -46.58} - - _BaseColor: {r: 0.30927372, g: 0.3941774, b: 0.4716981, a: 0.39607844} - - _Color: {r: 0.3092737, g: 0.39417738, b: 0.4716981, a: 0.39607844} - - _DiffuseColor: {r: 0.9191176, g: 0.9866126, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _GlossColor: {r: 0.9411765, g: 0.99026364, b: 1, a: 1} - - _HorizonColor: {r: 0.14901957, g: 0.28235295, b: 0.38039216, a: 0} - - _RefrColor: {r: 1, g: 1, b: 1, a: 1} - - _SpecColor: {r: 0.047169805, g: 0.047169805, b: 0.047169805, a: 1} - - _SpecularColor: {r: 0.9411765, g: 0.99026364, b: 1, a: 1} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _horizonColor: {r: 0.33810964, g: 0.43749884, b: 0.5471698, a: 1} - - _node_3963: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat.meta deleted file mode 100644 index 41dd546e2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 684fb64cb81b0b942a88ea9215902dcb -timeCreated: 1461187656 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Models/Materials/cP_Water_Calm.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat deleted file mode 100644 index 81b099b9b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat +++ /dev/null @@ -1,164 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: waterFountainJetFX_Mat - m_Shader: {fileID: 4800000, guid: b7839dad95683814aa64166edc107ae2, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _COLOROVERLAY_ON - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _RECEIVE_SHADOWS_OFF - - _SURFACE_TYPE_TRANSPARENT - m_InvalidKeywords: - - _FLIPBOOKBLENDING_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - DepthOnly - - SHADOWCASTER - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e741a545f89b0b54b869759ae1d4cd6f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 65054769219d8934eb33973bf7ae0b29, type: 3} - 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: e741a545f89b0b54b869759ae1d4cd6f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: f9d0e6997ac99a14ea08284e19b43646, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: e741a545f89b0b54b869759ae1d4cd6f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 2 - - _BlendModePreserveSpecular: 0 - - _BlendOp: 0 - - _BumpScale: 5 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _ColorMode: 3 - - _Cull: 2 - - _Cutoff: 0.06 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.729 - - _DistortionEnabled: 0 - - _DistortionStrength: 9.55 - - _DistortionStrengthScaled: 0.95500004 - - _DstBlend: 1 - - _DstBlendAlpha: 1 - - _EnvironmentReflections: 1 - - _FlipbookBlending: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 0 - - _Glossiness: 0.5 - - _GlossyReflections: 0 - - _InvFade: 3 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 0 - - _Smoothness: 1 - - _SmoothnessSource: 0 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 0 - - _SrcBlend: 5 - - _SrcBlendAlpha: 1 - - _Surface: 1 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 0 - m_Colors: - - _BaseColor: {r: 0.7783019, g: 0.96949893, b: 1, a: 1} - - _BaseColorAddSubDiff: {r: -1, g: 1, b: 0, a: 0} - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0.7783019, g: 0.96949893, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _SpecColor: {r: 0.53301877, g: 0.97442454, b: 1, a: 0.034} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7288643542596338704 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat.meta deleted file mode 100644 index 028563799..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat.meta +++ /dev/null @@ -1,15 +0,0 @@ -fileFormatVersion: 2 -guid: 10953d0dd04ed0c4a9315fb9f8d67a9c -timeCreated: 1461292380 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Models/Materials/waterFountainJetFX_Mat.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2.meta index 76049749c..b08643495 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9ede74847bce9e046b67cfdfd3628600 +guid: 25c42011630bef84e956937541b1811d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials.meta deleted file mode 100644 index 408ad134f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d6aa4b75d24a23343bc04db6c0ec73de -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat deleted file mode 100644 index cc4651642..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat +++ /dev/null @@ -1,142 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_FountainAreaCircle01_Mat - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 9545c714d7058de4880ffa8b968ea86e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 9729f763b7c003844a220ea1789d392d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 49bb2145ba5f52243b5dc2e30b42a175, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 9729f763b7c003844a220ea1789d392d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &5007926505481092088 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat.meta deleted file mode 100644 index 618b24260..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 19b9778046ebfde42b80d1ea91594072 -timeCreated: 1460774237 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat deleted file mode 100644 index 7c053708f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4360105821113469333 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_FountainAreaCircle01_Mat02 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DETAIL_MULX2 - - _EMISSION - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: e176d993155f3294e9afb66447e11935, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 2800000, guid: 76e1a90a64d48e84eb5f0d5afef2559a, type: 3} - m_Scale: {x: 8, y: 8} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 2800000, guid: 3f817ea58d2c6894f8fb3b7304a08dca, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 2800000, guid: 953c0e8755d832c42b4971519fd99a24, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 684004f516913624485c65090d163659, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: a6bb5dd57087ba74298cdce35eea5aaf, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 684004f516913624485c65090d163659, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 0.8 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat.meta deleted file mode 100644 index c5caf835b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat02.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2f7125fea0c4ff744a07bf0cfbc6186b -timeCreated: 1460774237 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat deleted file mode 100644 index 894f48bc2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat +++ /dev/null @@ -1,146 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_FountainAreaCircle01_Mat03 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DETAIL_MULX2 - - _EMISSION - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 2c376724715e96b4fa10297f58a13cf6, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: a83cb456dec69244a8fac5f761ccb5f6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 2800000, guid: b883d4df62a501645b44213e045a6e38, type: 3} - m_Scale: {x: 0.6666667, y: 0.6666667} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 2800000, guid: 3f817ea58d2c6894f8fb3b7304a08dca, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 2800000, guid: bd1dcec578c9c48419167269407fa847, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2c376724715e96b4fa10297f58a13cf6, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 54e705651600a07418261725ece304a2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 3f817ea58d2c6894f8fb3b7304a08dca, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 54e705651600a07418261725ece304a2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1.5 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &5242538061026121699 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat.meta deleted file mode 100644 index 0f67c95cb..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat03.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1cf1a1d54d48cc74ebf8ce70956f2022 -timeCreated: 1464956809 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat deleted file mode 100644 index 726a4e3b1..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2268271493686560225 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_FountainAreaCircle01_Mat04 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat.meta deleted file mode 100644 index 3db7565fc..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_FountainAreaCircle01_Mat04.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 148bc2feeadb46e439fa1e7495b1bb3c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat deleted file mode 100644 index f90d1b161..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat +++ /dev/null @@ -1,140 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_WaterFountain02_Mat - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _SPECGLOSSMAP - m_InvalidKeywords: [] - m_LightmapFlags: 7 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 7551176587cd5b5469b26f596c7b2297, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 3857df92b6d3a334fb9c4e50b4809143, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: b6159d9a4bcfbc74a878ba7939e41e56, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 3857df92b6d3a334fb9c4e50b4809143, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &9207460162314068071 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat.meta deleted file mode 100644 index 281480241..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 394306d2f2c7ef64899dcbf87623f2cb -timeCreated: 1460774239 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat.meta deleted file mode 100644 index 6227c2e2e..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat02.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ed2f213b8e2f202488eeea0815299025 -timeCreated: 1460774239 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat deleted file mode 100644 index c461c607b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cP_WaterFountain02_Mat3 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &2033890974938888894 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat.meta deleted file mode 100644 index 095eea3b3..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/Materials/cP_WaterFountain02_Mat3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 11c6284ad8275ad4fb4d5af39a2ca651 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_FountainAreaCircle01.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_FountainAreaCircle01.fbx.meta index b0d24c40f..42ffc6c50 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_FountainAreaCircle01.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_FountainAreaCircle01.fbx.meta @@ -1,68 +1,87 @@ fileFormatVersion: 2 -guid: 55079601b3937f64293f7f0ae95679fa -timeCreated: 1460887416 -licenseType: Store +guid: 24a66a161a174874583e03c05ae88dd3 ModelImporter: - serializedVersion: 19 - fileIDToRecycleName: - 100000: //RootNode - 100002: cP_FountainAreaCircle01_GardenIslands - 100004: cP_FountainAreaCircle01_Ground - 400000: //RootNode - 400002: cP_FountainAreaCircle01_GardenIslands - 400004: cP_FountainAreaCircle01_Ground - 2300000: cP_FountainAreaCircle01_GardenIslands - 2300002: cP_FountainAreaCircle01_Ground - 3300000: cP_FountainAreaCircle01_GardenIslands - 3300002: cP_FountainAreaCircle01_Ground - 4300000: cP_FountainAreaCircle01_Ground - 4300002: cP_FountainAreaCircle01_GardenIslands + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 - resampleRotations: 1 + resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -72,11 +91,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_WaterFountain02.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_WaterFountain02.fbx.meta index 404a34a9d..891ff31a1 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_WaterFountain02.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/Update v2/cP_WaterFountain02.fbx.meta @@ -1,68 +1,87 @@ fileFormatVersion: 2 -guid: 5b3278154c1ae4b42956d5fa4cf914d9 -timeCreated: 1460774239 -licenseType: Store +guid: 478b372466a696e469587a1e752824cd ModelImporter: - serializedVersion: 19 - fileIDToRecycleName: - 100000: //RootNode - 100002: cP_WaterFountain02 - 100004: cP_WaterFountain02_Water - 400000: //RootNode - 400002: cP_WaterFountain02 - 400004: cP_WaterFountain02_Water - 2300000: cP_WaterFountain02 - 2300002: cP_WaterFountain02_Water - 3300000: cP_WaterFountain02 - 3300002: cP_WaterFountain02_Water - 4300000: cP_WaterFountain02_Water - 4300002: cP_WaterFountain02 + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 - resampleRotations: 1 + resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -72,11 +91,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Fence02.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Fence02.fbx.meta index 1207a222d..30a3d639d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Fence02.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Fence02.fbx.meta @@ -1,73 +1,109 @@ fileFormatVersion: 2 -guid: 4ef2e7e844991424f8b22e1a09b27ee9 -timeCreated: 1446941286 -licenseType: Store +guid: 207f9f598b36dae44b1173c1287d92e6 ModelImporter: - serializedVersion: 18 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2300000: //RootNode - 3300000: //RootNode - 4300000: cP_Fence02 + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 + resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 - animationRotationError: .5 - animationPositionError: .5 - animationScaleError: .5 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 - splitTangentsAcrossUV: 1 normalImportMode: 0 - tangentImportMode: 1 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: + serializedVersion: 3 human: [] skeleton: [] - armTwist: .5 - foreArmTwist: .5 - upperLegTwist: .5 - legTwist: .5 - armStretch: .0500000007 - legStretch: .0500000007 + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_04.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_04.fbx.meta index 28a18fc6e..9f5aaa4e0 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_04.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_04.fbx.meta @@ -1,73 +1,109 @@ fileFormatVersion: 2 -guid: 3fdcba2d3324df1429b1519ba2a37903 -timeCreated: 1447232987 -licenseType: Store +guid: 4c8bdc0dec6d1674981a5e63ad66d2f5 ModelImporter: - serializedVersion: 18 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2300000: //RootNode - 3300000: //RootNode - 4300000: cP_Pathway04 + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 + resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 - animationRotationError: .5 - animationPositionError: .5 - animationScaleError: .5 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 - splitTangentsAcrossUV: 1 normalImportMode: 0 - tangentImportMode: 1 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: + serializedVersion: 3 human: [] skeleton: [] - armTwist: .5 - foreArmTwist: .5 - upperLegTwist: .5 - legTwist: .5 - armStretch: .0500000007 - legStretch: .0500000007 + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_05.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_05.fbx.meta index 18a238b3f..17f141abc 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_05.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/cP_Pathway04_05.fbx.meta @@ -1,73 +1,109 @@ fileFormatVersion: 2 -guid: 096dfd2a30aab5b429327eba1c9807d2 -timeCreated: 1447232987 -licenseType: Store +guid: 6aef0d5dac385be409f6d1e669c90960 ModelImporter: - serializedVersion: 18 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2300000: //RootNode - 3300000: //RootNode - 4300000: cP_Pathway05 + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 + materialLocation: 1 animations: legacyGenerateAnimations: 4 bakeSimulation: 0 + resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 - animationRotationError: .5 - animationPositionError: .5 - animationScaleError: .5 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] + extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 + indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 - splitTangentsAcrossUV: 1 normalImportMode: 0 - tangentImportMode: 1 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: + serializedVersion: 3 human: [] skeleton: [] - armTwist: .5 - foreArmTwist: .5 - upperLegTwist: .5 - legTwist: .5 - armStretch: .0500000007 - legStretch: .0500000007 + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders.meta index 5bdaa1d48..aa11b8f4a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: efd3b594cf9da864fa6707fd102e3754 +guid: c7c3ffe438917294c93cb1b0f6c628fa folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Pathway_Collider.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Pathway_Collider.fbx.meta index 7542addc8..b5a038e89 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Pathway_Collider.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Pathway_Collider.fbx.meta @@ -1,75 +1,11 @@ fileFormatVersion: 2 -guid: 829cb0ad84d923f4abf563a20c5c1310 +guid: c79f1aa291441b84d814fd9a75dacbb5 ModelImporter: - serializedVersion: 22 - fileIDToRecycleName: - 100000: cP_Pathway010_Collider - 100002: cP_Pathway011_Collider - 100004: cP_Pathway012_Collider - 100006: cP_Pathway01_Collider - 100008: cP_Pathway02_Collider - 100010: cP_Pathway03_Collider - 100012: cP_Pathway04_Collider - 100014: cP_Pathway05_Collider - 100016: cP_Pathway06_Collider - 100018: cP_Pathway07_Collider - 100020: cP_Pathway08_Collider - 100022: cP_Pathway09_Collider - 100024: //RootNode - 400000: cP_Pathway010_Collider - 400002: cP_Pathway011_Collider - 400004: cP_Pathway012_Collider - 400006: cP_Pathway01_Collider - 400008: cP_Pathway02_Collider - 400010: cP_Pathway03_Collider - 400012: cP_Pathway04_Collider - 400014: cP_Pathway05_Collider - 400016: cP_Pathway06_Collider - 400018: cP_Pathway07_Collider - 400020: cP_Pathway08_Collider - 400022: cP_Pathway09_Collider - 400024: //RootNode - 2100000: cP_Pathway_Mat - 2100002: cP_Pathway_Mat02 - 2300000: cP_Pathway010_Collider - 2300002: cP_Pathway011_Collider - 2300004: cP_Pathway012_Collider - 2300006: cP_Pathway01_Collider - 2300008: cP_Pathway02_Collider - 2300010: cP_Pathway03_Collider - 2300012: cP_Pathway04_Collider - 2300014: cP_Pathway05_Collider - 2300016: cP_Pathway06_Collider - 2300018: cP_Pathway07_Collider - 2300020: cP_Pathway08_Collider - 2300022: cP_Pathway09_Collider - 3300000: cP_Pathway010_Collider - 3300002: cP_Pathway011_Collider - 3300004: cP_Pathway012_Collider - 3300006: cP_Pathway01_Collider - 3300008: cP_Pathway02_Collider - 3300010: cP_Pathway03_Collider - 3300012: cP_Pathway04_Collider - 3300014: cP_Pathway05_Collider - 3300016: cP_Pathway06_Collider - 3300018: cP_Pathway07_Collider - 3300020: cP_Pathway08_Collider - 3300022: cP_Pathway09_Collider - 4300000: cP_Pathway01_Collider - 4300002: cP_Pathway02_Collider - 4300004: cP_Pathway03_Collider - 4300006: cP_Pathway04_Collider - 4300008: cP_Pathway05_Collider - 4300010: cP_Pathway06_Collider - 4300012: cP_Pathway07_Collider - 4300014: cP_Pathway08_Collider - 4300016: cP_Pathway09_Collider - 4300018: cP_Pathway010_Collider - 4300020: cP_Pathway011_Collider - 4300022: cP_Pathway012_Collider + serializedVersion: 24200 + internalIDToNameTable: [] externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -78,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -95,38 +30,58 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -136,22 +91,20 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: - rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Models/colliders/cP_Pathway_Collider.fbx" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Update01_Colliders.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Update01_Colliders.fbx.meta index 1df5ab758..198b1adb5 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Update01_Colliders.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Models/colliders/cP_Update01_Colliders.fbx.meta @@ -1,249 +1,11 @@ fileFormatVersion: 2 -guid: 5b5a47d73c7fe2045addbcde88e8de4c +guid: a024f22a3fbb89f40aabb6700057393f ModelImporter: - serializedVersion: 22 - fileIDToRecycleName: - 100000: cP_BarrierSphere01_Collider - 100002: cP_BarrierSphere02_Collider - 100004: cP_BarrierSphere03_Collider - 100006: cP_Bench07_Collider - 100008: cP_Bench08_Collider - 100010: cP_Bench09_Collider - 100012: cP_Bench10_Collider - 100014: cP_Bench11_Curve_Collider - 100016: cP_Bench11_Straight_Collider - 100018: cP_Bench12_Collider - 100020: cP_Bench13_Collider - 100022: cP_Bench14_Collider - 100024: cP_Bench15_Curve_Collider - 100026: cP_Bench15_Square_Collider - 100028: cP_Bench15_Straight_Collider - 100030: cP_Bench16_Collider - 100032: cP_Boat01_Collider - 100034: cP_Boat02_Collider - 100036: cP_CementStairsCornerSpheres_Collider - 100038: cP_CementStairsPath01_Collider - 100040: cP_Dock01_Collider - 100042: cP_Dock02_Collider - 100044: cP_Dock02_Straight_Posts_Collider - 100046: cP_Fence03_Post_Collider - 100048: cP_Fence03_Straight_Collider - 100050: cP_Fence03_StraightCorner_Collider - 100052: cP_Fence03_StraightCornerReverse_Collider - 100054: cP_Fence04_Curve_Collider - 100056: cP_Fence04_Post_Collider - 100058: cP_Fence04_Straight_Collider - 100060: cP_FountainAreaCircle01_GardenIslands_Collider - 100062: cP_FountainAreaCircle01_Ground_Collider - 100064: cP_GarbageBin03_Collider - 100066: cP_GardenIslands01_Curve_Collider - 100068: cP_GardenLiner01_Curve45_Detailed_Collider - 100070: cP_GardenLiner01_Curve45_Plain_Collider - 100072: cP_GardenLiner01_Curve90_Detailed_Collider - 100074: cP_GardenLiner01_Curve90_Plain_Collider - 100076: cP_PillarDome01_Collider - 100078: cP_Shelter01_Collider - 100080: cP_Shelter02_Collider - 100082: cP_SmallCementBase01_Collider - 100084: //RootNode - 100086: cP_WaterFountain02_Collider - 100088: cP_WaterFountain03_Collider - 100090: cP_WaterFountain04_Collider - 100092: cP_WaterPump01_Collider - 100094: cP_Boat02_Paddle01_Collider - 400000: cP_BarrierSphere01_Collider - 400002: cP_BarrierSphere02_Collider - 400004: cP_BarrierSphere03_Collider - 400006: cP_Bench07_Collider - 400008: cP_Bench08_Collider - 400010: cP_Bench09_Collider - 400012: cP_Bench10_Collider - 400014: cP_Bench11_Curve_Collider - 400016: cP_Bench11_Straight_Collider - 400018: cP_Bench12_Collider - 400020: cP_Bench13_Collider - 400022: cP_Bench14_Collider - 400024: cP_Bench15_Curve_Collider - 400026: cP_Bench15_Square_Collider - 400028: cP_Bench15_Straight_Collider - 400030: cP_Bench16_Collider - 400032: cP_Boat01_Collider - 400034: cP_Boat02_Collider - 400036: cP_CementStairsCornerSpheres_Collider - 400038: cP_CementStairsPath01_Collider - 400040: cP_Dock01_Collider - 400042: cP_Dock02_Collider - 400044: cP_Dock02_Straight_Posts_Collider - 400046: cP_Fence03_Post_Collider - 400048: cP_Fence03_Straight_Collider - 400050: cP_Fence03_StraightCorner_Collider - 400052: cP_Fence03_StraightCornerReverse_Collider - 400054: cP_Fence04_Curve_Collider - 400056: cP_Fence04_Post_Collider - 400058: cP_Fence04_Straight_Collider - 400060: cP_FountainAreaCircle01_GardenIslands_Collider - 400062: cP_FountainAreaCircle01_Ground_Collider - 400064: cP_GarbageBin03_Collider - 400066: cP_GardenIslands01_Curve_Collider - 400068: cP_GardenLiner01_Curve45_Detailed_Collider - 400070: cP_GardenLiner01_Curve45_Plain_Collider - 400072: cP_GardenLiner01_Curve90_Detailed_Collider - 400074: cP_GardenLiner01_Curve90_Plain_Collider - 400076: cP_PillarDome01_Collider - 400078: cP_Shelter01_Collider - 400080: cP_Shelter02_Collider - 400082: cP_SmallCementBase01_Collider - 400084: //RootNode - 400086: cP_WaterFountain02_Collider - 400088: cP_WaterFountain03_Collider - 400090: cP_WaterFountain04_Collider - 400092: cP_WaterPump01_Collider - 400094: cP_Boat02_Paddle01_Collider - 2100000: cP_Collider_Mat - 2300000: cP_BarrierSphere01_Collider - 2300002: cP_BarrierSphere02_Collider - 2300004: cP_BarrierSphere03_Collider - 2300006: cP_Bench07_Collider - 2300008: cP_Bench08_Collider - 2300010: cP_Bench09_Collider - 2300012: cP_Bench10_Collider - 2300014: cP_Bench11_Curve_Collider - 2300016: cP_Bench11_Straight_Collider - 2300018: cP_Bench12_Collider - 2300020: cP_Bench13_Collider - 2300022: cP_Bench14_Collider - 2300024: cP_Bench15_Curve_Collider - 2300026: cP_Bench15_Square_Collider - 2300028: cP_Bench15_Straight_Collider - 2300030: cP_Bench16_Collider - 2300032: cP_Boat01_Collider - 2300034: cP_Boat02_Collider - 2300036: cP_CementStairsCornerSpheres_Collider - 2300038: cP_CementStairsPath01_Collider - 2300040: cP_Dock01_Collider - 2300042: cP_Dock02_Collider - 2300044: cP_Dock02_Straight_Posts_Collider - 2300046: cP_Fence03_Post_Collider - 2300048: cP_Fence03_Straight_Collider - 2300050: cP_Fence03_StraightCorner_Collider - 2300052: cP_Fence03_StraightCornerReverse_Collider - 2300054: cP_Fence04_Curve_Collider - 2300056: cP_Fence04_Post_Collider - 2300058: cP_Fence04_Straight_Collider - 2300060: cP_FountainAreaCircle01_GardenIslands_Collider - 2300062: cP_FountainAreaCircle01_Ground_Collider - 2300064: cP_GarbageBin03_Collider - 2300066: cP_GardenIslands01_Curve_Collider - 2300068: cP_GardenLiner01_Curve45_Detailed_Collider - 2300070: cP_GardenLiner01_Curve45_Plain_Collider - 2300072: cP_GardenLiner01_Curve90_Detailed_Collider - 2300074: cP_GardenLiner01_Curve90_Plain_Collider - 2300076: cP_PillarDome01_Collider - 2300078: cP_Shelter01_Collider - 2300080: cP_Shelter02_Collider - 2300082: cP_SmallCementBase01_Collider - 2300084: cP_WaterFountain02_Collider - 2300086: cP_WaterFountain03_Collider - 2300088: cP_WaterFountain04_Collider - 2300090: cP_WaterPump01_Collider - 2300092: cP_Boat02_Paddle01_Collider - 3300000: cP_BarrierSphere01_Collider - 3300002: cP_BarrierSphere02_Collider - 3300004: cP_BarrierSphere03_Collider - 3300006: cP_Bench07_Collider - 3300008: cP_Bench08_Collider - 3300010: cP_Bench09_Collider - 3300012: cP_Bench10_Collider - 3300014: cP_Bench11_Curve_Collider - 3300016: cP_Bench11_Straight_Collider - 3300018: cP_Bench12_Collider - 3300020: cP_Bench13_Collider - 3300022: cP_Bench14_Collider - 3300024: cP_Bench15_Curve_Collider - 3300026: cP_Bench15_Square_Collider - 3300028: cP_Bench15_Straight_Collider - 3300030: cP_Bench16_Collider - 3300032: cP_Boat01_Collider - 3300034: cP_Boat02_Collider - 3300036: cP_CementStairsCornerSpheres_Collider - 3300038: cP_CementStairsPath01_Collider - 3300040: cP_Dock01_Collider - 3300042: cP_Dock02_Collider - 3300044: cP_Dock02_Straight_Posts_Collider - 3300046: cP_Fence03_Post_Collider - 3300048: cP_Fence03_Straight_Collider - 3300050: cP_Fence03_StraightCorner_Collider - 3300052: cP_Fence03_StraightCornerReverse_Collider - 3300054: cP_Fence04_Curve_Collider - 3300056: cP_Fence04_Post_Collider - 3300058: cP_Fence04_Straight_Collider - 3300060: cP_FountainAreaCircle01_GardenIslands_Collider - 3300062: cP_FountainAreaCircle01_Ground_Collider - 3300064: cP_GarbageBin03_Collider - 3300066: cP_GardenIslands01_Curve_Collider - 3300068: cP_GardenLiner01_Curve45_Detailed_Collider - 3300070: cP_GardenLiner01_Curve45_Plain_Collider - 3300072: cP_GardenLiner01_Curve90_Detailed_Collider - 3300074: cP_GardenLiner01_Curve90_Plain_Collider - 3300076: cP_PillarDome01_Collider - 3300078: cP_Shelter01_Collider - 3300080: cP_Shelter02_Collider - 3300082: cP_SmallCementBase01_Collider - 3300084: cP_WaterFountain02_Collider - 3300086: cP_WaterFountain03_Collider - 3300088: cP_WaterFountain04_Collider - 3300090: cP_WaterPump01_Collider - 3300092: cP_Boat02_Paddle01_Collider - 4300000: cP_Shelter01_Collider - 4300002: cP_Shelter02_Collider - 4300004: cP_Bench07_Collider - 4300006: cP_Bench08_Collider - 4300008: cP_Bench09_Collider - 4300010: cP_Bench10_Collider - 4300012: cP_Bench11_Curve_Collider - 4300014: cP_Bench11_Straight_Collider - 4300016: cP_Bench12_Collider - 4300018: cP_Bench13_Collider - 4300020: cP_Bench14_Collider - 4300022: cP_Bench15_Curve_Collider - 4300024: cP_Bench15_Square_Collider - 4300026: cP_Bench15_Straight_Collider - 4300028: cP_Bench16_Collider - 4300030: cP_GarbageBin03_Collider - 4300032: cP_WaterFountain02_Collider - 4300034: cP_WaterFountain03_Collider - 4300036: cP_WaterFountain04_Collider - 4300038: cP_PillarDome01_Collider - 4300040: cP_FountainAreaCircle01_GardenIslands_Collider - 4300042: cP_FountainAreaCircle01_Ground_Collider - 4300044: cP_BarrierSphere01_Collider - 4300046: cP_BarrierSphere02_Collider - 4300048: cP_BarrierSphere03_Collider - 4300050: cP_Fence03_Straight_Collider - 4300052: cP_Fence03_StraightCornerReverse_Collider - 4300054: cP_Fence03_StraightCorner_Collider - 4300056: cP_Fence03_Post_Collider - 4300058: cP_Fence04_Post_Collider - 4300060: cP_Fence04_Straight_Collider - 4300062: cP_Fence04_Curve_Collider - 4300064: cP_SmallCementBase01_Collider - 4300066: cP_CementStairsPath01_Collider - 4300068: cP_CementStairsCornerSpheres_Collider - 4300070: cP_Dock01_Collider - 4300072: cP_Dock02_Collider - 4300074: cP_Dock02_Straight_Posts_Collider - 4300076: cP_WaterPump01_Collider - 4300078: cP_GardenIslands01_Curve_Collider - 4300080: cP_Boat01_Collider - 4300082: cP_Boat02_Collider - 4300084: cP_GardenLiner01_Curve90_Plain_Collider - 4300086: cP_GardenLiner01_Curve45_Detailed_Collider - 4300088: cP_GardenLiner01_Curve90_Detailed_Collider - 4300090: cP_GardenLiner01_Curve45_Plain_Collider - 4300092: cP_Boat02_Paddle01_Collider + serializedVersion: 24200 + internalIDToNameTable: [] externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -252,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -269,38 +30,58 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] globalScale: 1 meshCompression: 0 addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -310,22 +91,20 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: - rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Models/colliders/cP_Update01_Colliders.fbx" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders.meta index c9a24c7e4..e42ae1c93 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a72a16c8e6616db4b9532b242d6ee7cf +guid: 8039b1e63f9821d44895b756fc45eb4e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader.meta index 30df6b74a..1e9b3b7df 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a6388f60c404eda4bbaa8f9c960cc9c0 +guid: cefbb1e4a16ec8b47b261788fdc496f7 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader/cP_noise_clouds_01_N.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader/cP_noise_clouds_01_N.png.meta index 61a3b058d..dd6b95490 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader/cP_noise_clouds_01_N.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Shaders/Water Shader/cP_noise_clouds_01_N.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 979413e98dc9da240bbbc3dc140dfc72 +guid: 058613ab0e589ca4b84c3c76296382f2 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 5 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -16,11 +16,16 @@ TextureImporter: mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: - convertToNormalMap: 1 + convertToNormalMap: 0 externalNormalMap: 0 - heightScale: 0.054 - normalMapFilter: 1 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -29,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,14 +54,20 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -66,8 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -77,27 +90,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Shaders/Water - Shader/cP_noise_clouds_01_N.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures.meta index 18018a7b0..fef748e19 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e126131d3a971f74fa40325b4a450f0e +guid: 47569e864b5356f429b9267e708647c8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling.meta index 6d9891358..7bbdee162 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9f5e92ea8d8692e4ca517fa8854f35c3 +guid: f51e608dbcd60e443a79d966dc717e1b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement.meta index cf177b1f3..1b6d91871 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ca5c4b57e1a2955458b9c86a9ac0a5e9 +guid: 40255d369f047924e97d360c89d3965f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse.png.meta index a5abd377b..7583aa87f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 12fd934fb94aac04885691d083188a2a -timeCreated: 1464950509 -licenseType: Store +guid: f792883f6f3edd348b286d089bb71c74 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse_AO.png.meta index 620a91357..d38712e54 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_diffuse_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: adfac24a32e38e44facc2cc0eb7b9786 +guid: 4a36ba34b06cd294eb4aa7012f5f6f2d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_normal.png.meta index 01777e075..b0b230509 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_normal.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: 105f20e632037204e8646bf2f3cb9528 -timeCreated: 1464950491 -licenseType: Store +guid: a26daa9f8187ddc459653e0b41adeb61 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_specular.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_specular.tga.meta index f61e9b250..c0dfb9d36 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_specular.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_specular.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 2ac4bf7d585126949b38cd702006fafe -timeCreated: 1461979781 -licenseType: Store +guid: ec6b90252e43e164cbc35363c533a928 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Cement/CleanCement_specular.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete.meta index ca569cc9d..537a62de9 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fa27620eb8e473741a15e5275278884c +guid: 263b52ae0add0f1439ff030d8d7d28e2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_normal.png.meta index 5d9381457..e6f187e0a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_normal.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: 953c0e8755d832c42b4971519fd99a24 -timeCreated: 1464950713 -licenseType: Store +guid: 7eb148e6a1971624f8435b15a793adab TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_specular.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_specular.tga.meta index 9f0fcfbe2..7f17257a3 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_specular.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_specular.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: c838a793c6f1aae4db466dc3559faf1c -timeCreated: 1461029126 -licenseType: Store +guid: ca49d5b297e0f1f4ab183f4384053d44 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_Rough_specular.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_normal_1k.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_normal_1k.png.meta index 6f8448371..86ac1af9d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_normal_1k.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_normal_1k.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: defa01a9a50305a43852c6bbd014ac88 -timeCreated: 1464950879 -licenseType: Store +guid: 609b852990134d44caba96c1b050f1be TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/Concrete_normal_1k.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/WornPaintedConcrete_diffuse_1k.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/WornPaintedConcrete_diffuse_1k.png.meta index 46322c9eb..e061d13a1 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/WornPaintedConcrete_diffuse_1k.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/WornPaintedConcrete_diffuse_1k.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 76e1a90a64d48e84eb5f0d5afef2559a -timeCreated: 1464950667 -licenseType: Store +guid: 362fb0f99b8703347a5fa68e9950bbf1 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/WornPaintedConcrete_diffuse_1k.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Albedo.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Albedo.png.meta index 1fb69521b..5d579840c 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Albedo.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Albedo.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 5697d7f22a3c4874988ab0af487a0dd2 +guid: d9dee20e8a8852c4cb863cebfb2558c9 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -62,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -73,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -88,16 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Albedo.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Mask.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Mask.png.meta index d72a1b34e..5859b61ab 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Mask.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Mask.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: f6ed72401b76e0a4398607733bc17ddf +guid: c6f89d75bd5968a49902995c1fafaddc TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -62,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -73,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -88,16 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Mask.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Normal.png.meta index c80288d35..472eb743b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 9476cbb2b1b68464fb47c5f0676c4e14 +guid: a7c2c35e8d55d714ea1264358aff9be7 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -52,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -62,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -73,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -88,16 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Concrete/concrete_Smooth_Normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt.meta index 2fb0c09b4..4c32345f8 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c3b3547b87551e1478f3239ad16a1f28 +guid: 43f4da03dd5a1b14b8e84688bb702ca8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_ao.png.meta index 39a8245cf..de5a7ff89 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: d3ab66796b527f34289e6de42d7af8b4 +guid: 9b9de3a231abe6042ba6f31f74025dd9 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,16 +20,17 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -62,36 +63,26 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 1024 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -99,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_ao.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png.meta index e3d4e33df..a5b5fcedc 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 2c376724715e96b4fa10297f58a13cf6 +guid: 3b28848ab08629d46bdefe7f173a6c3d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,16 +20,17 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -62,22 +63,24 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_diffuse.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_normal.png.meta index e3170e3ca..f48f648f8 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_normal.png.meta @@ -1,14 +1,14 @@ fileFormatVersion: 2 -guid: a83cb456dec69244a8fac5f761ccb5f6 +guid: e9e41f2f839b9a34184f52cd60a71f87 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 - linearTexture: 1 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 mipMapsPreserveCoverage: 0 @@ -17,19 +17,20 @@ TextureImporter: mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -53,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -62,36 +63,26 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 1024 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -99,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_specular.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_specular.tga.meta index 5e322898a..890303352 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_specular.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_specular.tga.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 54e705651600a07418261725ece304a2 +guid: 17ed49c99738cce4c9e6deb90abf8569 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,16 +20,17 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -62,36 +63,26 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 1024 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -99,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Dirt_specular.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_diffuse.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_diffuse.png.meta index f4bbaaba6..b90129b67 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_diffuse.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_diffuse.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: b883d4df62a501645b44213e045a6e38 +guid: 0d82e05d58c555e4f80f8c7352b9b654 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,16 +20,17 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -62,22 +63,24 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,24 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_diffuse.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_normal.png.meta index fa867668e..5ec2d4fc1 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_normal.png.meta @@ -1,14 +1,14 @@ fileFormatVersion: 2 -guid: bd1dcec578c9c48419167269407fa847 +guid: 3e6face1bc088da46956d09e921dfa32 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 - linearTexture: 1 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 mipMapsPreserveCoverage: 0 @@ -17,19 +17,20 @@ TextureImporter: mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -53,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -62,36 +63,26 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 1024 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 1024 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -99,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -114,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Dirt/Dirt_Sand_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal.meta index 6353dacee..af8af1bfa 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 096f47dba3422b54ca3ce4a18c134b8d +guid: 95abf3e79b2b56f4b9a3feabfff52565 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_diffuse.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_diffuse.png.meta index 492cb478f..4f6f27942 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_diffuse.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_diffuse.png.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 49680e511983cae429871251bf2c5b70 -timeCreated: 1464950581 -licenseType: Store +guid: 3a654597a70819745986c4b666d724ea TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_diffuse.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_normal.png.meta index d6d108a8c..a4062d6ff 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_normal.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: 18b375cf9a9550b43abc0f11197370c9 -timeCreated: 1464950514 -licenseType: Store +guid: 6347418d6a47ec34c988af3b98a649d0 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_specular.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_specular.tga.meta index 731ad71fc..034ff469e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_specular.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_specular.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: da1b500ffc01bd145892f2cc1d84a3b1 -timeCreated: 1461029134 -licenseType: Store +guid: 5701f37593c4a6e4db5d4c2ebe145cb8 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/Metal_Scratched_specular.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_Cobalt_specular.tif.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_Cobalt_specular.tif.meta index 5882b3709..d30daae7c 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_Cobalt_specular.tif.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_Cobalt_specular.tif.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: ca9475b4534f1e646b709ea442ad07be -timeCreated: 1463984475 -licenseType: Store +guid: 1aaf0668aba57fb44920755b1df55c66 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/metal_Cobalt_specular.tif" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_normal.png.meta index 473aca9f8..7c67d9d12 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_normal.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: 0e15b72df85b108478873cc5ed8b5f59 -timeCreated: 1463984246 -licenseType: Store +guid: b8accb7a3598a204f8a41b6b5863faed TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_specular.tif.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_specular.tif.meta index 5ae6ac588..4f8eb8c68 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_specular.tif.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_specular.tif.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: db365be12cd748e4b833ee0f559fe139 -timeCreated: 1463984493 -licenseType: Store +guid: 4a033b8e4dea5a94190cd9c72fc6556d TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Metal/metal_DullParkerization_specular.tif" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain.meta index bb85f3def..8fb61ad60 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 989cc9d587cb7ea42a78a2de4a75a375 +guid: 9c4babc2e24c4f5438976d493125891c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain/Porcelain_specular_1k.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain/Porcelain_specular_1k.tga.meta index 577e5d5d3..3f32ed064 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain/Porcelain_specular_1k.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Porcelain/Porcelain_specular_1k.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: fe13ab991040eea4ebdda2e6e0c9c233 -timeCreated: 1461029171 -licenseType: Store +guid: 06365a5a34c2add4f89a25bab768fd6f TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Porcelain/Porcelain_specular_1k.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock.meta index 6cc22dd79..5c0859a22 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8952d2e75d0051a4c8f37f4c2eb1193e +guid: 29056bfad2b74474f99d47f61a65ee8a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock/Rock_StoneStatue_normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock/Rock_StoneStatue_normal.png.meta index 72edba88c..8155ca78e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock/Rock_StoneStatue_normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/Rock/Rock_StoneStatue_normal.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: ba5f4fd682ac8ee4e9f70aea481889d4 -timeCreated: 1464950800 -licenseType: Store +guid: e9fda350e0604f7499874bc18becc27f TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/Rock/Rock_StoneStatue_normal.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water.meta index 4002b6326..65065468b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 34befeebcaa929d4e9f58ad7658f1d44 +guid: 68e143c10ddbc2540b4bc638ce6f13fe folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_N.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_N.png.meta index d265907fa..0148ca22a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_N.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_N.png.meta @@ -1,64 +1,117 @@ fileFormatVersion: 2 -guid: dcb6f1e0bbf11e64eb0dee08a5789ac9 -timeCreated: 1464950878 -licenseType: Store +guid: a14a3d31ae8b4b44b87372653c28ecac TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - linearTexture: 1 - correctGamma: 0 + sRGBTexture: 1 + linearTexture: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: convertToNormalMap: 0 - externalNormalMap: 1 + externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: 1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_N.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_S.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_S.tga.meta index ee75ef94b..e8980fb4e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_S.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_S.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 30e6d9574e2ea2a43972f3b69d00c69b -timeCreated: 1453846628 -licenseType: Store +guid: 259b7224a9c63e94fa9ba074cae0a4f7 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0017_1_S.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.jpg.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.jpg.meta index fb51ca0ea..99aac7d6c 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.jpg.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.jpg.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 1bf200f67c0a38949b6f8c46f50cafa5 -timeCreated: 1453669254 -licenseType: Store +guid: b754a3aa747e06a4ba7ce330163e6920 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,39 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.tif.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.tif.meta index 533bc3c1f..f30eb356f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.tif.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.tif.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 8d9c72eb459337749a43ff7426da30d3 +guid: feb2b43c414b71e43ac946b6c47e5dda TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,20 +20,21 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 + filterMode: 1 aniso: 1 mipBias: 0 wrapU: 0 @@ -62,10 +63,11 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -75,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,36 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -126,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/Tiling/water/WaterPlain0031_1_S.tif" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks.meta index f5cc2484d..b6bc9ff61 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3ba14fed7033c60469da4fff5c4d6e69 +guid: 3dd2090ecb47fd74191c316868ab2247 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud002_d.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud002_d.tga.meta index fac65c2b9..d6a83bc17 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud002_d.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud002_d.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 54b67d01684ed2f40a41f2bf3cbdf130 -timeCreated: 1453669269 -licenseType: Store +guid: f9c3e900d454c504eb801825083a4de3 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/DifferenceCloud002_d.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud006_d.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud006_d.tga.meta index 28fced4f7..70ffbdcaf 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud006_d.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud006_d.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 7acf62784f33d7840be634c511c072c9 -timeCreated: 1453669273 -licenseType: Store +guid: 255f2027958990f43991c1055a3fd35b TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/DifferenceCloud006_d.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud007_d.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud007_d.tga.meta index 5dacc4d97..ab8d50c39 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud007_d.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/DifferenceCloud007_d.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: a721fb686a55eeb4dbb815f787743282 -timeCreated: 1453669281 -licenseType: Store +guid: 313f952824ae30a4cb1ff05d6dc2e49a TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/DifferenceCloud007_d.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Mask02_d.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Mask02_d.tga.meta index edbe7eb12..e7a5883d4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Mask02_d.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Mask02_d.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 3f817ea58d2c6894f8fb3b7304a08dca -timeCreated: 1437965880 -licenseType: Store +guid: d84ef6bde434802428f4fbe2ca560f32 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 1 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/Mask02_d.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Streaks_d04.tga.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Streaks_d04.tga.meta index a4592eeb5..1d35c075b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Streaks_d04.tga.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/Streaks_d04.tga.meta @@ -1,17 +1,18 @@ fileFormatVersion: 2 -guid: 72cd4f55cb5e1dd429f6ff69b331c674 -timeCreated: 1437965880 -licenseType: Store +guid: c2bf8f87ca8f3d3418e57023e6ee14ed TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -19,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 1 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/Streaks_d04.tga" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/cP_noise_clouds_01.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/cP_noise_clouds_01.png.meta index 4be407a8c..601fa3a2e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/cP_noise_clouds_01.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/cP_noise_clouds_01.png.meta @@ -1,15 +1,18 @@ fileFormatVersion: 2 -guid: 28c7aad1372ff114b90d330f8a2dd938 +guid: e58e923b7aeab974287151faf366f4e2 TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 + sRGBTexture: 1 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 mipMapFadeDistanceStart: 1 mipMapFadeDistanceEnd: 3 bumpmap: @@ -17,46 +20,98 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: - filterMode: 2 + serializedVersion: 2 + filterMode: 1 aniso: 1 - mipBias: -1 - wrapMode: -1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] - spritePackingTag: + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/cP_noise_clouds_01.png" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/fx_smoke_01_d.tif.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/fx_smoke_01_d.tif.meta index 358e7fc5f..48b2f46e3 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/fx_smoke_01_d.tif.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Textures/masks/fx_smoke_01_d.tif.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: e741a545f89b0b54b869759ae1d4cd6f +guid: 74ed83ae85322b043a4298a08eb21921 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,20 +20,21 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 512 + textureFormat: 1 + maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 2 + filterMode: 1 aniso: 1 mipBias: 0 wrapU: 0 @@ -50,7 +51,7 @@ TextureImporter: spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 2 + alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 @@ -62,12 +63,13 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 - cookieLightType: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 512 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -75,35 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 512 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 512 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 512 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -111,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -126,17 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Textures/masks/fx_smoke_01_d.tif" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials.meta deleted file mode 100644 index 9006e7e88..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1437643b5e0889e43ad106104042fa76 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat deleted file mode 100644 index 6d885e06a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat +++ /dev/null @@ -1,138 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4433400321643788940 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Cement_CleanCement_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DETAIL_MULX2 - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 12fd934fb94aac04885691d083188a2a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 105f20e632037204e8646bf2f3cb9528, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 2800000, guid: 12fd934fb94aac04885691d083188a2a, type: 3} - m_Scale: {x: 0.25, y: 0.25} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 2800000, guid: 3f817ea58d2c6894f8fb3b7304a08dca, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 2800000, guid: 105f20e632037204e8646bf2f3cb9528, type: 3} - 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: 12fd934fb94aac04885691d083188a2a, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 2ac4bf7d585126949b38cd702006fafe, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat.meta deleted file mode 100644 index b81b823d8..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Cement_CleanCement_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 49506fd0848c28347b9abea5039867d2 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Cement_CleanCement_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat deleted file mode 100644 index 26e6a6bba..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat +++ /dev/null @@ -1,138 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1115370655328672627 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Concrete_Alt_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DETAIL_MULX2 - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 85268ab1a7e2018488ad0bc5d34f0007, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: defa01a9a50305a43852c6bbd014ac88, type: 3} - 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: 2800000, guid: 953c0e8755d832c42b4971519fd99a24, type: 3} - 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: 85268ab1a7e2018488ad0bc5d34f0007, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: c838a793c6f1aae4db466dc3559faf1c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 0.39 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat.meta deleted file mode 100644 index 0cc6fac22..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Alt_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 92d6428c64a7d66428afb80e9bdc165f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Concrete_Alt_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat deleted file mode 100644 index ccaa9d344..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat +++ /dev/null @@ -1,138 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2506267810580169002 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Concrete_Smooth_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _METALLICSPECGLOSSMAP - - _NORMALMAP - m_InvalidKeywords: - - _MASKMAP - - _METALLICGLOSSMAP - - _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 5697d7f22a3c4874988ab0af487a0dd2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 9476cbb2b1b68464fb47c5f0676c4e14, type: 3} - 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: 5697d7f22a3c4874988ab0af487a0dd2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: f6ed72401b76e0a4398607733bc17ddf, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.686 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat.meta deleted file mode 100644 index 792d698d3..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Concrete_Smooth_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: cca1e49801868a946bea42b273e8f1ea -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Concrete_Smooth_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat deleted file mode 100644 index 5a5254809..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat +++ /dev/null @@ -1,138 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7647079860005530643 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Dirt_Dirt_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 2c376724715e96b4fa10297f58a13cf6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: a83cb456dec69244a8fac5f761ccb5f6, type: 3} - 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: 2c376724715e96b4fa10297f58a13cf6, type: 3} - 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: 2800000, guid: d3ab66796b527f34289e6de42d7af8b4, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 54e705651600a07418261725ece304a2, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat.meta deleted file mode 100644 index 26e39f37f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Dirt_Dirt_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 7d8f075d359be454ba76be078ed2086e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Dirt_Dirt_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat deleted file mode 100644 index aca0d0f70..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metal_Scratched_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 49680e511983cae429871251bf2c5b70, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 18b375cf9a9550b43abc0f11197370c9, type: 3} - 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: 49680e511983cae429871251bf2c5b70, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: da1b500ffc01bd145892f2cc1d84a3b1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7712798383497811878 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat.meta deleted file mode 100644 index dacb2365e..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Metal_Scratched_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: e5b5cfd5c30cd8146be1152dadd426cc -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Metal_Scratched_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat deleted file mode 100644 index a446a58c5..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Stone_CastStone_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DETAIL_MULX2 - - _METALLICSPECGLOSSMAP - - _NORMALMAP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 12fd934fb94aac04885691d083188a2a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: ba5f4fd682ac8ee4e9f70aea481889d4, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1.5, y: 1.5} - 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: 2800000, guid: 953c0e8755d832c42b4971519fd99a24, type: 3} - 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: 12fd934fb94aac04885691d083188a2a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: fe13ab991040eea4ebdda2e6e0c9c233, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 0.34 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.8867924, g: 0.8403781, b: 0.69855815, a: 1} - - _Color: {r: 0.8867924, g: 0.8403781, b: 0.69855815, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &4524471498334315553 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat.meta deleted file mode 100644 index de7053edd..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/Stone_CastStone_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 16ae163b88c087840ae2183bccb92097 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/Stone_CastStone_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat deleted file mode 100644 index 782a7335c..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: metal_DullParkerization_MAT - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _SPECGLOSSMAP - - _SPECULAR_SETUP - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 0649f13133034b145b3086442c922558, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 0e15b72df85b108478873cc5ed8b5f59, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 0.35, y: 0.35} - 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: 0649f13133034b145b3086442c922558, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: db365be12cd748e4b833ee0f559fe139, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 0 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &2605100586103248458 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat.meta deleted file mode 100644 index 9231ab130..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/Universal Materials/metal_DullParkerization_MAT.mat.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: e1826a25ec08b214f8efccb8377c79fb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 285972 - packageName: City Park Exterior Props - URP - packageVersion: 1.0.1 - assetPath: "Assets/Resources/Character/@000-050/@030_\uC774\uC8FC\uC778/Background/\uC774\uC8FC\uC778_250419_\uC2E0\uC804\uBC30\uACBD/CityParkExteriorProps/Universal - Materials/metal_DullParkerization_MAT.mat" - uploadId: 672698 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/water_foun.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/water_foun.fbx.meta index f3a90f63e..a719013b1 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/water_foun.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/CityParkExteriorProps/water_foun.fbx.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 7be250503eb194f42bdb305357ae4c38 +guid: 47a0204ca9ffe874d973d09d13b1fb42 ModelImporter: - serializedVersion: 22200 + serializedVersion: 24200 internalIDToNameTable: [] externalObjects: {} materials: @@ -16,8 +16,6 @@ ModelImporter: optimizeGameObjects: 0 removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -40,6 +38,7 @@ ModelImporter: addColliders: 0 useSRGBMaterialColor: 1 sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 @@ -57,6 +56,9 @@ ModelImporter: maxBonesPerVertex: 4 minBoneWeight: 0.001 optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI.meta index 66b4deb10..73b074ceb 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 92c27b1fbf72d8649bd87516e85fed43 +guid: 59fbc0afa3fc54d4cb2e5a3343e7fb56 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials.meta deleted file mode 100644 index 9fcecc11e..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cf8d4d6bac2f89a47b58995d6f0cf1d8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat deleted file mode 100644 index 9f778813d..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat +++ /dev/null @@ -1,241 +0,0 @@ -%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: firefly - m_Shader: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 9302744dffcdc6146b35879fc97a6c1c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionParallaxDepthMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionParallaxMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionParallaxTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GlossBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 9302744dffcdc6146b35879fc97a6c1c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatcapBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MatcapTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineWidthMask: - 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} - - _PointShadowborderBlurMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectionCubemap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ReflectionReflectionMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _RimTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowCapBlendMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowCapTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowPlanB2CustomShadowTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowPlanBCustomShadowTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowStrengthMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ShadowborderBlurMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _CustomShadow2nd: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DoubleSidedBackfaceHueShiftFromBase: 0 - - _DoubleSidedBackfaceLightIntensity: 0.5 - - _DoubleSidedBackfaceSaturationFromBase: 1 - - _DoubleSidedBackfaceUseColorShift: 0 - - _DoubleSidedBackfaceValueFromBase: 1 - - _DoubleSidedFlipBackfaceNormal: 0 - - _DstBlend: 0 - - _EmissionParallaxDepth: 0 - - _EmissionParallaxDepthMaskInvert: 0 - - _GlossBlend: 0.5 - - _GlossPower: 0.5 - - _Glossiness: 0.5 - - _InvFade: 2.18 - - _LightSampling: 0 - - _MatcapBlend: 1 - - _MatcapBlendMode: 3 - - _MatcapNormalMix: 1 - - _MatcapShadeMix: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OtherShadowAdjust: -0.1 - - _OtherShadowBorderSharpness: 3 - - _OutlineCutoffRange: 0.5 - - _OutlineHueShiftFromBase: 0 - - _OutlineSaturationFromBase: 1 - - _OutlineShadeMix: 0 - - _OutlineTextureColorRate: 0.05 - - _OutlineUseColorShift: 0 - - _OutlineValueFromBase: 1 - - _OutlineWidth: 0.1 - - _Parallax: 0.02 - - _PointAddIntensity: 1 - - _PointShadowSteps: 2 - - _PointShadowStrength: 0.5 - - _PointShadowUseStep: 0 - - _PointShadowborder: 0.5 - - _PointShadowborderBlur: 0.01 - - _ReflectionNormalMix: 1 - - _ReflectionReflectionPower: 1 - - _ReflectionShadeMix: 0 - - _ReflectionSuppressBaseColorValue: 1 - - _RimBlend: 1 - - _RimFresnelPower: 1 - - _RimShadeMix: 0 - - _RimUpperSideWidth: 0 - - _RimUseBaseTexture: 0 - - _ShadowCapBlend: 1 - - _ShadowCapBlendMode: 3 - - _ShadowCapNormalMix: 1 - - _ShadowCasterCulling: 2 - - _ShadowIndirectIntensity: 0.25 - - _ShadowPlanB2HueShiftFromBase: 0 - - _ShadowPlanB2SaturationFromBase: 1 - - _ShadowPlanB2UseCustomShadowTexture: 0 - - _ShadowPlanB2ValueFromBase: 1 - - _ShadowPlanB2border: 0.55 - - _ShadowPlanB2borderBlur: 0.55 - - _ShadowPlanBDefaultShadowMix: 1 - - _ShadowPlanBHueShiftFromBase: 0 - - _ShadowPlanBSaturationFromBase: 1 - - _ShadowPlanBUseCustomShadowTexture: 0 - - _ShadowPlanBUsePlanB: 0 - - _ShadowPlanBValueFromBase: 1 - - _ShadowSteps: 4 - - _ShadowStrength: 0.5 - - _ShadowUseStep: 0 - - _Shadowborder: 0.6 - - _ShadowborderBlur: 0.05 - - _SrcBlend: 1 - - _UVSec: 0 - - _UseDoubleSided: 0 - - _UseEmissionParallax: 0 - - _UseGloss: 0 - - _UseOutline: 0 - - _UsePositionRelatedCalc: 0 - - _UseReflection: 0 - - _UseReflectionProbe: 1 - - _UseRim: 0 - - _UseVertexLight: 1 - - _Version: 1026 - - _VertexColorBlendDiffuse: 0 - - _VertexColorBlendEmissive: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0.28773582, g: 0.56168616, b: 1, a: 1} - - _EmissionColor: {r: 120.47059, g: 152.59608, b: 766.9961, a: 1} - - _EmissionParallaxColor: {r: 1, g: 1, b: 1, a: 1} - - _GlossColor: {r: 1, g: 1, b: 1, a: 1} - - _MatcapColor: {r: 1, g: 1, b: 1, a: 1} - - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _RimColor: {r: 1, g: 1, b: 1, a: 1} - - _ShadowPlanB2CustomShadowTextureRGB: {r: 1, g: 1, b: 1, a: 1} - - _ShadowPlanBCustomShadowTextureRGB: {r: 1, g: 1, b: 1, a: 1} - - _TintColor: {r: 1, g: 1, b: 1, a: 0.503} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat.meta deleted file mode 100644 index a65408b0f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Materials/firefly.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6fb7770109d83b143b0f93893d0b685d -timeCreated: 1447944011 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures.meta index e675c6b88..cb3b62c0b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d317e33a3a0ec0147b25b7b491bbaedf +guid: bf2cdbd7b8890824485794828e67d109 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures/firefly_texture.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures/firefly_texture.png.meta index 2c18eaba2..a04246b09 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures/firefly_texture.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/HITORI/Textures/firefly_texture.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 9302744dffcdc6146b35879fc97a6c1c +guid: a89ef886e2aa125488990c003a944f80 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,14 +20,17 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: 1 maxTextureSize: 2048 textureSettings: serializedVersion: 2 @@ -48,18 +51,23 @@ TextureImporter: spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 2 + alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - applyGammaDecoding: 1 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,21 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 1 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -108,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room.meta index 9da183cf5..41f4524d9 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b8a28708df8315742af0bee864ceace9 +guid: 62b2b33559b32c9408bbc1689589a119 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials.meta index f430e88c9..475a448ef 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 58e0c076ba97c9d40bca682b6ec92f78 +guid: 42d395a3c7c00e8498d3b6d65d47d2e2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat deleted file mode 100644 index e645b50e2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat +++ /dev/null @@ -1,170 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_ground_grass - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _NORMALMAP - m_InvalidKeywords: [] - m_LightmapFlags: 2 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _Albedo: - m_Texture: {fileID: 2800000, guid: 472793615252a404cab9325b6b9d36f7, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 3dd2f3e57aa31f8448c87c5f1a84bcb5, type: 3} - m_Scale: {x: 200, y: 200} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: adc793fed31379e4ca57fa444166c529, type: 3} - 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} - - _Emission: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 2800000, guid: 3dd2f3e57aa31f8448c87c5f1a84bcb5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 3dd2f3e57aa31f8448c87c5f1a84bcb5, type: 3} - m_Scale: {x: 200, y: 200} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicSmoothness: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Normal: - m_Texture: {fileID: 2800000, guid: 34124af92bcd44c4a9f6de7162600da5, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TerrainHolesTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.133 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _NormalScale: 0.19 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Shininess: 0.08314258 - - _Smoothness: 0.133 - - _SmoothnessSource: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _SurfaceSmoothness: 0 - - _Tiling: 1 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - - __dirty: 1 - m_Colors: - - _BaseColor: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1} - - _Color: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1} - - _EmissionColor: {r: 0.16340335, g: 0.2264151, b: 0.1760057, a: 1} - - _SpecColor: {r: 0.2830189, g: 0.2830189, b: 0.2830189, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &4503158304630289837 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat.meta deleted file mode 100644 index 065749c75..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/M_ground_grass.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 446282b1a5d604240802941fe814121b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_D_.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_D_.png.meta index c3520e3c4..e6518b87b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_D_.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_D_.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 3dd2f3e57aa31f8448c87c5f1a84bcb5 +guid: 8c7b97a6b61a4c2468eadc176d2fb045 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_N.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_N.png.meta index 7357c0e03..744e7398b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_N.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/JooIn_room/Materials/T_ground_grass_N.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: adc793fed31379e4ca57fa444166c529 +guid: 09f6aa6607062ab459309aaf7f5ac691 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart.meta index fbc742b39..255b61b60 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e79d5923d0684f346a07a9e509a92771 +guid: bf535326745a28f48b88a6a120498b6e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio.meta index e1168226d..af124e5c5 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 583a218f0160ebe438dfc89c41be2be1 +guid: 308f079bb982e9f4688e44b97e648dc1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows.meta index a095a0489..da505b2dd 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: adc950d8dbb4e274495dd05a5857b5eb +guid: d1365213b2bb3f44b883f5d526dfba52 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials.meta deleted file mode 100644 index 846e74e2a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 207096f0b257879489c4253e111298c1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage.meta deleted file mode 100644 index b02f79e26..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a50378907fee311499b6eca2967b643e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat deleted file mode 100644 index c02f8d23d..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat +++ /dev/null @@ -1,164 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_Bushes_01 - m_Shader: {fileID: 4800000, guid: 3183693b08ea2c3498466aeab483a701, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - 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} - - _ColorVariationTexture: - m_Texture: {fileID: 2800000, guid: e3adc16eb3921de48a178ce82c92cbd1, type: 3} - m_Scale: {x: 2, y: 2} - 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} - - _FoliageColorMap: - m_Texture: {fileID: 2800000, guid: a2ad996e66f54304d8ffe25139c6fcfb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FoliageTexture: - m_Texture: {fileID: 2800000, guid: a2ad996e66f54304d8ffe25139c6fcfb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NoiseTexture: - m_Texture: {fileID: 2800000, guid: d5c189d1879805542bfc315efacf4db4, type: 3} - 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} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _Alpha: 0.23 - - _AlphaCutoff: 0.5 - - _BumpScale: 1 - - _Color2Level: -11.01 - - _ColorBottomLevel: -13.08 - - _ColorBottomMaskFade: -0.089 - - _ColorMask: 0.033 - - _ColorMaskFade: -0.206 - - _Contrast: 0.2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DirectLightInt: 1.18 - - _DstBlend: 0 - - _Float0: 1 - - _FoliageSize: 100 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GradientFallout: 0.41 - - _GradientOffset: -6.5 - - _IndirectLightningIntensity: 2.55 - - _InteractionAlpha: 1 - - _LightOffset: 1 - - _MaskClipValue: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StuffSmoothness: 0 - - _SubsurfaceFadeDistance: 200 - - _SubsurfaceIntensity: 31 - - _TransAmbient: 0.033 - - _TransDirect: 0.481 - - _TransNormalDistortion: 0.153 - - _TransScattering: 1 - - _TransShadow: 1 - - _Translucency: 1.1 - - _TrunkMaterial: 0 - - _UVSec: 0 - - _UseGlobalWindSettings: 0 - - _UsesGlobalWindSettings: 0 - - _WIndSwayFrequency: 1 - - _WIndSwayIntensity: 1 - - _WindIntensity: 4.5 - - _WindJitterSpeed: 0.233 - - _WindOffsetIntensity: 0.3 - - _WindRustleSize: 0.11 - - _WindScale: 2 - - _WindScrollSpeed: 0.132 - - _WindSpeed: 0.07 - - _WindTint: 0.5 - - _ZWrite: 1 - - __dirty: 0 - - _nteractionAlpha: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color1: {r: 0.8784314, g: 0.85750186, b: 0, a: 0} - - _Color2: {r: 1, g: 0.34084028, b: 0.2588235, a: 0} - - _ColorBottom: {r: 0.37178555, g: 0.6603774, b: 0.04049486, a: 0} - - _ColorTop: {r: 0.6954966, g: 0.7254902, b: 0.039215665, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _FoliageColorBottom: {r: 0.29356545, g: 0.46226418, b: 0.006541462, a: 1} - - _FoliageColorTop: {r: 0.40962893, g: 0.5283019, b: 0.12709148, a: 1} - - _Speed: {r: 0.16, g: 0.29, b: 0, a: 0} - - _WindSwayDirection: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat.meta deleted file mode 100644 index 1866877e6..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_01.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 87d067b8a4bcc8a40a5890bed84fef41 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat deleted file mode 100644 index 43a47ff52..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat +++ /dev/null @@ -1,108 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_Bushes_Tiling_01 - m_Shader: {fileID: 4800000, guid: 09acca735931207469ebf2183e339e6a, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - 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} - - _ColorTexture: - m_Texture: {fileID: 2800000, guid: 594ed1a899dc01d488c847b35951d136, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaCutoff: 0.35 - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.164 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - - __dirty: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorTint: {r: 0.37178555, g: 0.6603774, b: 0.04049486, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat.meta deleted file mode 100644 index e254d5ac1..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Bushes_Tiling_01.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: da6b51958c17d6e49a7354c1605d1914 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat deleted file mode 100644 index 892e77fbc..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat +++ /dev/null @@ -1,177 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_Flower_Field_02 - m_Shader: {fileID: 4800000, guid: 3aa11b2c6fcaa3c418015917a2252433, type: 3} - m_ValidKeywords: - - _USEVERTEXCOLOR_ON - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - 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} - - _ColorMask: - m_Texture: {fileID: 2800000, guid: 383ded9695c17ac41b2dfb0ca9ab19f9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ColorVariationTexture: - m_Texture: {fileID: 2800000, guid: e3adc16eb3921de48a178ce82c92cbd1, type: 3} - m_Scale: {x: 2, y: 2} - 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} - - _FlowerMask: - m_Texture: {fileID: 2800000, guid: 383ded9695c17ac41b2dfb0ca9ab19f9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FoliageMap: - m_Texture: {fileID: 2800000, guid: fb4f0238c8b98a049bbb82b7366cf17b, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FoliageTexture: - m_Texture: {fileID: 2800000, guid: f8336e156fb468646b82d55a376f1b52, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _GradientMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _WindNoiseTexture: - m_Texture: {fileID: 2800000, guid: ecd0578dd5d2cb54e90e298c6fbe1019, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _Alpha: 0.23 - - _AlphaCutoff: 0.5 - - _BumpScale: 1 - - _Color2Level: -11.01 - - _ColorBottomLevel: -10.84 - - _ColorBottomMaskFade: -0.174 - - _ColorMask: 0.033 - - _ColorMaskFade: -0.206 - - _Contrast: 0.2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DitherBottomLevel: 0 - - _DitherFade: 1.35 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _FoliageRoughness: 1 - - _FoliageSpecular: 0.1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HasStem: 0 - - _LockPositionGradient: 1.15 - - _MaskClip: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.129 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SpecularIntensity: 0 - - _SrcBlend: 1 - - _StuffSmoothness: 0 - - _TransAmbient: 0.033 - - _TransDirect: 0.481 - - _TransNormalDistortion: 0.153 - - _TransScattering: 1 - - _TransShadow: 0.86 - - _Translucency: 1.1 - - _UVSec: 0 - - _UseDithering: 0 - - _UseGlobalSetting: 0 - - _UseGlobalWindSettings: 0 - - _UseGradientMap: 0 - - _UseVertexColor: 1 - - _VertexColorGradient: 1 - - _VertexColorOffset: 0 - - _WindIntensity: 2.3 - - _WindNoise01: 23.9 - - _WindNoise01Multiplier: 0.2 - - _WindNoise02: 22.8 - - _WindNoise02Multiplier: 0.2 - - _WindScale: 0.5 - - _WindSpeed: 0.4 - - _ZWrite: 1 - - __dirty: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color1: {r: 0.8784314, g: 0.85750186, b: 0, a: 0} - - _Color2: {r: 1, g: 0.34084028, b: 0.2588235, a: 0} - - _ColorBottom: {r: 0.37178555, g: 0.6603774, b: 0.04049486, a: 1} - - _ColorGradient01: {r: 1, g: 0.21226418, b: 0.21226418, a: 0} - - _ColorGradient02: {r: 0, g: 0, b: 0, a: 0} - - _ColorTint: {r: 0.5592033, g: 0.65882355, b: 0.039215695, a: 1} - - _ColorTop: {r: 0.7264151, g: 0.71691453, b: 0.03769135, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Speed: {r: 0.16, g: 0.29, b: 0, a: 0} - - _StemColor: {r: 1, g: 1, b: 1, a: 0} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat.meta deleted file mode 100644 index dc69b6089..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Foliage/M_Flower_Field_02.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9a79c25c9b159654981876ee956ef5cf -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees.meta deleted file mode 100644 index 53a464c9a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 72adafbfafb9f3342938affad2a7097c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat deleted file mode 100644 index 58cc7e5cb..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat +++ /dev/null @@ -1,142 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_Birch_03_BB - m_Shader: {fileID: 4800000, guid: b28029cc52e10a0419b31f0b9b1bbc2d, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - 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} - - _ColorVariationTexture: - m_Texture: {fileID: 2800000, guid: e3adc16eb3921de48a178ce82c92cbd1, type: 3} - m_Scale: {x: 2, y: 2} - 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} - - _FoliageTexture: - m_Texture: {fileID: 2800000, guid: edb7495fc027527418dc4b0a80b3de85, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalTexture: - 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} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _Alpha: 0.23 - - _AlphaClip: 0.35 - - _AlphaCutoff: 0.5 - - _BumpScale: 1 - - _Color2Level: -11.01 - - _ColorBottomLevel: -13.08 - - _ColorBottomMaskFade: -0.089 - - _ColorMask: 0.033 - - _ColorMaskFade: -0.206 - - _Contrast: 0.2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _Float0: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _InteractionAlpha: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StuffSmoothness: 0 - - _TransAmbient: 0.033 - - _TransDirect: 0.481 - - _TransNormalDistortion: 0.153 - - _TransScattering: 1 - - _TransShadow: 1 - - _Translucency: 1.1 - - _UVSec: 0 - - _WindIntensity: 4.5 - - _WindScale: 2 - - _WindSpeed: 0.07 - - _WindTint: 0.5 - - _ZWrite: 1 - - __dirty: 0 - - _nteractionAlpha: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color1: {r: 0.8784314, g: 0.85750186, b: 0, a: 0} - - _Color2: {r: 1, g: 0.34084028, b: 0.2588235, a: 0} - - _ColorBottom: {r: 0.37178555, g: 0.6603774, b: 0.04049486, a: 0} - - _ColorTop: {r: 0.6954966, g: 0.7254902, b: 0.039215665, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Speed: {r: 0.16, g: 0.29, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat.meta deleted file mode 100644 index 2b333d801..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Birch_03_BB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f6b6d5c9aa31f4c43a75daf214887ad8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat deleted file mode 100644 index e8fd70224..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat +++ /dev/null @@ -1,151 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_Bush_Bark - m_Shader: {fileID: 4800000, guid: 9e462be833276004095a6c0ca5194f33, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlbedoTexture: - m_Texture: {fileID: 2800000, guid: c1d48518cbdbec345b8e70a8d8db6837, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageNormalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageSmoothnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageTexture: - 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} - - _EmissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalTexture: - m_Texture: {fileID: 2800000, guid: dadee91f84340f643a3ebe5aed316749, type: 3} - 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} - - _SmoothnessTexture: - m_Texture: {fileID: 2800000, guid: f2363dd6066f49e41829cf7aa18ffd92, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaCutoff: 0.5 - - _BlendnormalsON: 0 - - _BumpScale: 1 - - _CoverageContrast: 0.25 - - _CoverageFade: 0.5058824 - - _CoverageLevel: 0 - - _CoverageMetallic: 0 - - _CoverageSmoothnessMultiplier: 1 - - _CoverageThickness: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EmissiveMultiplier: 1 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GroundCoverON: 0 - - _Metallic: 0 - - _MetallicMultiplier: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SmoothnessMultiplier: 0.54 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - - __dirty: 0 - m_Colors: - - _AlbedoTint: {r: 1, g: 1, b: 1, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _CoverageTint: {r: 1, g: 1, b: 1, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat.meta deleted file mode 100644 index f1955c44b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_Bush_Bark.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0691ce41ee2aa324c8b80bdd551807ea -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat deleted file mode 100644 index 6840f5cfd..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat +++ /dev/null @@ -1,152 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_TreeBirch_Bark - m_Shader: {fileID: 4800000, guid: 92a542d49c0d1d0478c243e758b81084, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlbedoTexture: - m_Texture: {fileID: 2800000, guid: a731d3dbf18a84347b372979aea8c196, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageNormalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageSmoothnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoverageTexture: - 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} - - _EmissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalTexture: - m_Texture: {fileID: 2800000, guid: f05b6fe12d7ca3349a5ceb07178e6755, type: 3} - 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} - - _SmoothnessTexture: - m_Texture: {fileID: 2800000, guid: 5356e9dc8156c0b41a1778e7b025e62f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaCutoff: 0.5 - - _BlendnormalsON: 0 - - _BumpScale: 1 - - _CoverageContrast: 0.25 - - _CoverageFade: 0.5058824 - - _CoverageLevel: 0 - - _CoverageMetallic: 0 - - _CoverageSmoothnessMultiplier: 1 - - _CoverageThickness: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EmissiveMultiplier: 1 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GroundCoverON: 0 - - _Metallic: 0 - - _MetallicMultiplier: 1 - - _Mode: 0 - - _NormalIntensity: 1 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SmoothnessMultiplier: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - - __dirty: 0 - m_Colors: - - _AlbedoTint: {r: 1, g: 1, b: 1, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _CoverageTint: {r: 1, g: 1, b: 1, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat.meta deleted file mode 100644 index c93f5caa2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Bark.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 351c6850aa5620944bc0d683179b15d4 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat deleted file mode 100644 index f62b7d916..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat +++ /dev/null @@ -1,164 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: M_TreeBirch_Leaves - m_Shader: {fileID: 4800000, guid: 3183693b08ea2c3498466aeab483a701, type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 1 - 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} - - _ColorVariationTexture: - m_Texture: {fileID: 2800000, guid: e3adc16eb3921de48a178ce82c92cbd1, type: 3} - m_Scale: {x: 2, y: 2} - 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} - - _FoliageColorMap: - m_Texture: {fileID: 2800000, guid: a2ad996e66f54304d8ffe25139c6fcfb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FoliageTexture: - m_Texture: {fileID: 2800000, guid: a2ad996e66f54304d8ffe25139c6fcfb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NoiseTexture: - m_Texture: {fileID: 2800000, guid: d5c189d1879805542bfc315efacf4db4, type: 3} - 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} - - _texcoord: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _Alpha: 0.23 - - _AlphaCutoff: 0.5 - - _BumpScale: 1 - - _Color2Level: -11.01 - - _ColorBottomLevel: -13.08 - - _ColorBottomMaskFade: -0.089 - - _ColorMask: 0.033 - - _ColorMaskFade: -0.206 - - _Contrast: 0.2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DirectLightInt: 1.18 - - _DstBlend: 0 - - _Float0: 1 - - _FoliageSize: 100 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GradientFallout: 0.41 - - _GradientOffset: -6.5 - - _IndirectLightningIntensity: 2.55 - - _InteractionAlpha: 1 - - _LightOffset: 1 - - _MaskClipValue: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StuffSmoothness: 0 - - _SubsurfaceFadeDistance: 200 - - _SubsurfaceIntensity: 31 - - _TransAmbient: 0.033 - - _TransDirect: 0.481 - - _TransNormalDistortion: 0.153 - - _TransScattering: 1 - - _TransShadow: 1 - - _Translucency: 1.1 - - _TrunkMaterial: 0 - - _UVSec: 0 - - _UseGlobalWindSettings: 0 - - _UsesGlobalWindSettings: 0 - - _WIndSwayFrequency: 1 - - _WIndSwayIntensity: 1 - - _WindIntensity: 4.5 - - _WindJitterSpeed: 0.233 - - _WindOffsetIntensity: 0.3 - - _WindRustleSize: 0.11 - - _WindScale: 2 - - _WindScrollSpeed: 0.132 - - _WindSpeed: 0.07 - - _WindTint: 0.5 - - _ZWrite: 1 - - __dirty: 0 - - _nteractionAlpha: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _Color1: {r: 0.8784314, g: 0.85750186, b: 0, a: 0} - - _Color2: {r: 1, g: 0.34084028, b: 0.2588235, a: 0} - - _ColorBottom: {r: 0.37178555, g: 0.6603774, b: 0.04049486, a: 0} - - _ColorTop: {r: 0.6954966, g: 0.7254902, b: 0.039215665, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _FoliageColorBottom: {r: 0.29356545, g: 0.46226418, b: 0.006541462, a: 1} - - _FoliageColorTop: {r: 0.40962893, g: 0.5283019, b: 0.12709148, a: 1} - - _Speed: {r: 0.16, g: 0.29, b: 0, a: 0} - - _WindSwayDirection: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat.meta deleted file mode 100644 index ec93129fe..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Materials/Trees/M_TreeBirch_Leaves.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 80bac2b3309d3d34c85971907111c725 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes.meta index 2cb676e63..a0f8f0b80 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9786460ad3180e40a027891d9cb55b2 +guid: 208b7d752babd804a9f518d3a2029a46 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage.meta index e6085cf38..47c89075d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c5b58b8987ca6d5428b4d56c90f6c28e +guid: 9e831b30819e062439c514e323a5c0c1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_01.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_01.fbx.meta index d93962afc..d1d6be6f1 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_01.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_01.fbx.meta @@ -1,22 +1,11 @@ fileFormatVersion: 2 -guid: 186396b9ea34d434b8dc135ba8f27e7f +guid: 54f70dd82e26d6d428b4f613f69b3394 ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2100000: LeafBush - 2300000: //RootNode - 3300000: //RootNode - 4300000: Plane.077 - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush - second: {fileID: 2100000, guid: 87d067b8a4bcc8a40a5890bed84fef41, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -25,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -42,32 +30,46 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] - globalScale: 0.5 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 - previousCalculatedGlobalScale: 1 - hasPreviousCalculatedGlobalScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -76,10 +78,10 @@ ModelImporter: legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 blendShapeNormalImportMode: 1 normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -89,13 +91,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_02.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_02.fbx.meta index 870f4177c..edf44e9e5 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_02.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_02.fbx.meta @@ -1,22 +1,11 @@ fileFormatVersion: 2 -guid: fe0224e0f46a3c24cb8afe0bd433f4d1 +guid: 51fff4c36538c1643af54181856252da ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2100000: LeafBush.001 - 2300000: //RootNode - 3300000: //RootNode - 4300000: Plane.167 - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush.001 - second: {fileID: 2100000, guid: 87d067b8a4bcc8a40a5890bed84fef41, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -25,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -42,32 +30,46 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: [] - globalScale: 0.5 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 - previousCalculatedGlobalScale: 1 - hasPreviousCalculatedGlobalScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -76,10 +78,10 @@ ModelImporter: legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 blendShapeNormalImportMode: 1 normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -89,13 +91,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_04.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_04.fbx.meta index 980a60fd7..de1be1232 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_04.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_04.fbx.meta @@ -1,36 +1,11 @@ fileFormatVersion: 2 -guid: 9985e4f73cfdd3248aa3bb81efa3f8bc +guid: 2b18ecc3eed146348908b19b5948fd63 ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: Bush_04_LOD0 - 100002: Bush_04_LOD1 - 100004: //RootNode - 400000: Bush_04_LOD0 - 400002: Bush_04_LOD1 - 400004: //RootNode - 2100000: LeafBush - 2100002: LeafBushTiling - 2300000: Bush_04_LOD0 - 2300002: Bush_04_LOD1 - 3300000: Bush_04_LOD0 - 3300002: Bush_04_LOD1 - 4300000: Bush_04_LOD0 - 4300002: Bush_04_LOD1 - 20500000: //RootNode - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush - second: {fileID: 2100000, guid: 87d067b8a4bcc8a40a5890bed84fef41, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBushTiling - second: {fileID: 2100000, guid: da6b51958c17d6e49a7354c1605d1914, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -39,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -56,34 +30,48 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: - 0.25 - 0.01 - globalScale: 0.1 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 - previousCalculatedGlobalScale: 1 - hasPreviousCalculatedGlobalScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -92,10 +80,10 @@ ModelImporter: legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 blendShapeNormalImportMode: 1 normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -105,13 +93,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_09.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_09.fbx.meta index f855e4443..d3383caec 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_09.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_09.fbx.meta @@ -1,41 +1,11 @@ fileFormatVersion: 2 -guid: 1632a9baea1fc13408a2e87d6ffc8532 +guid: cf84c8e0160ca4342ab546b423afcd7b ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: Bush_09_LOD0 - 100002: Bush_09_LOD1 - 100004: Bush_09_LOD2 - 100006: //RootNode - 400000: Bush_09_LOD0 - 400002: Bush_09_LOD1 - 400004: Bush_09_LOD2 - 400006: //RootNode - 2100000: M_Bush_Trunk.002 - 2100002: LeafBush - 2300000: Bush_09_LOD0 - 2300002: Bush_09_LOD1 - 2300004: Bush_09_LOD2 - 3300000: Bush_09_LOD0 - 3300002: Bush_09_LOD1 - 3300004: Bush_09_LOD2 - 4300000: Bush_09_LOD1 - 4300002: Bush_09_LOD0 - 4300004: Bush_09_LOD2 - 20500000: //RootNode - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush - second: {fileID: 2100000, guid: 87d067b8a4bcc8a40a5890bed84fef41, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: M_Bush_Trunk.002 - second: {fileID: 2100000, guid: 0691ce41ee2aa324c8b80bdd551807ea, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -44,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -61,35 +30,49 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: - 0.25 - 0.125 - 0.01 - globalScale: 0.1 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 - previousCalculatedGlobalScale: 1 - hasPreviousCalculatedGlobalScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -98,10 +81,10 @@ ModelImporter: legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 blendShapeNormalImportMode: 1 normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -111,13 +94,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_Flowers_04.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_Flowers_04.fbx.meta index 9d120e3d1..9028166c8 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_Flowers_04.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Foliage/SM_Bush_Flowers_04.fbx.meta @@ -1,42 +1,11 @@ fileFormatVersion: 2 -guid: 6ce751d17b4c32047a2fe72bfd547482 +guid: a318151d71521234dab09995d8d06e73 ModelImporter: - serializedVersion: 23 - fileIDToRecycleName: - 100000: Bush_04_Flowers_LOD0 - 100002: Bush_04_Flowers_LOD1 - 100004: //RootNode - 400000: Bush_04_Flowers_LOD0 - 400002: Bush_04_Flowers_LOD1 - 400004: //RootNode - 2100000: LeafBush - 2100002: LeafBushTiling - 2100004: Flower.001 - 2300000: Bush_04_Flowers_LOD0 - 2300002: Bush_04_Flowers_LOD1 - 3300000: Bush_04_Flowers_LOD0 - 3300002: Bush_04_Flowers_LOD1 - 4300000: Bush_04_Flowers_LOD0 - 4300002: Bush_04_Flowers_LOD1 - 20500000: //RootNode - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Flower.001 - second: {fileID: 2100000, guid: 9a79c25c9b159654981876ee956ef5cf, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush - second: {fileID: 2100000, guid: 87d067b8a4bcc8a40a5890bed84fef41, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBushTiling - second: {fileID: 2100000, guid: da6b51958c17d6e49a7354c1605d1914, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -45,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -62,34 +30,48 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: - 0.25 - 0.01 - globalScale: 0.1 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 - previousCalculatedGlobalScale: 1 - hasPreviousCalculatedGlobalScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -98,10 +80,10 @@ ModelImporter: legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 blendShapeNormalImportMode: 1 normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -111,13 +93,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees.meta index ec3ae126d..9dd89a1ba 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8bd5548bbb17d9242a5e481576ed0c9d +guid: 5f692b6aeb3a09b43b170381ae5da8e0 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees/SM_Birch_03_Unity.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees/SM_Birch_03_Unity.fbx.meta index 102ecb0d0..d50aad1d5 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees/SM_Birch_03_Unity.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Meshes/Trees/SM_Birch_03_Unity.fbx.meta @@ -1,106 +1,11 @@ fileFormatVersion: 2 -guid: e9d8ba9de4645684dad0fc0f71b17a30 +guid: 651f4c07997641b4bbbea15861e900b6 ModelImporter: - serializedVersion: 20200 - internalIDToNameTable: - - first: - 1: 100000 - second: Birch_03_LOD0 - - first: - 1: 100002 - second: Birch_03_LOD1 - - first: - 1: 100004 - second: Birch_03_LOD2 - - first: - 1: 100006 - second: Birch_03_LOD3 - - first: - 1: 100008 - second: //RootNode - - first: - 4: 400000 - second: Birch_03_LOD0 - - first: - 4: 400002 - second: Birch_03_LOD1 - - first: - 4: 400004 - second: Birch_03_LOD2 - - first: - 4: 400006 - second: Birch_03_LOD3 - - first: - 4: 400008 - second: //RootNode - - first: - 21: 2100000 - second: LeafBush - - first: - 21: 2100002 - second: M_Birch_Rework_Trunk - - first: - 23: 2300000 - second: Birch_03_LOD0 - - first: - 23: 2300002 - second: Birch_03_LOD1 - - first: - 23: 2300004 - second: Birch_03_LOD2 - - first: - 23: 2300006 - second: Birch_03_LOD3 - - first: - 33: 3300000 - second: Birch_03_LOD0 - - first: - 33: 3300002 - second: Birch_03_LOD1 - - first: - 33: 3300004 - second: Birch_03_LOD2 - - first: - 33: 3300006 - second: Birch_03_LOD3 - - first: - 43: 4300000 - second: Birch_03_LOD0 - - first: - 43: 4300002 - second: Birch_03_LOD1 - - first: - 43: 4300004 - second: Birch_03_LOD2 - - first: - 43: 4300006 - second: Birch_03_LOD3 - - first: - 205: 20500000 - second: //RootNode - externalObjects: - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: Birch_03_BB - second: {fileID: 2100000, guid: f6b6d5c9aa31f4c43a75daf214887ad8, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: LeafBush - second: {fileID: 2100000, guid: 80bac2b3309d3d34c85971907111c725, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: M_Birch_Bark - second: {fileID: 2100000, guid: 351c6850aa5620944bc0d683179b15d4, type: 2} - - first: - type: UnityEngine:Material - assembly: UnityEngine.CoreModule - name: M_Birch_Rework_Trunk - second: {fileID: 2100000, guid: 351c6850aa5620944bc0d683179b15d4, type: 2} + serializedVersion: 24200 + internalIDToNameTable: [] + externalObjects: {} materials: - materialImportMode: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -109,9 +14,8 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -126,23 +30,25 @@ ModelImporter: extraExposedTransformPaths: [] extraUserProperties: [] clipAnimations: [] - isReadable: 1 + isReadable: 0 meshes: lODScreenPercentages: - 0.25 - 0.125 - 0.0625 - 0.01 - globalScale: 0.1 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 - fileIdsGeneration: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 @@ -153,16 +59,21 @@ ModelImporter: skinWeightsMode: 0 maxBonesPerVertex: 4 minBoneWeight: 0.001 + optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 - secondaryUVMarginMethod: 0 + secondaryUVMarginMethod: 1 secondaryUVMinLightmapResolution: 40 secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -184,17 +95,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 - globalScale: 0.1 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 0 + animationType: 2 humanoidOversampling: 1 avatarSetup: 0 - addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures.meta index ec93ffe91..5cc1467e8 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 06af79492b405964083463956a0b5e14 +guid: 4b3bfa5936c0358428a39fb06001f51c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage.meta index 3e5a4c8c3..751931a9a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 614f7e527e7b36b4bb5fd385fb77368f +guid: 1d1c49a0844c92f4b99889367af0d6f0 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_C.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_C.png.meta index 9f5544c24..f6fb67ddf 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_C.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_C.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: c1d48518cbdbec345b8e70a8d8db6837 +guid: b995eaa32582bb543b45fd6ae1dfb6da TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_N.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_N.png.meta index 87ce5910f..8e19e1808 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_N.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_N.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: dadee91f84340f643a3ebe5aed316749 +guid: 58f5caaff40d2304aae67d7644363605 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -51,14 +54,20 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_R.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_R.png.meta index 753071042..6f9d0ee87 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_R.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bush_Trunk_R.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: f2363dd6066f49e41829cf7aa18ffd92 +guid: 1be0b7e5810eb2b4484e2ded6f15d1a0 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bushes_01_Tiled.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bushes_01_Tiled.png.meta index 8e76f6416..a6d81b09b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bushes_01_Tiled.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Bushes_01_Tiled.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 594ed1a899dc01d488c847b35951d136 +guid: ddf32936394b6d441b9a5349a264000a TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_01.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_01.png.meta index b93192490..bc07e823f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_01.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_01.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: fb4f0238c8b98a049bbb82b7366cf17b +guid: 9f99a4579b3e4bc4781c8b3ab8bd6072 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas.png.meta index 927f7f096..0c35bfbe3 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: f8336e156fb468646b82d55a376f1b52 +guid: 6710791d88410ca45928c29eb88e5c3e TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas_Mask.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas_Mask.png.meta index af49f85a0..b79f648d3 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas_Mask.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Flower_Atlas_Mask.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 383ded9695c17ac41b2dfb0ca9ab19f9 +guid: f074fb0ee3fb67645a00b433dfeba877 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Leaves_Clump_01.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Leaves_Clump_01.png.meta index 7c005662b..c0eecb4d6 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Leaves_Clump_01.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Foliage/T_Leaves_Clump_01.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: a2ad996e66f54304d8ffe25139c6fcfb +guid: fd6bfe06318cea74ba292bbdd349e216 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -49,16 +52,22 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees.meta index 64a3c0c4b..c5ca54f75 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 02726cc0c881ad54a8eefbe1d4bd9c25 +guid: 6db7b421a1be12c44ba3117e0c74d654 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Birch_03_BB.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Birch_03_BB.png.meta index 821d6f54d..e03e1de8a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Birch_03_BB.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Birch_03_BB.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: edb7495fc027527418dc4b0a80b3de85 +guid: e7cb24dfe70eecd498cc142d55ea37ce TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -50,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 @@ -62,8 +64,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -73,9 +77,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -85,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -100,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_C.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_C.png.meta index ca2f95840..1e7104a71 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_C.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_C.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: a731d3dbf18a84347b372979aea8c196 +guid: c655759ee8958a340a2b44197e143912 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,10 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -50,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 1 + alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 @@ -61,11 +63,13 @@ TextureImporter: compressionQualitySet: 0 textureFormatSet: 0 ignorePngGamma: 0 - applyGammaDecoding: 1 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 4096 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -73,11 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 4096 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -85,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -100,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_N.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_N.png.meta index 44217e687..6c02194fa 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_N.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_N.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: f05b6fe12d7ca3349a5ceb07178e6755 +guid: ac14dcb323f37cc4984c673767ec3c0b TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -51,14 +54,20 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_R.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_R.png.meta index 868a86e28..af660793a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_R.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Trees/T_Tree_Birch_Rework_R.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 5356e9dc8156c0b41a1778e7b025e62f +guid: 07010e052f51adf44be8594c292e244b TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility.meta index e927f3421..61d2c3d71 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8adda209e2258f145a46e110392b2c2e +guid: e278681905307c345aa1c2f97564bb51 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility/T_Noise_02.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility/T_Noise_02.png.meta index eccf9433a..277ea71e4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility/T_Noise_02.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/DreamscapeMeadows/Textures/Utility/T_Noise_02.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: e3adc16eb3921de48a178ce82c92cbd1 +guid: f1f005a3282841847912444762d18821 TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -48,17 +51,23 @@ TextureImporter: spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 0 + alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 2 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,21 +77,41 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: + internalID: 0 vertices: [] indices: edges: [] weights: [] - spritePackingTag: + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources.meta index 5b6b1f6c3..d9bb522d7 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 097f4143cd48c4a4da27d8d16ccb6dff +guid: 57f966c9e54b2224d9e1f0f3f7a444c2 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders.meta deleted file mode 100644 index 6d9d962dd..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a3998e8120adf64ab17e14476a6274a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated.meta deleted file mode 100644 index be237b60b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6cdd19ca3208a7a4a90f346ae959d694 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader deleted file mode 100644 index 831e41d63..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader +++ /dev/null @@ -1,3360 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape Foliage Billboard" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_FoliageTexture("Foliage Texture", 2D) = "white" {} - _NormalTexture("Normal Texture", 2D) = "bump" {} - _ColorTop("Color Top", Color) = (1,1,1,0) - _ColorBottom("Color Bottom", Color) = (1,1,1,0) - _ColorBottomLevel("Color Bottom Level", Float) = 0 - _ColorBottomMaskFade("Color Bottom Mask Fade", Range( -1 , 0)) = 0 - _Smoothness("Smoothness", Range( 0 , 1)) = 0 - [ASEEnd]_AlphaClip("Alpha Clip", Range( 0 , 1)) = 0.35 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _CLUSTERED_RENDERING - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - sampler2D _NormalTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8 = v.vertex; - o.ase_texcoord9.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord9.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float4 lerpResult11 = lerp( _ColorTop , _ColorBottom , saturate( ( ( IN.ase_texcoord8.xyz.y + _ColorBottomLevel ) * ( _ColorBottomMaskFade * 2 ) ) )); - float2 uv_FoliageTexture = IN.ase_texcoord9.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - float2 uv_NormalTexture = IN.ase_texcoord9.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - - - float3 BaseColor = ( lerpResult11 * tex2DNode12 ).rgb; - float3 Normal = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0 ); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = 0; - float Smoothness = _Smoothness; - float Occlusion = 1; - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission; - color.rgb += BaseColor * mainTransmission; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission; - color.rgb += BaseColor * transmission; - } - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - - half3 mainLightDir = mainLight.direction + inputData.normalWS * normal; - half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering ); - half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * mainTranslucency * strength; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 lightDir = light.direction + inputData.normalWS * normal; - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering ); - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * translucency * strength; - } - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_FoliageTexture = IN.ase_texcoord2.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_FoliageTexture = IN.ase_texcoord2.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4 = v.vertex; - o.ase_texcoord5.xy = v.texcoord0.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord5.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 lerpResult11 = lerp( _ColorTop , _ColorBottom , saturate( ( ( IN.ase_texcoord4.xyz.y + _ColorBottomLevel ) * ( _ColorBottomMaskFade * 2 ) ) )); - float2 uv_FoliageTexture = IN.ase_texcoord5.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - float3 BaseColor = ( lerpResult11 * tex2DNode12 ).rgb; - float3 Emission = 0; - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2 = v.vertex; - o.ase_texcoord3.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord3.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 lerpResult11 = lerp( _ColorTop , _ColorBottom , saturate( ( ( IN.ase_texcoord2.xyz.y + _ColorBottomLevel ) * ( _ColorBottomMaskFade * 2 ) ) )); - float2 uv_FoliageTexture = IN.ase_texcoord3.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - float3 BaseColor = ( lerpResult11 * tex2DNode12 ).rgb; - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _NormalTexture; - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_NormalTexture = IN.ase_texcoord4.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - - float2 uv_FoliageTexture = IN.ase_texcoord4.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - float3 Normal = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0 ); - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - return half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - sampler2D _NormalTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8 = v.vertex; - o.ase_texcoord9.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord9.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float4 lerpResult11 = lerp( _ColorTop , _ColorBottom , saturate( ( ( IN.ase_texcoord8.xyz.y + _ColorBottomLevel ) * ( _ColorBottomMaskFade * 2 ) ) )); - float2 uv_FoliageTexture = IN.ase_texcoord9.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - float2 uv_NormalTexture = IN.ase_texcoord9.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - - - float3 BaseColor = ( lerpResult11 * tex2DNode12 ).rgb; - float3 Normal = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0 ); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = 0; - float Smoothness = _Smoothness; - float Occlusion = 1; - float Alpha = tex2DNode12.a; - float AlphaClipThreshold = _AlphaClip; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_FoliageTexture = IN.ase_texcoord.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - surfaceDescription.Alpha = tex2DNode12.a; - surfaceDescription.AlphaClipThreshold = _AlphaClip; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTop; - float4 _ColorBottom; - float4 _FoliageTexture_ST; - float4 _NormalTexture_ST; - float _ColorBottomLevel; - float _ColorBottomMaskFade; - float _Smoothness; - float _AlphaClip; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _FoliageTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_FoliageTexture = IN.ase_texcoord.xy * _FoliageTexture_ST.xy + _FoliageTexture_ST.zw; - float4 tex2DNode12 = tex2D( _FoliageTexture, uv_FoliageTexture ); - - - surfaceDescription.Alpha = tex2DNode12.a; - surfaceDescription.AlphaClipThreshold = _AlphaClip; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.RangedFloatNode;1;-1696.424,144.8283;Inherit;False;Property;_ColorBottomLevel;Color Bottom Level;5;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;2;-1720.808,229.4585;Inherit;False;Property;_ColorBottomMaskFade;Color Bottom Mask Fade;6;0;Create;True;0;0;0;False;0;False;0;0;-1;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.PosVertexDataNode;3;-1695.34,2.239834;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleAddOpNode;5;-1421.231,98.73718;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ScaleNode;6;-1453.344,231.3355;Inherit;False;2;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;7;-1272.067,94.64922;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;10;-973.818,188.5926;Inherit;True;Property;_FoliageTexture;Foliage Texture;1;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.ColorNode;4;-965.312,-281.8197;Inherit;False;Property;_ColorTop;Color Top;3;0;Create;True;0;0;0;False;0;False;1,1,1,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;8;-970.312,-81.81989;Inherit;False;Property;_ColorBottom;Color Bottom;4;0;Create;True;0;0;0;False;0;False;1,1,1,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TexturePropertyNode;16;-753.239,442.1195;Inherit;True;Property;_NormalTexture;Normal Texture;2;0;Create;True;0;0;0;False;0;False;None;None;False;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SaturateNode;9;-966.385,95.41502;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;17;-523.761,443.8805;Inherit;True;Property;_TextureSample0;Texture Sample 0;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;11;-642.312,-23.82;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;12;-746.34,191.3536;Inherit;True;Property;_TextureSample1;Texture Sample 1;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;20;-100.0168,142.1;Inherit;False;Property;_AlphaClip;Alpha Clip;8;0;Create;True;0;0;0;False;0;False;0.35;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.UnpackScaleNormalNode;18;-203.5,448.5;Inherit;False;Tangent;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;14;-238.7034,630.4377;Inherit;False;Property;_Smoothness;Smoothness;7;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;21;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;22;382,-18;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;Polyart/Dreamscape Foliage Billboard;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;;0;0;Standard;41;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;23;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;24;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;25;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;26;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;27;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;28;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;29;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;30;382,-18;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;13;-157.812,-30.65041;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -WireConnection;5;0;3;2 -WireConnection;5;1;1;0 -WireConnection;6;0;2;0 -WireConnection;7;0;5;0 -WireConnection;7;1;6;0 -WireConnection;9;0;7;0 -WireConnection;17;0;16;0 -WireConnection;11;0;4;0 -WireConnection;11;1;8;0 -WireConnection;11;2;9;0 -WireConnection;12;0;10;0 -WireConnection;18;0;17;0 -WireConnection;22;0;13;0 -WireConnection;22;1;18;0 -WireConnection;22;4;14;0 -WireConnection;22;6;12;4 -WireConnection;22;7;20;0 -WireConnection;13;0;11;0 -WireConnection;13;1;12;0 -ASEEND*/ -//CHKSM=5B4F922FCBDAC2108D9421515B0B02DA4F0885B9 \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader.meta deleted file mode 100644 index 4d6573969..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_FoliageBillboard.shader.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: b28029cc52e10a0419b31f0b9b1bbc2d -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader deleted file mode 100644 index 6738be3d6..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader +++ /dev/null @@ -1,3263 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape Masked Lit" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin]_ColorTint("Color Tint", Color) = (1,1,1,0) - _ColorTexture("Color Texture", 2D) = "white" {} - _Smoothness("Smoothness", Range( 0 , 1)) = 0.15 - [ASEEnd]_AlphaCutoff("Alpha Cutoff", Range( 0 , 1)) = 0.35 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _CLUSTERED_RENDERING - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_ColorTexture = IN.ase_texcoord8.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float3 BaseColor = ( _ColorTint * tex2DNode1 ).rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = 0; - float Smoothness = _Smoothness; - float Occlusion = 1; - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission; - color.rgb += BaseColor * mainTransmission; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission; - color.rgb += BaseColor * transmission; - } - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - - half3 mainLightDir = mainLight.direction + inputData.normalWS * normal; - half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering ); - half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * mainTranslucency * strength; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 lightDir = light.direction + inputData.normalWS * normal; - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering ); - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * translucency * strength; - } - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_ColorTexture = IN.ase_texcoord2.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_ColorTexture = IN.ase_texcoord2.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4.xy = v.texcoord0.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_ColorTexture = IN.ase_texcoord4.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float3 BaseColor = ( _ColorTint * tex2DNode1 ).rgb; - float3 Emission = 0; - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_ColorTexture = IN.ase_texcoord2.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float3 BaseColor = ( _ColorTint * tex2DNode1 ).rgb; - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_ColorTexture = IN.ase_texcoord4.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float3 Normal = float3(0, 0, 1); - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - return half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_ColorTexture = IN.ase_texcoord8.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - float3 BaseColor = ( _ColorTint * tex2DNode1 ).rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = 0.5; - float Metallic = 0; - float Smoothness = _Smoothness; - float Occlusion = 1; - float Alpha = tex2DNode1.a; - float AlphaClipThreshold = _AlphaCutoff; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_ColorTexture = IN.ase_texcoord.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - surfaceDescription.Alpha = tex2DNode1.a; - surfaceDescription.AlphaClipThreshold = _AlphaCutoff; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorTint; - float4 _ColorTexture_ST; - float _Smoothness; - float _AlphaCutoff; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _ColorTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float2 uv_ColorTexture = IN.ase_texcoord.xy * _ColorTexture_ST.xy + _ColorTexture_ST.zw; - float4 tex2DNode1 = tex2D( _ColorTexture, uv_ColorTexture ); - - - surfaceDescription.Alpha = tex2DNode1.a; - surfaceDescription.AlphaClipThreshold = _AlphaCutoff; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.SamplerNode;1;-925.5,20;Inherit;True;Property;_ColorTexture;Color Texture;1;0;Create;True;0;0;0;False;0;False;-1;None;594ed1a899dc01d488c847b35951d136;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;6;-839.5,-185;Inherit;False;Property;_ColorTint;Color Tint;0;0;Create;True;0;0;0;False;0;False;1,1,1,0;0.3717856,0.6603774,0.04049486,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;5;-453.5,414;Inherit;False;Property;_AlphaCutoff;Alpha Cutoff;3;0;Create;True;0;0;0;False;0;False;0.35;0.35;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;4;-455.5,333;Inherit;False;Property;_Smoothness;Smoothness;2;0;Create;True;0;0;0;False;0;False;0.15;0.164;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;8;-435.5,1;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;9;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;10;-1,0;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;Polyart/Dreamscape Masked Lit;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;;0;0;Standard;41;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;11;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;12;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;13;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;14;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;15;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;16;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;17;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;18;-1,0;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -WireConnection;8;0;6;0 -WireConnection;8;1;1;0 -WireConnection;10;0;8;0 -WireConnection;10;4;4;0 -WireConnection;10;6;1;4 -WireConnection;10;7;5;0 -ASEEND*/ -//CHKSM=A22EFF84A9B3799125142D9FDABCBF6B41AEF5BC \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader.meta deleted file mode 100644 index 0c04fe932..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Masked_Lit.shader.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 09acca735931207469ebf2183e339e6a -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader deleted file mode 100644 index 2283f5c40..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader +++ /dev/null @@ -1,3398 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape Surface" -{ - Properties - { - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [ASEBegin][Header(MAIN)]_AlbedoTint("Albedo Tint", Color) = (1,1,1,0) - _AlbedoTexture("Albedo Texture", 2D) = "white" {} - _NormalTexture("Normal Texture", 2D) = "bump" {} - _NormalIntensity("Normal Intensity", Range( -2 , 2)) = 1 - _MetallicMultiplier("Metallic Multiplier", Range( 0 , 2)) = 0 - _MetallicTexture("Metallic Texture", 2D) = "black" {} - _SmoothnessMultiplier("Smoothness Multiplier", Range( -2 , 2)) = 1 - _SmoothnessTexture("Smoothness Texture", 2D) = "white" {} - _EmissiveMultiplier("Emissive Multiplier", Range( 0 , 20)) = 0 - [ASEEnd]_EmissiveTexture("Emissive Texture", 2D) = "black" {} - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _CLUSTERED_RENDERING - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _NormalTexture; - sampler2D _EmissiveTexture; - sampler2D _MetallicTexture; - sampler2D _SmoothnessTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_AlbedoTexture = IN.ase_texcoord8.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 vColor12 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - - float2 uv_NormalTexture = IN.ase_texcoord8.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 unpack9 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), _NormalIntensity ); - unpack9.z = lerp( 1, unpack9.z, saturate(_NormalIntensity) ); - float3 vNormal13 = unpack9; - - float2 uv_EmissiveTexture = IN.ase_texcoord8.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 vEmissive31 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - - float2 uv_MetallicTexture = IN.ase_texcoord8.xy * _MetallicTexture_ST.xy + _MetallicTexture_ST.zw; - float4 vMetallic19 = ( tex2D( _MetallicTexture, uv_MetallicTexture ) * _MetallicMultiplier ); - - float2 uv_SmoothnessTexture = IN.ase_texcoord8.xy * _SmoothnessTexture_ST.xy + _SmoothnessTexture_ST.zw; - float4 vSmoothness24 = ( ( 1.0 - tex2D( _SmoothnessTexture, uv_SmoothnessTexture ) ) * _SmoothnessMultiplier ); - - - float3 BaseColor = vColor12.rgb; - float3 Normal = vNormal13; - float3 Emission = vEmissive31.rgb; - float3 Specular = 0.5; - float Metallic = vMetallic19.r; - float Smoothness = vSmoothness24.r; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission; - color.rgb += BaseColor * mainTransmission; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission; - color.rgb += BaseColor * transmission; - } - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - - half3 mainLightDir = mainLight.direction + inputData.normalWS * normal; - half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering ); - half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * mainTranslucency * strength; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 lightDir = light.direction + inputData.normalWS * normal; - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering ); - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * translucency * strength; - } - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _EmissiveTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4.xy = v.texcoord0.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_AlbedoTexture = IN.ase_texcoord4.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 vColor12 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - - float2 uv_EmissiveTexture = IN.ase_texcoord4.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 vEmissive31 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - - - float3 BaseColor = vColor12.rgb; - float3 Emission = vEmissive31.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_AlbedoTexture = IN.ase_texcoord2.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 vColor12 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - - - float3 BaseColor = vColor12.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _NormalTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_NormalTexture = IN.ase_texcoord4.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 unpack9 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), _NormalIntensity ); - unpack9.z = lerp( 1, unpack9.z, saturate(_NormalIntensity) ); - float3 vNormal13 = unpack9; - - - float3 Normal = vNormal13; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - return half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _NormalTexture; - sampler2D _EmissiveTexture; - sampler2D _MetallicTexture; - sampler2D _SmoothnessTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_AlbedoTexture = IN.ase_texcoord8.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 vColor12 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - - float2 uv_NormalTexture = IN.ase_texcoord8.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 unpack9 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), _NormalIntensity ); - unpack9.z = lerp( 1, unpack9.z, saturate(_NormalIntensity) ); - float3 vNormal13 = unpack9; - - float2 uv_EmissiveTexture = IN.ase_texcoord8.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 vEmissive31 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - - float2 uv_MetallicTexture = IN.ase_texcoord8.xy * _MetallicTexture_ST.xy + _MetallicTexture_ST.zw; - float4 vMetallic19 = ( tex2D( _MetallicTexture, uv_MetallicTexture ) * _MetallicMultiplier ); - - float2 uv_SmoothnessTexture = IN.ase_texcoord8.xy * _SmoothnessTexture_ST.xy + _SmoothnessTexture_ST.zw; - float4 vSmoothness24 = ( ( 1.0 - tex2D( _SmoothnessTexture, uv_SmoothnessTexture ) ) * _SmoothnessMultiplier ); - - - float3 BaseColor = vColor12.rgb; - float3 Normal = vNormal13; - float3 Emission = vEmissive31.rgb; - float3 Specular = 0.5; - float Metallic = vMetallic19.r; - float Smoothness = vSmoothness24.r; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _AlbedoTexture_ST; - float4 _NormalTexture_ST; - float4 _EmissiveTexture_ST; - float4 _MetallicTexture_ST; - float4 _SmoothnessTexture_ST; - float _NormalIntensity; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _SmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.TexturePropertyNode;20;-1556.385,962.6965;Inherit;True;Property;_SmoothnessTexture;Smoothness Texture;7;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.TexturePropertyNode;1;-1501.494,-162.2611;Inherit;True;Property;_AlbedoTexture;Albedo Texture;1;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.TexturePropertyNode;14;-1511.541,540.21;Inherit;True;Property;_MetallicTexture;Metallic Texture;5;0;Create;True;0;0;0;False;0;False;None;None;False;black;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.TexturePropertyNode;7;-1507.127,153.3116;Inherit;True;Property;_NormalTexture;Normal Texture;2;0;Create;True;0;0;0;False;0;False;None;None;False;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.TexturePropertyNode;26;-1511.338,1370.093;Inherit;True;Property;_EmissiveTexture;Emissive Texture;9;0;Create;True;0;0;0;False;0;False;None;None;False;black;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SamplerNode;21;-1296.454,963.0465;Inherit;True;Property;_TextureSample3;Texture Sample 3;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;15;-1269.61,540.5599;Inherit;True;Property;_TextureSample4;Texture Sample 4;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;8;-1270.118,153.3407;Inherit;True;Property;_TextureSample1;Texture Sample 1;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;27;-1269.406,1370.443;Inherit;True;Property;_TextureSample2;Texture Sample 2;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;10;-1249.639,348.1309;Inherit;False;Property;_NormalIntensity;Normal Intensity;3;0;Create;True;0;0;0;False;0;False;1;0;-2;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;2;-1261.117,-162.2169;Inherit;True;Property;_TextureSample0;Texture Sample 0;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;17;-1246.61,735.5596;Inherit;False;Property;_MetallicMultiplier;Metallic Multiplier;4;0;Create;True;0;0;0;False;0;False;0;0;0;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;22;-1274.454,1167.047;Inherit;False;Property;_SmoothnessMultiplier;Smoothness Multiplier;6;0;Create;True;0;0;0;False;0;False;1;0;-2;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;38;-978.9292,968.4904;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.ColorNode;3;-1178.494,-345.261;Inherit;False;Property;_AlbedoTint;Albedo Tint;0;0;Create;True;0;0;0;False;1;Header(MAIN);False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;29;-1246.406,1565.442;Inherit;False;Property;_EmissiveMultiplier;Emissive Multiplier;8;0;Create;True;0;0;0;False;0;False;0;0;0;20;0;1;FLOAT;0 -Node;AmplifyShaderEditor.UnpackScaleNormalNode;9;-936.6394,159.131;Inherit;False;Tangent;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;-846.4939,-274.261;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;16;-929.5409,546.21;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-806.3855,965.6965;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-929.3376,1376.093;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;19;-651.0247,541.2349;Inherit;False;vMetallic;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;31;-674.2704,1371.098;Inherit;False;vEmissive;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;12;-698.8083,-278.5661;Inherit;False;vColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;13;-643.4674,153.8047;Inherit;False;vNormal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;24;-555.884,961.1329;Inherit;False;vSmoothness;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;34;-322.7171,545.1085;Inherit;False;31;vEmissive;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;33;-320.7171,469.1085;Inherit;False;13;vNormal;1;0;OBJECT;;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.GetLocalVarNode;32;-319.7171,390.1085;Inherit;False;12;vColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;35;-322.7171,622.1085;Inherit;False;19;vMetallic;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;36;-322.7171,696.1085;Inherit;False;24;vSmoothness;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.CommentaryNode;6;-1551.494,-395.261;Inherit;False;1117;458.0442;;0;Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;11;-1557.127,103.3116;Inherit;False;1123.488;335.8192;;0;Normal;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;18;-1561.541,490.21;Inherit;False;1124.1;344.1497;;0;Metallic;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;30;-1561.338,1320.093;Inherit;False;1119.638;354.0339;;0;Emissive;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;25;-1568.385,903.6965;Inherit;False;1230.501;368.35;;0;Smooth;1,1,1,1;0;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;39;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;40;4.575642,397.8073;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;Polyart/Dreamscape Surface;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;;0;0;Standard;41;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;41;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;42;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;43;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;44;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;45;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;46;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;47;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;48;4.575642,397.8073;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -WireConnection;21;0;20;0 -WireConnection;15;0;14;0 -WireConnection;8;0;7;0 -WireConnection;27;0;26;0 -WireConnection;2;0;1;0 -WireConnection;38;0;21;0 -WireConnection;9;0;8;0 -WireConnection;9;1;10;0 -WireConnection;4;0;3;0 -WireConnection;4;1;2;0 -WireConnection;16;0;15;0 -WireConnection;16;1;17;0 -WireConnection;23;0;38;0 -WireConnection;23;1;22;0 -WireConnection;28;0;27;0 -WireConnection;28;1;29;0 -WireConnection;19;0;16;0 -WireConnection;31;0;28;0 -WireConnection;12;0;4;0 -WireConnection;13;0;9;0 -WireConnection;24;0;23;0 -WireConnection;40;0;32;0 -WireConnection;40;1;33;0 -WireConnection;40;2;34;0 -WireConnection;40;3;35;0 -WireConnection;40;4;36;0 -ASEEND*/ -//CHKSM=20E3FA41521ED1A6E5512ECAFC5F666585DCE740 \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader.meta deleted file mode 100644 index d78bba36c..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface.shader.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 92a542d49c0d1d0478c243e758b81084 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader deleted file mode 100644 index d1ece6a3c..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader +++ /dev/null @@ -1,3857 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape Surface Coverage" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [ASEBegin][Header(MAIN)]_AlbedoTint("Albedo Tint", Color) = (1,1,1,0) - _AlbedoTexture("Albedo Texture", 2D) = "white" {} - _NormalTexture("Normal Texture", 2D) = "bump" {} - _SmoothnessMultiplier("Smoothness Multiplier", Range( -2 , 2)) = 1 - _SmoothnessTexture("Smoothness Texture", 2D) = "white" {} - _MetallicMultiplier("Metallic Multiplier", Range( 0 , 2)) = 0 - _MetallicTexture("Metallic Texture", 2D) = "black" {} - _EmissiveMultiplier("Emissive Multiplier", Range( 0 , 20)) = 0 - _EmissiveTexture("Emissive Texture", 2D) = "black" {} - [Header(GROUND COVERAGE)][Toggle(_GROUNDCOVERON_ON)] _GroundCoverON("Ground Cover ON", Float) = 0 - [Toggle(_BLENDNORMALSON_ON)] _BlendnormalsON("Blend normals ON", Float) = 1 - _CoverageMask("Coverage Mask", 2D) = "white" {} - _CoverageContrast("Coverage Contrast", Range( 0.1 , 1)) = 0.25 - _CoverageLevel("Coverage Level", Float) = 0 - _CoverageFade("Coverage Fade", Range( -1 , 1)) = 0.5058824 - _CoverageTint("Coverage Tint", Color) = (1,1,1,0) - _CoverageTexture("Coverage Texture", 2D) = "white" {} - _CoverageMetallic("Coverage Metallic", Float) = 0 - _CoverageSmoothnessTexture("Coverage Smoothness Texture", 2D) = "white" {} - _CoverageSmoothnessMultiplier("Coverage Smoothness Multiplier", Range( -2 , 2)) = 1 - _CoverageNormalTexture("Coverage Normal Texture", 2D) = "bump" {} - [ASEEnd]_CoverageThickness("Coverage Thickness", Range( 0 , 1)) = 1 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _CLUSTERED_RENDERING - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_FRAG_WORLD_BITANGENT - #pragma shader_feature _GROUNDCOVERON_ON - #pragma shader_feature _BLENDNORMALSON_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _CoverageTexture; - sampler2D _CoverageMask; - sampler2D _NormalTexture; - sampler2D _CoverageNormalTexture; - sampler2D _EmissiveTexture; - sampler2D _MetallicTexture; - sampler2D _SmoothnessTexture; - sampler2D _CoverageSmoothnessTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 PerturbNormal107_g4( float3 surf_pos, float3 surf_norm, float height, float scale ) - { - // "Bump Mapping Unparametrized Surfaces on the GPU" by Morten S. Mikkelsen - float3 vSigmaS = ddx( surf_pos ); - float3 vSigmaT = ddy( surf_pos ); - float3 vN = surf_norm; - float3 vR1 = cross( vSigmaT , vN ); - float3 vR2 = cross( vN , vSigmaS ); - float fDet = dot( vSigmaS , vR1 ); - float dBs = ddx( height ); - float dBt = ddy( height ); - float3 vSurfGrad = scale * 0.05 * sign( fDet ) * ( dBs * vR1 + dBt * vR2 ); - return normalize ( abs( fDet ) * vN - vSurfGrad ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_AlbedoTexture = IN.ase_texcoord8.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 temp_output_5_0 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - float2 uv_CoverageTexture = IN.ase_texcoord8.xy * _CoverageTexture_ST.xy + _CoverageTexture_ST.zw; - float2 uv_CoverageMask = IN.ase_texcoord8.xy * _CoverageMask_ST.xy + _CoverageMask_ST.zw; - float saferPower22 = abs( ( ( ( WorldNormal.y + _CoverageLevel ) * ( _CoverageFade * 5 ) ) + tex2D( _CoverageMask, uv_CoverageMask ).r ) ); - float vCoverage27 = saturate( pow( saferPower22 , ( _CoverageContrast * 15 ) ) ); - float4 lerpResult26 = lerp( temp_output_5_0 , ( _CoverageTint * tex2D( _CoverageTexture, uv_CoverageTexture ) ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch1 = lerpResult26; - #else - float4 staticSwitch1 = temp_output_5_0; - #endif - - float2 uv_NormalTexture = IN.ase_texcoord8.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 tex2DNode76 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0f ); - float2 uv_CoverageNormalTexture = IN.ase_texcoord8.xy * _CoverageNormalTexture_ST.xy + _CoverageNormalTexture_ST.zw; - float3 tex2DNode79 = UnpackNormalScale( tex2D( _CoverageNormalTexture, uv_CoverageNormalTexture ), 1.0f ); - #ifdef _BLENDNORMALSON_ON - float3 staticSwitch80 = BlendNormal( tex2DNode76 , tex2DNode79 ); - #else - float3 staticSwitch80 = tex2DNode79; - #endif - float3 surf_pos107_g4 = WorldPosition; - float3 surf_norm107_g4 = WorldNormal; - float height107_g4 = ( vCoverage27 * ( _CoverageThickness * 8 ) ); - float scale107_g4 = 1.0; - float3 localPerturbNormal107_g4 = PerturbNormal107_g4( surf_pos107_g4 , surf_norm107_g4 , height107_g4 , scale107_g4 ); - float3x3 ase_worldToTangent = float3x3(WorldTangent,WorldBiTangent,WorldNormal); - float3 worldToTangentDir42_g4 = mul( ase_worldToTangent, localPerturbNormal107_g4); - float3 lerpResult83 = lerp( tex2DNode76 , BlendNormal( staticSwitch80 , worldToTangentDir42_g4 ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float3 staticSwitch81 = lerpResult83; - #else - float3 staticSwitch81 = tex2DNode76; - #endif - float3 vNormal82 = staticSwitch81; - - float2 uv_EmissiveTexture = IN.ase_texcoord8.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 temp_output_91_0 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - float4 temp_cast_1 = (0.0).xxxx; - float4 lerpResult93 = lerp( temp_output_91_0 , temp_cast_1 , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch94 = lerpResult93; - #else - float4 staticSwitch94 = temp_output_91_0; - #endif - float4 vEmissive95 = staticSwitch94; - - float2 uv_MetallicTexture = IN.ase_texcoord8.xy * _MetallicTexture_ST.xy + _MetallicTexture_ST.zw; - float4 temp_output_68_0 = ( tex2D( _MetallicTexture, uv_MetallicTexture ) * _MetallicMultiplier ); - float4 temp_cast_3 = (_CoverageMetallic).xxxx; - float4 lerpResult69 = lerp( temp_output_68_0 , temp_cast_3 , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch70 = lerpResult69; - #else - float4 staticSwitch70 = temp_output_68_0; - #endif - float4 vMetallic72 = staticSwitch70; - - float2 uv_SmoothnessTexture = IN.ase_texcoord8.xy * _SmoothnessTexture_ST.xy + _SmoothnessTexture_ST.zw; - float4 temp_output_48_0 = ( ( 1.0 - tex2D( _SmoothnessTexture, uv_SmoothnessTexture ) ) * _SmoothnessMultiplier ); - float2 uv_CoverageSmoothnessTexture = IN.ase_texcoord8.xy * _CoverageSmoothnessTexture_ST.xy + _CoverageSmoothnessTexture_ST.zw; - float4 lerpResult52 = lerp( temp_output_48_0 , ( ( 1.0 - tex2D( _CoverageSmoothnessTexture, uv_CoverageSmoothnessTexture ) ) * _CoverageSmoothnessMultiplier ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch49 = lerpResult52; - #else - float4 staticSwitch49 = temp_output_48_0; - #endif - float4 vSmoothness51 = staticSwitch49; - - - float3 BaseColor = staticSwitch1.rgb; - float3 Normal = vNormal82; - float3 Emission = vEmissive95.rgb; - float3 Specular = 0.5; - float Metallic = vMetallic72.r; - float Smoothness = vSmoothness51.r; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission; - color.rgb += BaseColor * mainTransmission; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission; - color.rgb += BaseColor * transmission; - } - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - - half3 mainLightDir = mainLight.direction + inputData.normalWS * normal; - half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering ); - half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * mainTranslucency * strength; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 lightDir = light.direction + inputData.normalWS * normal; - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering ); - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * translucency * strength; - } - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - - - float Alpha = 1; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #pragma shader_feature _GROUNDCOVERON_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _CoverageTexture; - sampler2D _CoverageMask; - sampler2D _EmissiveTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - o.ase_texcoord5.xyz = ase_worldNormal; - - o.ase_texcoord4.xy = v.texcoord0.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - o.ase_texcoord5.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_AlbedoTexture = IN.ase_texcoord4.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 temp_output_5_0 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - float2 uv_CoverageTexture = IN.ase_texcoord4.xy * _CoverageTexture_ST.xy + _CoverageTexture_ST.zw; - float3 ase_worldNormal = IN.ase_texcoord5.xyz; - float2 uv_CoverageMask = IN.ase_texcoord4.xy * _CoverageMask_ST.xy + _CoverageMask_ST.zw; - float saferPower22 = abs( ( ( ( ase_worldNormal.y + _CoverageLevel ) * ( _CoverageFade * 5 ) ) + tex2D( _CoverageMask, uv_CoverageMask ).r ) ); - float vCoverage27 = saturate( pow( saferPower22 , ( _CoverageContrast * 15 ) ) ); - float4 lerpResult26 = lerp( temp_output_5_0 , ( _CoverageTint * tex2D( _CoverageTexture, uv_CoverageTexture ) ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch1 = lerpResult26; - #else - float4 staticSwitch1 = temp_output_5_0; - #endif - - float2 uv_EmissiveTexture = IN.ase_texcoord4.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 temp_output_91_0 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - float4 temp_cast_1 = (0.0).xxxx; - float4 lerpResult93 = lerp( temp_output_91_0 , temp_cast_1 , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch94 = lerpResult93; - #else - float4 staticSwitch94 = temp_output_91_0; - #endif - float4 vEmissive95 = staticSwitch94; - - - float3 BaseColor = staticSwitch1.rgb; - float3 Emission = vEmissive95.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #pragma shader_feature _GROUNDCOVERON_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _CoverageTexture; - sampler2D _CoverageMask; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - o.ase_texcoord3.xyz = ase_worldNormal; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - o.ase_texcoord3.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_AlbedoTexture = IN.ase_texcoord2.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 temp_output_5_0 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - float2 uv_CoverageTexture = IN.ase_texcoord2.xy * _CoverageTexture_ST.xy + _CoverageTexture_ST.zw; - float3 ase_worldNormal = IN.ase_texcoord3.xyz; - float2 uv_CoverageMask = IN.ase_texcoord2.xy * _CoverageMask_ST.xy + _CoverageMask_ST.zw; - float saferPower22 = abs( ( ( ( ase_worldNormal.y + _CoverageLevel ) * ( _CoverageFade * 5 ) ) + tex2D( _CoverageMask, uv_CoverageMask ).r ) ); - float vCoverage27 = saturate( pow( saferPower22 , ( _CoverageContrast * 15 ) ) ); - float4 lerpResult26 = lerp( temp_output_5_0 , ( _CoverageTint * tex2D( _CoverageTexture, uv_CoverageTexture ) ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch1 = lerpResult26; - #else - float4 staticSwitch1 = temp_output_5_0; - #endif - - - float3 BaseColor = staticSwitch1.rgb; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_TANGENT - #pragma shader_feature _GROUNDCOVERON_ON - #pragma shader_feature _BLENDNORMALSON_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _NormalTexture; - sampler2D _CoverageNormalTexture; - sampler2D _CoverageMask; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - float3 PerturbNormal107_g4( float3 surf_pos, float3 surf_norm, float height, float scale ) - { - // "Bump Mapping Unparametrized Surfaces on the GPU" by Morten S. Mikkelsen - float3 vSigmaS = ddx( surf_pos ); - float3 vSigmaT = ddy( surf_pos ); - float3 vN = surf_norm; - float3 vR1 = cross( vSigmaT , vN ); - float3 vR2 = cross( vN , vSigmaS ); - float fDet = dot( vSigmaS , vR1 ); - float dBs = ddx( height ); - float dBt = ddy( height ); - float3 vSurfGrad = scale * 0.05 * sign( fDet ) * ( dBs * vR1 + dBt * vR2 ); - return normalize ( abs( fDet ) * vN - vSurfGrad ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - float3 ase_worldTangent = TransformObjectToWorldDir(v.ase_tangent.xyz); - float ase_vertexTangentSign = v.ase_tangent.w * ( unity_WorldTransformParams.w >= 0.0 ? 1.0 : -1.0 ); - float3 ase_worldBitangent = cross( ase_worldNormal, ase_worldTangent ) * ase_vertexTangentSign; - o.ase_texcoord5.xyz = ase_worldBitangent; - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - o.ase_texcoord5.w = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_NormalTexture = IN.ase_texcoord4.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 tex2DNode76 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0f ); - float2 uv_CoverageNormalTexture = IN.ase_texcoord4.xy * _CoverageNormalTexture_ST.xy + _CoverageNormalTexture_ST.zw; - float3 tex2DNode79 = UnpackNormalScale( tex2D( _CoverageNormalTexture, uv_CoverageNormalTexture ), 1.0f ); - #ifdef _BLENDNORMALSON_ON - float3 staticSwitch80 = BlendNormal( tex2DNode76 , tex2DNode79 ); - #else - float3 staticSwitch80 = tex2DNode79; - #endif - float3 surf_pos107_g4 = WorldPosition; - float3 surf_norm107_g4 = WorldNormal; - float2 uv_CoverageMask = IN.ase_texcoord4.xy * _CoverageMask_ST.xy + _CoverageMask_ST.zw; - float saferPower22 = abs( ( ( ( WorldNormal.y + _CoverageLevel ) * ( _CoverageFade * 5 ) ) + tex2D( _CoverageMask, uv_CoverageMask ).r ) ); - float vCoverage27 = saturate( pow( saferPower22 , ( _CoverageContrast * 15 ) ) ); - float height107_g4 = ( vCoverage27 * ( _CoverageThickness * 8 ) ); - float scale107_g4 = 1.0; - float3 localPerturbNormal107_g4 = PerturbNormal107_g4( surf_pos107_g4 , surf_norm107_g4 , height107_g4 , scale107_g4 ); - float3 ase_worldBitangent = IN.ase_texcoord5.xyz; - float3x3 ase_worldToTangent = float3x3(WorldTangent.xyz,ase_worldBitangent,WorldNormal); - float3 worldToTangentDir42_g4 = mul( ase_worldToTangent, localPerturbNormal107_g4); - float3 lerpResult83 = lerp( tex2DNode76 , BlendNormal( staticSwitch80 , worldToTangentDir42_g4 ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float3 staticSwitch81 = lerpResult83; - #else - float3 staticSwitch81 = tex2DNode76; - #endif - float3 vNormal82 = staticSwitch81; - - - float3 Normal = vNormal82; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - return half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #define ASE_NEEDS_FRAG_WORLD_NORMAL - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_WORLD_TANGENT - #define ASE_NEEDS_FRAG_WORLD_BITANGENT - #pragma shader_feature _GROUNDCOVERON_ON - #pragma shader_feature _BLENDNORMALSON_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _AlbedoTexture; - sampler2D _CoverageTexture; - sampler2D _CoverageMask; - sampler2D _NormalTexture; - sampler2D _CoverageNormalTexture; - sampler2D _EmissiveTexture; - sampler2D _MetallicTexture; - sampler2D _SmoothnessTexture; - sampler2D _CoverageSmoothnessTexture; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - float3 PerturbNormal107_g4( float3 surf_pos, float3 surf_norm, float height, float scale ) - { - // "Bump Mapping Unparametrized Surfaces on the GPU" by Morten S. Mikkelsen - float3 vSigmaS = ddx( surf_pos ); - float3 vSigmaT = ddy( surf_pos ); - float3 vN = surf_norm; - float3 vR1 = cross( vSigmaT , vN ); - float3 vR2 = cross( vN , vSigmaS ); - float fDet = dot( vSigmaS , vR1 ); - float dBs = ddx( height ); - float dBt = ddy( height ); - float3 vSurfGrad = scale * 0.05 * sign( fDet ) * ( dBs * vR1 + dBt * vR2 ); - return normalize ( abs( fDet ) * vN - vSurfGrad ); - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.ase_texcoord8.xy = v.texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_AlbedoTexture = IN.ase_texcoord8.xy * _AlbedoTexture_ST.xy + _AlbedoTexture_ST.zw; - float4 temp_output_5_0 = ( _AlbedoTint * tex2D( _AlbedoTexture, uv_AlbedoTexture ) ); - float2 uv_CoverageTexture = IN.ase_texcoord8.xy * _CoverageTexture_ST.xy + _CoverageTexture_ST.zw; - float2 uv_CoverageMask = IN.ase_texcoord8.xy * _CoverageMask_ST.xy + _CoverageMask_ST.zw; - float saferPower22 = abs( ( ( ( WorldNormal.y + _CoverageLevel ) * ( _CoverageFade * 5 ) ) + tex2D( _CoverageMask, uv_CoverageMask ).r ) ); - float vCoverage27 = saturate( pow( saferPower22 , ( _CoverageContrast * 15 ) ) ); - float4 lerpResult26 = lerp( temp_output_5_0 , ( _CoverageTint * tex2D( _CoverageTexture, uv_CoverageTexture ) ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch1 = lerpResult26; - #else - float4 staticSwitch1 = temp_output_5_0; - #endif - - float2 uv_NormalTexture = IN.ase_texcoord8.xy * _NormalTexture_ST.xy + _NormalTexture_ST.zw; - float3 tex2DNode76 = UnpackNormalScale( tex2D( _NormalTexture, uv_NormalTexture ), 1.0f ); - float2 uv_CoverageNormalTexture = IN.ase_texcoord8.xy * _CoverageNormalTexture_ST.xy + _CoverageNormalTexture_ST.zw; - float3 tex2DNode79 = UnpackNormalScale( tex2D( _CoverageNormalTexture, uv_CoverageNormalTexture ), 1.0f ); - #ifdef _BLENDNORMALSON_ON - float3 staticSwitch80 = BlendNormal( tex2DNode76 , tex2DNode79 ); - #else - float3 staticSwitch80 = tex2DNode79; - #endif - float3 surf_pos107_g4 = WorldPosition; - float3 surf_norm107_g4 = WorldNormal; - float height107_g4 = ( vCoverage27 * ( _CoverageThickness * 8 ) ); - float scale107_g4 = 1.0; - float3 localPerturbNormal107_g4 = PerturbNormal107_g4( surf_pos107_g4 , surf_norm107_g4 , height107_g4 , scale107_g4 ); - float3x3 ase_worldToTangent = float3x3(WorldTangent,WorldBiTangent,WorldNormal); - float3 worldToTangentDir42_g4 = mul( ase_worldToTangent, localPerturbNormal107_g4); - float3 lerpResult83 = lerp( tex2DNode76 , BlendNormal( staticSwitch80 , worldToTangentDir42_g4 ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float3 staticSwitch81 = lerpResult83; - #else - float3 staticSwitch81 = tex2DNode76; - #endif - float3 vNormal82 = staticSwitch81; - - float2 uv_EmissiveTexture = IN.ase_texcoord8.xy * _EmissiveTexture_ST.xy + _EmissiveTexture_ST.zw; - float4 temp_output_91_0 = ( tex2D( _EmissiveTexture, uv_EmissiveTexture ) * _EmissiveMultiplier ); - float4 temp_cast_1 = (0.0).xxxx; - float4 lerpResult93 = lerp( temp_output_91_0 , temp_cast_1 , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch94 = lerpResult93; - #else - float4 staticSwitch94 = temp_output_91_0; - #endif - float4 vEmissive95 = staticSwitch94; - - float2 uv_MetallicTexture = IN.ase_texcoord8.xy * _MetallicTexture_ST.xy + _MetallicTexture_ST.zw; - float4 temp_output_68_0 = ( tex2D( _MetallicTexture, uv_MetallicTexture ) * _MetallicMultiplier ); - float4 temp_cast_3 = (_CoverageMetallic).xxxx; - float4 lerpResult69 = lerp( temp_output_68_0 , temp_cast_3 , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch70 = lerpResult69; - #else - float4 staticSwitch70 = temp_output_68_0; - #endif - float4 vMetallic72 = staticSwitch70; - - float2 uv_SmoothnessTexture = IN.ase_texcoord8.xy * _SmoothnessTexture_ST.xy + _SmoothnessTexture_ST.zw; - float4 temp_output_48_0 = ( ( 1.0 - tex2D( _SmoothnessTexture, uv_SmoothnessTexture ) ) * _SmoothnessMultiplier ); - float2 uv_CoverageSmoothnessTexture = IN.ase_texcoord8.xy * _CoverageSmoothnessTexture_ST.xy + _CoverageSmoothnessTexture_ST.zw; - float4 lerpResult52 = lerp( temp_output_48_0 , ( ( 1.0 - tex2D( _CoverageSmoothnessTexture, uv_CoverageSmoothnessTexture ) ) * _CoverageSmoothnessMultiplier ) , vCoverage27); - #ifdef _GROUNDCOVERON_ON - float4 staticSwitch49 = lerpResult52; - #else - float4 staticSwitch49 = temp_output_48_0; - #endif - float4 vSmoothness51 = staticSwitch49; - - - float3 BaseColor = staticSwitch1.rgb; - float3 Normal = vNormal82; - float3 Emission = vEmissive95.rgb; - float3 Specular = 0.5; - float Metallic = vMetallic72.r; - float Smoothness = vSmoothness51.r; - float Occlusion = 1; - float Alpha = 1; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _EMISSION - #define _NORMALMAP 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _AlbedoTint; - float4 _SmoothnessTexture_ST; - float4 _MetallicTexture_ST; - float4 _EmissiveTexture_ST; - float4 _CoverageSmoothnessTexture_ST; - float4 _NormalTexture_ST; - float4 _CoverageNormalTexture_ST; - float4 _CoverageTexture_ST; - float4 _CoverageTint; - float4 _AlbedoTexture_ST; - float4 _CoverageMask_ST; - float _CoverageContrast; - float _CoverageFade; - float _CoverageLevel; - float _CoverageThickness; - float _EmissiveMultiplier; - float _MetallicMultiplier; - float _CoverageMetallic; - float _SmoothnessMultiplier; - float _CoverageSmoothnessMultiplier; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.CommentaryNode;44;-2418.556,1654.429;Inherit;False;1507.795;709.2714;Coverage masking;13;13;15;19;16;17;18;21;23;20;29;22;24;27;Coverage;0.8867577,0.4719206,0.990566,1;0;0 -Node;AmplifyShaderEditor.WorldNormalVector;19;-2311.978,1704.429;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 -Node;AmplifyShaderEditor.RangedFloatNode;15;-2368.557,1938.452;Inherit;False;Property;_CoverageFade;Coverage Fade;14;0;Create;True;0;0;0;False;0;False;0.5058824;0;-1;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;13;-2320.174,1848.822;Inherit;False;Property;_CoverageLevel;Coverage Level;13;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ScaleNode;17;-2104.493,1942.329;Inherit;False;5;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;16;-2070.979,1803.731;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;18;-1919.815,1803.643;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;21;-2064.882,2047.426;Inherit;True;Property;_CoverageMask;Coverage Mask;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;23;-2043.373,2248.701;Inherit;False;Property;_CoverageContrast;Coverage Contrast;12;0;Create;True;0;0;0;False;0;False;0.25;0;0.1;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;20;-1739.982,1804.727;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ScaleNode;29;-1772.595,2252.498;Inherit;False;15;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.PowerNode;22;-1585.374,1900.701;Inherit;False;True;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SaturateNode;24;-1406.943,1902.471;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;85;-2430.567,301.3229;Inherit;False;1916.161;775.438;Normal map blending;16;107;106;105;104;103;82;81;83;108;84;80;77;76;79;75;78;Normal;1,1,1,1;0;0 -Node;AmplifyShaderEditor.TexturePropertyNode;75;-2305.508,351.3229;Inherit;True;Property;_NormalTexture;Normal Texture;2;0;Create;True;0;0;0;False;0;False;None;None;False;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.RegisterLocalVarNode;27;-1153.761,1897.814;Inherit;False;vCoverage;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;78;-2348.567,639.6666;Inherit;True;Property;_CoverageNormalTexture;Coverage Normal Texture;20;0;Create;True;0;0;0;False;0;False;None;None;False;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.CommentaryNode;58;-463.6308,1024.188;Inherit;False;1899.281;712.6149;;14;57;54;55;56;53;47;49;52;51;45;46;48;101;102;Smoothness;0.5322179,0.6308727,0.9811321,1;0;0 -Node;AmplifyShaderEditor.RangedFloatNode;103;-2197.149,969.4607;Inherit;False;Property;_CoverageThickness;Coverage Thickness;21;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;79;-2078.557,637.6957;Inherit;True;Property;_TextureSample6;Texture Sample 6;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;76;-2068.499,351.3519;Inherit;True;Property;_TextureSample5;Texture Sample 5;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;104;-1950.042,864.7107;Inherit;False;27;vCoverage;1;0;OBJECT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;54;-418.631,1464.454;Inherit;True;Property;_CoverageSmoothnessTexture;Coverage Smoothness Texture;18;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.CommentaryNode;60;-463.8314,496.5164;Inherit;False;1869.741;446.7518;;9;72;70;69;71;68;73;64;66;61;Metallic;1,0.9475542,0.3160377,1;0;0 -Node;AmplifyShaderEditor.TexturePropertyNode;47;-450.8118,1075.188;Inherit;True;Property;_SmoothnessTexture;Smoothness Texture;4;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.CommentaryNode;96;-463.2606,-46.25594;Inherit;False;1766.723;468.769;;9;92;95;94;93;91;90;88;89;87;Emissive;0.7199869,1,0.4764151,1;0;0 -Node;AmplifyShaderEditor.ScaleNode;105;-1909.431,975.1589;Inherit;False;8;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.BlendNormalsNode;77;-1726.455,480.3697;Inherit;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;106;-1722.152,909.4607;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;46;-208.8806,1075.538;Inherit;True;Property;_TextureSample2;Texture Sample 2;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TexturePropertyNode;61;-301.0124,546.515;Inherit;True;Property;_MetallicTexture;Metallic Texture;6;0;Create;True;0;0;0;False;0;False;None;None;False;black;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.TexturePropertyNode;87;-413.2606,3.744072;Inherit;True;Property;_EmissiveTexture;Emissive Texture;8;0;Create;True;0;0;0;False;0;False;None;None;False;black;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SamplerNode;56;-105.6997,1464.803;Inherit;True;Property;_TextureSample3;Texture Sample 3;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;55;-31.69956,1654.804;Inherit;False;Property;_CoverageSmoothnessMultiplier;Coverage Smoothness Multiplier;19;0;Create;True;0;0;0;False;0;False;1;0;-2;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;80;-1511.342,633.8258;Inherit;False;Property;_BlendnormalsON;Blend normals ON;10;0;Create;True;0;0;0;False;0;False;0;1;1;True;;Toggle;2;Key0;Key1;Create;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;88;-148.3289,199.0939;Inherit;False;Property;_EmissiveMultiplier;Emissive Multiplier;7;0;Create;True;0;0;0;False;0;False;0;0;0;20;0;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;97;-2414.438,-711.7767;Inherit;False;1530.23;944.2198;Color map blending;11;26;28;5;25;6;2;8;9;3;7;1;Color;0.2311321,1,0.9215065,1;0;0 -Node;AmplifyShaderEditor.FunctionNode;107;-1534.716,910.1623;Inherit;False;Normal From Height;-1;;4;1942fe2c5f1a1f94881a33d532e4afeb;0;2;20;FLOAT;0;False;110;FLOAT;1;False;2;FLOAT3;40;FLOAT3;0 -Node;AmplifyShaderEditor.SamplerNode;89;-171.3291,4.094078;Inherit;True;Property;_TextureSample7;Texture Sample 7;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;64;-59.08107,546.8649;Inherit;True;Property;_TextureSample4;Texture Sample 4;11;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;66;-36.08094,741.8647;Inherit;False;Property;_MetallicMultiplier;Metallic Multiplier;5;0;Create;True;0;0;0;False;0;False;0;0;0;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;102;260.3224,1470.523;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;45;-35.88044,1269.538;Inherit;False;Property;_SmoothnessMultiplier;Smoothness Multiplier;3;0;Create;True;0;0;0;False;0;False;1;0;-2;2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.OneMinusNode;101;125.8173,1080.497;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;84;-1435.211,740.0283;Inherit;False;27;vCoverage;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;3;-2361.934,-478.7767;Inherit;True;Property;_AlbedoTexture;Albedo Texture;1;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;48;281.1882,1080.188;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;73;277.7107,850.284;Inherit;False;Property;_CoverageMetallic;Coverage Metallic;17;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;7;-2364.438,-4.250926;Inherit;True;Property;_CoverageTexture;Coverage Texture;16;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.GetLocalVarNode;90;181.1511,222.9539;Inherit;False;27;vCoverage;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;168.7398,9.744068;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;92;165.4627,307.5131;Inherit;False;Constant;_CoverageEmissive;Coverage Emissive;16;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;71;293.3991,765.7247;Inherit;False;27;vCoverage;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;53;293.5994,1293.399;Inherit;False;27;vCoverage;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;68;280.9878,552.515;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;57;422.369,1471.454;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.BlendNormalsNode;108;-1124.013,724.1277;Inherit;False;0;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.LerpOp;83;-1206.406,504.9382;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.ColorNode;6;-2038.934,-661.7767;Inherit;False;Property;_AlbedoTint;Albedo Tint;0;0;Create;True;0;0;0;False;1;Header(MAIN);False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;9;-2042.438,-233.2511;Inherit;False;Property;_CoverageTint;Coverage Tint;15;0;Create;True;0;0;0;False;0;False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;52;703.7872,1218.263;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;69;615.587,718.5897;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;8;-2124.061,-4.206614;Inherit;True;Property;_TextureSample1;Texture Sample 1;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;2;-2121.557,-478.7325;Inherit;True;Property;_TextureSample0;Texture Sample 0;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;93;503.3394,175.8189;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StaticSwitch;94;775.7406,5.744071;Inherit;False;Property;_Keyword0;Keyword 0;9;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Reference;1;False;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-1706.934,-590.7767;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StaticSwitch;70;887.9886,548.515;Inherit;False;Property;_Keyword0;Keyword 0;9;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Reference;1;False;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;28;-1690.682,-400.0293;Inherit;False;27;vCoverage;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;25;-1729.249,-152.6632;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StaticSwitch;81;-1016.406,358.9385;Inherit;False;Property;_BlendnormalsON;Blend normals ON;9;0;Create;True;0;0;0;False;0;False;0;1;1;True;;Toggle;2;Key0;Key1;Reference;1;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.StaticSwitch;49;953.1889,1077.188;Inherit;False;Property;_Keyword0;Keyword 0;9;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Reference;1;False;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;51;1215.65,1076.459;Inherit;False;vSmoothness;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;72;1172.711,548.2841;Inherit;False;vMetallic;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;26;-1412.86,-440.4881;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;82;-734.406,357.9385;Inherit;False;vNormal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;95;1060.463,5.513175;Inherit;False;vEmissive;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;59;-621.8444,-234.2803;Inherit;False;51;vSmoothness;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;98;-602.3783,-389.7672;Inherit;False;95;vEmissive;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;74;-592.9684,-310.0176;Inherit;False;72;vMetallic;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;86;-592.2321,-470.4655;Inherit;False;82;vNormal;1;0;OBJECT;;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.StaticSwitch;1;-1180.534,-593.0113;Inherit;False;Property;_GroundCoverON;Ground Cover ON;9;0;Create;True;0;0;0;False;1;Header(GROUND COVERAGE);False;0;0;0;True;;Toggle;2;Key0;Key1;Create;False;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;109;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;111;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;112;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;113;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;114;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;115;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;116;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;117;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;118;-288.047,-588.6848;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;110;-288.047,-588.6848;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;Polyart/Dreamscape Surface Coverage;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;;0;0;Standard;41;Workflow;1;0;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -WireConnection;17;0;15;0 -WireConnection;16;0;19;2 -WireConnection;16;1;13;0 -WireConnection;18;0;16;0 -WireConnection;18;1;17;0 -WireConnection;20;0;18;0 -WireConnection;20;1;21;1 -WireConnection;29;0;23;0 -WireConnection;22;0;20;0 -WireConnection;22;1;29;0 -WireConnection;24;0;22;0 -WireConnection;27;0;24;0 -WireConnection;79;0;78;0 -WireConnection;76;0;75;0 -WireConnection;105;0;103;0 -WireConnection;77;0;76;0 -WireConnection;77;1;79;0 -WireConnection;106;0;104;0 -WireConnection;106;1;105;0 -WireConnection;46;0;47;0 -WireConnection;56;0;54;0 -WireConnection;80;1;79;0 -WireConnection;80;0;77;0 -WireConnection;107;20;106;0 -WireConnection;89;0;87;0 -WireConnection;64;0;61;0 -WireConnection;102;0;56;0 -WireConnection;101;0;46;0 -WireConnection;48;0;101;0 -WireConnection;48;1;45;0 -WireConnection;91;0;89;0 -WireConnection;91;1;88;0 -WireConnection;68;0;64;0 -WireConnection;68;1;66;0 -WireConnection;57;0;102;0 -WireConnection;57;1;55;0 -WireConnection;108;0;80;0 -WireConnection;108;1;107;40 -WireConnection;83;0;76;0 -WireConnection;83;1;108;0 -WireConnection;83;2;84;0 -WireConnection;52;0;48;0 -WireConnection;52;1;57;0 -WireConnection;52;2;53;0 -WireConnection;69;0;68;0 -WireConnection;69;1;73;0 -WireConnection;69;2;71;0 -WireConnection;8;0;7;0 -WireConnection;2;0;3;0 -WireConnection;93;0;91;0 -WireConnection;93;1;92;0 -WireConnection;93;2;90;0 -WireConnection;94;1;91;0 -WireConnection;94;0;93;0 -WireConnection;5;0;6;0 -WireConnection;5;1;2;0 -WireConnection;70;1;68;0 -WireConnection;70;0;69;0 -WireConnection;25;0;9;0 -WireConnection;25;1;8;0 -WireConnection;81;1;76;0 -WireConnection;81;0;83;0 -WireConnection;49;1;48;0 -WireConnection;49;0;52;0 -WireConnection;51;0;49;0 -WireConnection;72;0;70;0 -WireConnection;26;0;5;0 -WireConnection;26;1;25;0 -WireConnection;26;2;28;0 -WireConnection;82;0;81;0 -WireConnection;95;0;94;0 -WireConnection;1;1;5;0 -WireConnection;1;0;26;0 -WireConnection;110;0;1;0 -WireConnection;110;1;86;0 -WireConnection;110;2;98;0 -WireConnection;110;3;74;0 -WireConnection;110;4;59;0 -ASEEND*/ -//CHKSM=B5952DF5498728981B9522B77434C1439BEF5567 \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader.meta deleted file mode 100644 index 6d6d54270..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Deprecated/Dreamscape_Surface_Coverage.shader.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 9e462be833276004095a6c0ca5194f33 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage.meta deleted file mode 100644 index 25913e9f3..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b48acb1faef4544ba51897fc8cfbd3f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader deleted file mode 100644 index 9fd2ef79a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader +++ /dev/null @@ -1,4410 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape/URP/Foliage" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [ASEBegin][Header(Base Maps)][Header(.)][SingleLineTexture]_FoliageMap("Foliage Map", 2D) = "white" {} - [SingleLineTexture]_FlowerMask("Flower Mask", 2D) = "white" {} - [SingleLineTexture]_GradientMap("Gradient Map", 2D) = "white" {} - _ColorTint("Color Tint", Color) = (0,0,0,0) - [Toggle(_USEGRADIENTMAP_ON)] _UseGradientMap("Use Gradient Map?", Float) = 0 - _ColorGradient01("Color Gradient 01", Color) = (0,0,0,0) - _ColorGradient02("Color Gradient 02", Color) = (0,0,0,0) - [Toggle(_HASSTEM_ON)] _HasStem("Has Stem?", Float) = 0 - _StemColor("Stem Color", Color) = (0,0,0,0) - _FoliageRoughness("FoliageRoughness", Range( 0 , 1)) = 0.1 - _FoliageSpecular("Foliage Specular", Range( -1 , 1)) = 0.1 - [Header(Wind)][Toggle(_USEGLOBALWINDSETTINGS_ON)] _UseGlobalWindSettings("Use Global Wind Settings?", Float) = 0 - [HideInInspector]_WindNoiseTexture("Wind Noise Texture", 2D) = "white" {} - _LockPositionGradient("Lock Position Gradient", Range( 0 , 10)) = 2 - _WindNoise01("Wind Noise 01", Range( 0 , 100)) = 0 - _WindNoise01Multiplier("Wind Noise 01 Multiplier", Range( -3 , 3)) = 1 - _WindNoise02("Wind Noise 02", Range( 0 , 100)) = 0 - _WindNoise02Multiplier("Wind Noise 02 Multiplier", Range( -3 , 3)) = 1 - [Header(Wind Locking)][Toggle(_USEVERTEXCOLOR_ON)] _UseVertexColor("Use Vertex Color?", Float) = 0 - _VertexColorOffset("Vertex Color Offset", Float) = 0 - _VertexColorGradient("Vertex Color Gradient", Float) = 1 - [Header(Dithering)][Toggle(_USEDITHERING_ON)] _UseDithering("Use Dithering?", Float) = 1 - [Toggle(_USEGLOBALSETTING_ON)] _UseGlobalSetting("Use Global Setting?", Float) = 0 - _DitherBottomLevel("Dither Bottom Level", Range( -10 , 10)) = 0 - [ASEEnd]_DitherFade("Dither Fade", Range( 0 , 10)) = 0 - [HideInInspector] _texcoord( "", 2D ) = "white" {} - - - //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 - //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 - //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 - //_TransScattering( "Trans Scattering", Range( 1, 50 ) ) = 2 - //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 - //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 - //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Lit" } - - Cull Back - ZWrite On - ZTest LEqual - Offset 0 , 0 - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForward" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _CLUSTERED_RENDERING - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_FORWARD - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature_local _HASSTEM_ON - #pragma shader_feature_local _USEGRADIENTMAP_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _GradientMap; - sampler2D _FoliageMap; - sampler2D _FlowerMask; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - o.ase_texcoord8.xy = v.texcoord.xy; - o.ase_texcoord9 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH( normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz ); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - #ifdef ASE_FOG - half fogFactor = ComputeFogFactor( positionCS.z ); - #else - half fogFactor = 0; - #endif - - o.fogFactorAndVertexLight = half4(fogFactor, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_GradientMap = IN.ase_texcoord8.xy * _GradientMap_ST.xy + _GradientMap_ST.zw; - float4 lerpResult215 = lerp( _ColorGradient01 , _ColorGradient02 , tex2D( _GradientMap, uv_GradientMap ).r); - #ifdef _USEGRADIENTMAP_ON - float4 staticSwitch211 = lerpResult215; - #else - float4 staticSwitch211 = _ColorTint; - #endif - float2 uv_FoliageMap = IN.ase_texcoord8.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float4 temp_output_221_0 = ( staticSwitch211 * tex2DNode22 ); - float2 uv_FlowerMask = IN.ase_texcoord8.xy * _FlowerMask_ST.xy + _FlowerMask_ST.zw; - float4 lerpResult224 = lerp( temp_output_221_0 , ( _StemColor * tex2DNode22 ) , ( 1.0 - tex2D( _FlowerMask, uv_FlowerMask ).r )); - #ifdef _HASSTEM_ON - float4 staticSwitch226 = lerpResult224; - #else - float4 staticSwitch226 = temp_output_221_0; - #endif - float4 vColor27 = staticSwitch226; - - float3 temp_cast_1 = (_FoliageSpecular).xxx; - - float vAlpha125 = tex2DNode22.a; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord9.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float3 BaseColor = vColor27.rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = temp_cast_1; - float Metallic = 0; - float Smoothness = ( 1.0 - _FoliageRoughness ); - float Occlusion = 1; - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _CLEARCOAT - float CoatMask = 0; - float CoatSmoothness = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); - #endif - - #ifdef ASE_FOG - inputData.fogCoord = IN.fogFactorAndVertexLight.x; - #endif - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI(IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - SurfaceData surfaceData; - surfaceData.albedo = BaseColor; - surfaceData.metallic = saturate(Metallic); - surfaceData.specular = Specular; - surfaceData.smoothness = saturate(Smoothness), - surfaceData.occlusion = Occlusion, - surfaceData.emission = Emission, - surfaceData.alpha = saturate(Alpha); - surfaceData.normalTS = Normal; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - - #ifdef _CLEARCOAT - surfaceData.clearCoatMask = saturate(CoatMask); - surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); - #endif - - #ifdef _DBUFFER - ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData); - #endif - - half4 color = UniversalFragmentPBR( inputData, surfaceData); - - #ifdef ASE_TRANSMISSION - { - float shadow = _TransmissionShadow; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission; - color.rgb += BaseColor * mainTransmission; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission; - color.rgb += BaseColor * transmission; - } - #endif - } - #endif - - #ifdef ASE_TRANSLUCENCY - { - float shadow = _TransShadow; - float normal = _TransNormal; - float scattering = _TransScattering; - float direct = _TransDirect; - float ambient = _TransAmbient; - float strength = _TransStrength; - - Light mainLight = GetMainLight( inputData.shadowCoord ); - float3 mainAtten = mainLight.color * mainLight.distanceAttenuation; - mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow ); - - half3 mainLightDir = mainLight.direction + inputData.normalWS * normal; - half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering ); - half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * mainTranslucency * strength; - - #ifdef _ADDITIONAL_LIGHTS - int transPixelLightCount = GetAdditionalLightsCount(); - for (int i = 0; i < transPixelLightCount; ++i) - { - Light light = GetAdditionalLight(i, inputData.positionWS); - float3 atten = light.color * light.distanceAttenuation; - atten = lerp( atten, atten * light.shadowAttenuation, shadow ); - - half3 lightDir = light.direction + inputData.normalWS * normal; - half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering ); - half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency; - color.rgb += BaseColor * translucency * strength; - } - #endif - } - #endif - - #ifdef ASE_REFRACTION - float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - projScreenPos.xy += refractionOffset.xy; - float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; - color.rgb = lerp( refraction, color.rgb, color.a ); - color.a = 1; - #endif - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_FOG - #ifdef TERRAIN_SPLAT_ADDPASS - color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fogFactorAndVertexLight.x ); - #else - color.rgb = MixFog(color.rgb, IN.fogFactorAndVertexLight.x); - #endif - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return color; - } - - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _FoliageMap; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord3 = screenPos; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - o.ase_texcoord4 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(v.ase_normal); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_FoliageMap = IN.ase_texcoord2.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float vAlpha125 = tex2DNode22.a; - float4 screenPos = IN.ase_texcoord3; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord4.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _FoliageMap; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord3 = screenPos; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - o.ase_texcoord4 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_FoliageMap = IN.ase_texcoord2.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float vAlpha125 = tex2DNode22.a; - float4 screenPos = IN.ase_texcoord3; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord4.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "Meta" - Tags { "LightMode"="Meta" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma shader_feature EDITOR_VISUALIZATION - - #define SHADERPASS SHADERPASS_META - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature_local _HASSTEM_ON - #pragma shader_feature_local _USEGRADIENTMAP_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; - #endif - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _GradientMap; - sampler2D _FoliageMap; - sampler2D _FlowerMask; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.texcoord0.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord5 = screenPos; - - o.ase_texcoord4.xy = v.texcoord0.xy; - o.ase_texcoord6 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = MetaVertexPosition( v.vertex, v.texcoord1.xy, v.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #ifdef EDITOR_VISUALIZATION - float2 VizUV = 0; - float4 LightCoord = 0; - UnityEditorVizData(v.vertex.xyz, v.texcoord0.xy, v.texcoord1.xy, v.texcoord2.xy, VizUV, LightCoord); - o.VizUV = float4(VizUV, 0, 0); - o.LightCoord = LightCoord; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.texcoord0 = v.texcoord0; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_GradientMap = IN.ase_texcoord4.xy * _GradientMap_ST.xy + _GradientMap_ST.zw; - float4 lerpResult215 = lerp( _ColorGradient01 , _ColorGradient02 , tex2D( _GradientMap, uv_GradientMap ).r); - #ifdef _USEGRADIENTMAP_ON - float4 staticSwitch211 = lerpResult215; - #else - float4 staticSwitch211 = _ColorTint; - #endif - float2 uv_FoliageMap = IN.ase_texcoord4.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float4 temp_output_221_0 = ( staticSwitch211 * tex2DNode22 ); - float2 uv_FlowerMask = IN.ase_texcoord4.xy * _FlowerMask_ST.xy + _FlowerMask_ST.zw; - float4 lerpResult224 = lerp( temp_output_221_0 , ( _StemColor * tex2DNode22 ) , ( 1.0 - tex2D( _FlowerMask, uv_FlowerMask ).r )); - #ifdef _HASSTEM_ON - float4 staticSwitch226 = lerpResult224; - #else - float4 staticSwitch226 = temp_output_221_0; - #endif - float4 vColor27 = staticSwitch226; - - float vAlpha125 = tex2DNode22.a; - float4 screenPos = IN.ase_texcoord5; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord6.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float3 BaseColor = vColor27.rgb; - float3 Emission = 0; - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - MetaInput metaInput = (MetaInput)0; - metaInput.Albedo = BaseColor; - metaInput.Emission = Emission; - #ifdef EDITOR_VISUALIZATION - metaInput.VizUV = IN.VizUV.xy; - metaInput.LightCoord = IN.LightCoord; - #endif - - return UnityMetaFragment(metaInput); - } - ENDHLSL - } - - - Pass - { - - Name "Universal2D" - Tags { "LightMode"="Universal2D" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_2D - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature_local _HASSTEM_ON - #pragma shader_feature_local _USEGRADIENTMAP_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _GradientMap; - sampler2D _FoliageMap; - sampler2D _FlowerMask; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID( v ); - UNITY_TRANSFER_INSTANCE_ID( v, o ); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord3 = screenPos; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - o.ase_texcoord4 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_GradientMap = IN.ase_texcoord2.xy * _GradientMap_ST.xy + _GradientMap_ST.zw; - float4 lerpResult215 = lerp( _ColorGradient01 , _ColorGradient02 , tex2D( _GradientMap, uv_GradientMap ).r); - #ifdef _USEGRADIENTMAP_ON - float4 staticSwitch211 = lerpResult215; - #else - float4 staticSwitch211 = _ColorTint; - #endif - float2 uv_FoliageMap = IN.ase_texcoord2.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float4 temp_output_221_0 = ( staticSwitch211 * tex2DNode22 ); - float2 uv_FlowerMask = IN.ase_texcoord2.xy * _FlowerMask_ST.xy + _FlowerMask_ST.zw; - float4 lerpResult224 = lerp( temp_output_221_0 , ( _StemColor * tex2DNode22 ) , ( 1.0 - tex2D( _FlowerMask, uv_FlowerMask ).r )); - #ifdef _HASSTEM_ON - float4 staticSwitch226 = lerpResult224; - #else - float4 staticSwitch226 = temp_output_221_0; - #endif - float4 vColor27 = staticSwitch226; - - float vAlpha125 = tex2DNode22.a; - float4 screenPos = IN.ase_texcoord3; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord4.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float3 BaseColor = vColor27.rgb; - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormals" } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float3 worldNormal : TEXCOORD2; - float4 worldTangent : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 ase_texcoord5 : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _FoliageMap; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz); - float4 screenPos = ComputeScreenPos(ase_clipPos); - o.ase_texcoord5 = screenPos; - - o.ase_texcoord4.xy = v.ase_texcoord.xy; - o.ase_texcoord6 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal( v.ase_normal ); - float4 tangentWS = float4(TransformObjectToWorldDir( v.ase_tangent.xyz), v.ase_tangent.w); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.worldNormal = normalWS; - o.worldTangent = tangentWS; - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 ase_texcoord : TEXCOORD0; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.ase_texcoord = v.ase_texcoord; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - half4 frag( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - float3 WorldNormal = IN.worldNormal; - float4 WorldTangent = IN.worldTangent; - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float2 uv_FoliageMap = IN.ase_texcoord4.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float vAlpha125 = tex2DNode22.a; - float4 screenPos = IN.ase_texcoord5; - float4 ase_screenPosNorm = screenPos / screenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord6.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float3 Normal = float3(0, 0, 1); - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - return half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - } - ENDHLSL - } - - - Pass - { - - Name "GBuffer" - Tags { "LightMode"="UniversalGBuffer" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #pragma multi_compile_instancing - #pragma instancing_options renderinglayer - #pragma multi_compile_fragment _ LOD_FADE_CROSSFADE - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _LIGHT_LAYERS - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - #pragma shader_feature_local _RECEIVE_SHADOWS_OFF - #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_GBUFFER - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) - #define ENABLE_TERRAIN_PERPIXEL_NORMAL - #endif - - #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" - #define ASE_NEEDS_FRAG_SCREEN_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USEVERTEXCOLOR_ON - #pragma shader_feature_local _HASSTEM_ON - #pragma shader_feature_local _USEGRADIENTMAP_ON - #pragma shader_feature _USEDITHERING_ON - #pragma shader_feature_local _USEGLOBALSETTING_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 lightmapUVOrVertexSH : TEXCOORD0; - half4 fogFactorAndVertexLight : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - float4 ase_texcoord8 : TEXCOORD8; - float4 ase_texcoord9 : TEXCOORD9; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - sampler2D _WindNoiseTexture; - float WindNoise01; - float WindNoise01Multiplier; - float WindNoise02; - float WindNoise02Multiplier; - sampler2D _GradientMap; - sampler2D _FoliageMap; - sampler2D _FlowerMask; - float DitherBottomLevel; - float DitherFade; - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl" - - - float4 SampleGradient( Gradient gradient, float time ) - { - float3 color = gradient.colors[0].rgb; - UNITY_UNROLL - for (int c = 1; c < 8; c++) - { - float colorPos = saturate((time - gradient.colors[c-1].w) / ( 0.00001 + (gradient.colors[c].w - gradient.colors[c-1].w)) * step(c, gradient.colorsLength-1)); - color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type)); - } - #ifndef UNITY_COLORSPACE_GAMMA - color = SRGBToLinear(color); - #endif - float alpha = gradient.alphas[0].x; - UNITY_UNROLL - for (int a = 1; a < 8; a++) - { - float alphaPos = saturate((time - gradient.alphas[a-1].y) / ( 0.00001 + (gradient.alphas[a].y - gradient.alphas[a-1].y)) * step(a, gradient.alphasLength-1)); - alpha = lerp(alpha, gradient.alphas[a].x, lerp(alphaPos, step(0.01, alphaPos), gradient.type)); - } - return float4(color, alpha); - } - - inline float Dither4x4Bayer( int x, int y ) - { - const float dither[ 16 ] = { - 1, 9, 3, 11, - 13, 5, 15, 7, - 4, 12, 2, 10, - 16, 8, 14, 6 }; - int r = y * 4 + x; - return dither[r] / 16; // same # of instructions as pre-dividing due to compiler magic - } - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float4 color128 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0); - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch30_g15 = WindNoise01; - #else - float staticSwitch30_g15 = _WindNoise01; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch31_g15 = WindNoise01Multiplier; - #else - float staticSwitch31_g15 = _WindNoise01Multiplier; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch33_g15 = WindNoise02; - #else - float staticSwitch33_g15 = _WindNoise02; - #endif - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch38_g15 = WindNoise02Multiplier; - #else - float staticSwitch38_g15 = _WindNoise02Multiplier; - #endif - float4 lerpResult27_g15 = lerp( ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.2 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch30_g15 ) ), 0, 0.0) ) * staticSwitch31_g15 ) , ( tex2Dlod( _WindNoiseTexture, float4( ( ( float2( 0,0.1 ) * _TimeParameters.x ) + ( (ase_worldPos).xz / staticSwitch33_g15 ) ), 0, 0.0) ) * staticSwitch38_g15 ) , 0.5); - Gradient gradient111 = NewGradient( 0, 2, 2, float4( 0, 0, 0, 0 ), float4( 1, 1, 1, 1 ), 0, 0, 0, 0, 0, 0, float2( 1, 0 ), float2( 1, 1 ), 0, 0, 0, 0, 0, 0 ); - float2 texCoord110 = v.texcoord.xy * float2( 1,1 ) + float2( 0,0 ); - float saferPower113 = abs( SampleGradient( gradient111, texCoord110.y ).r ); - float saferPower194 = abs( ( v.ase_color.r + _VertexColorOffset ) ); - float clampResult229 = clamp( pow( saferPower194 , _VertexColorGradient ) , 0.0 , 1.0 ); - float vVertexColor197 = clampResult229; - #ifdef _USEVERTEXCOLOR_ON - float staticSwitch191 = vVertexColor197; - #else - float staticSwitch191 = pow( saferPower113 , _LockPositionGradient ); - #endif - float vMovementLock248 = staticSwitch191; - float4 lerpResult108 = lerp( color128 , lerpResult27_g15 , vMovementLock248); - float4 vWind116 = lerpResult108; - - o.ase_texcoord8.xy = v.texcoord.xy; - o.ase_texcoord9 = v.vertex; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord8.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 positionVS = TransformWorldToView( positionWS ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - VertexNormalInputs normalInput = GetVertexNormalInputs( v.ase_normal, v.ase_tangent ); - - o.tSpace0 = float4( normalInput.normalWS, positionWS.x); - o.tSpace1 = float4( normalInput.tangentWS, positionWS.y); - o.tSpace2 = float4( normalInput.bitangentWS, positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if !defined(LIGHTMAP_ON) - OUTPUT_SH(normalInput.normalWS.xyz, o.lightmapUVOrVertexSH.xyz); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - o.lightmapUVOrVertexSH.zw = v.texcoord; - o.lightmapUVOrVertexSH.xy = v.texcoord * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS ); - - o.fogFactorAndVertexLight = half4(0, vertexLight); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = positionCS; - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(positionCS); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_tangent : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - float4 ase_color : COLOR; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_tangent = v.ase_tangent; - o.texcoord = v.texcoord; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - o.ase_color = v.ase_color; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_tangent = patch[0].ase_tangent * bary.x + patch[1].ase_tangent * bary.y + patch[2].ase_tangent * bary.z; - o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - o.ase_color = patch[0].ase_color * bary.x + patch[1].ase_color * bary.y + patch[2].ase_color * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) - #define ASE_SV_DEPTH SV_DepthLessEqual - #else - #define ASE_SV_DEPTH SV_Depth - #endif - - FragmentOutput frag ( VertexOutput IN - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN); - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (IN.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); - #else - float3 WorldNormal = normalize( IN.tSpace0.xyz ); - float3 WorldTangent = IN.tSpace1.xyz; - float3 WorldBiTangent = IN.tSpace2.xyz; - #endif - - float3 WorldPosition = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition; - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 ScreenPos = IN.screenPos; - #endif - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); - #endif - - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - float2 uv_GradientMap = IN.ase_texcoord8.xy * _GradientMap_ST.xy + _GradientMap_ST.zw; - float4 lerpResult215 = lerp( _ColorGradient01 , _ColorGradient02 , tex2D( _GradientMap, uv_GradientMap ).r); - #ifdef _USEGRADIENTMAP_ON - float4 staticSwitch211 = lerpResult215; - #else - float4 staticSwitch211 = _ColorTint; - #endif - float2 uv_FoliageMap = IN.ase_texcoord8.xy * _FoliageMap_ST.xy + _FoliageMap_ST.zw; - float4 tex2DNode22 = tex2D( _FoliageMap, uv_FoliageMap ); - float4 temp_output_221_0 = ( staticSwitch211 * tex2DNode22 ); - float2 uv_FlowerMask = IN.ase_texcoord8.xy * _FlowerMask_ST.xy + _FlowerMask_ST.zw; - float4 lerpResult224 = lerp( temp_output_221_0 , ( _StemColor * tex2DNode22 ) , ( 1.0 - tex2D( _FlowerMask, uv_FlowerMask ).r )); - #ifdef _HASSTEM_ON - float4 staticSwitch226 = lerpResult224; - #else - float4 staticSwitch226 = temp_output_221_0; - #endif - float4 vColor27 = staticSwitch226; - - float3 temp_cast_1 = (_FoliageSpecular).xxx; - - float vAlpha125 = tex2DNode22.a; - float4 ase_screenPosNorm = ScreenPos / ScreenPos.w; - ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; - float2 clipScreen8_g14 = ase_screenPosNorm.xy * _ScreenParams.xy; - float dither8_g14 = Dither4x4Bayer( fmod(clipScreen8_g14.x, 4), fmod(clipScreen8_g14.y, 4) ); - #ifdef _USEGLOBALSETTING_ON - float staticSwitch12_g14 = DitherBottomLevel; - #else - float staticSwitch12_g14 = _DitherBottomLevel; - #endif - #ifdef _USEGLOBALSETTING_ON - float staticSwitch11_g14 = DitherFade; - #else - float staticSwitch11_g14 = _DitherFade; - #endif - dither8_g14 = step( dither8_g14, saturate( ( ( IN.ase_texcoord9.xyz.y + staticSwitch12_g14 ) * ( staticSwitch11_g14 * 2 ) ) ) ); - float vTerrainDither181 = dither8_g14; - #ifdef _USEDITHERING_ON - float staticSwitch182 = ( vAlpha125 * vTerrainDither181 ); - #else - float staticSwitch182 = vAlpha125; - #endif - - - float3 BaseColor = vColor27.rgb; - float3 Normal = float3(0, 0, 1); - float3 Emission = 0; - float3 Specular = temp_cast_1; - float Metallic = 0; - float Smoothness = ( 1.0 - _FoliageRoughness ); - float Occlusion = 1; - float Alpha = staticSwitch182; - float AlphaClipThreshold = 0.5; - float AlphaClipThresholdShadow = 0.5; - float3 BakedGI = 0; - float3 RefractionColor = 1; - float RefractionIndex = 1; - float3 Transmission = 1; - float3 Translucency = 1; - - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = 0; - #endif - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = IN.clipPos; - inputData.shadowCoord = ShadowCoords; - - #ifdef _NORMALMAP - #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); - #elif _NORMAL_DROPOFF_OS - inputData.normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - inputData.normalWS = Normal; - #endif - #else - inputData.normalWS = WorldNormal; - #endif - - inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); - - inputData.vertexLighting = IN.fogFactorAndVertexLight.yzw; - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float3 SH = SampleSH(inputData.normalWS.xyz); - #else - float3 SH = IN.lightmapUVOrVertexSH.xyz; - #endif - - #ifdef ASE_BAKEDGI - inputData.bakedGI = BakedGI; - #else - #if defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, IN.dynamicLightmapUV.xy, SH, inputData.normalWS); - #else - inputData.bakedGI = SAMPLE_GI( IN.lightmapUVOrVertexSH.xy, SH, inputData.normalWS ); - #endif - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy); - - #if defined(DEBUG_DISPLAY) - #if defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy; - #endif - #if defined(LIGHTMAP_ON) - inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy; - #else - inputData.vertexSH = SH; - #endif - #endif - - #ifdef _DBUFFER - ApplyDecal(IN.clipPos, - BaseColor, - Specular, - inputData.normalWS, - Metallic, - Occlusion, - Smoothness); - #endif - - BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); - - Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); - half4 color; - MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); - color.a = Alpha; - - #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY - color.rgb *= color.a; - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); - } - - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENESELECTIONPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #define _NORMAL_DROPOFF_TS 1 - #define ASE_FOG 1 - #define _SPECULAR_SETUP 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define SCENEPICKINGPASS 1 - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _ColorGradient01; - float4 _FlowerMask_ST; - float4 _StemColor; - float4 _FoliageMap_ST; - float4 _GradientMap_ST; - float4 _ColorTint; - float4 _ColorGradient02; - float _FoliageRoughness; - float _FoliageSpecular; - float _WindNoise01; - float _VertexColorGradient; - float _VertexColorOffset; - float _LockPositionGradient; - float _WindNoise02Multiplier; - float _WindNoise02; - float _WindNoise01Multiplier; - float _DitherBottomLevel; - float _DitherFade; - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - // Property used by ScenePickingPass - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - // Properties used by SceneSelectionPass - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - - - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl" - //#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl" - - //#ifdef HAVE_VFX_MODIFICATION - //#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl" - //#endif - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = defaultVertexValue; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - - - surfaceDescription.Alpha = 1; - surfaceDescription.AlphaClipThreshold = 0.5; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; - #endif - - return outColor; - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphLitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback "Hidden/InternalErrorShader" -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.CommentaryNode;121;-3012.576,247.0363;Inherit;False;1640.88;767.5203;;14;248;191;197;113;229;112;114;110;194;111;192;195;193;190;Vertical Gradient;1,1,1,1;0;0 -Node;AmplifyShaderEditor.VertexColorNode;190;-2890.795,685.3215;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;193;-2932.179,851.8886;Inherit;False;Property;_VertexColorOffset;Vertex Color Offset;21;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.CommentaryNode;31;-4150.297,-1537.111;Inherit;False;2856.68;1171.779;Comment;21;27;226;227;224;125;219;228;225;223;220;221;211;222;22;19;215;218;214;217;213;216;Color;1,1,1,1;0;0 -Node;AmplifyShaderEditor.TexturePropertyNode;216;-4131.25,-865.4424;Inherit;True;Property;_GradientMap;Gradient Map;2;2;[Header];[SingleLineTexture];Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.SimpleAddOpNode;192;-2632.179,707.8886;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;195;-2731.179,848.8886;Inherit;False;Property;_VertexColorGradient;Vertex Color Gradient;22;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;214;-3813.25,-1042.442;Inherit;False;Property;_ColorGradient02;Color Gradient 02;6;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;213;-3815.25,-1225.443;Inherit;False;Property;_ColorGradient01;Color Gradient 01;5;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.PowerNode;194;-2480.179,707.8886;Inherit;False;True;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GradientNode;111;-2825.649,394.9997;Inherit;False;0;2;2;0,0,0,0;1,1,1,1;1,0;1,1;0;1;OBJECT;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;110;-2858.648,470.0004;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SamplerNode;217;-3900.25,-866.4424;Inherit;True;Property;_TextureSample1;Texture Sample 1;20;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;218;-3511.649,-1281.73;Inherit;False;Property;_ColorTint;Color Tint;3;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;215;-3452.25,-1060.442;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.TexturePropertyNode;19;-3329.606,-690.9492;Inherit;True;Property;_FoliageMap;Foliage Map;0;2;[Header];[SingleLineTexture];Create;True;2;Base Maps;.;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.ClampOpNode;229;-2301.943,708.2016;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GradientSampleNode;112;-2605.65,394.9997;Inherit;True;2;0;OBJECT;;False;1;FLOAT;0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.RangedFloatNode;114;-2577.692,581.2943;Inherit;False;Property;_LockPositionGradient;Lock Position Gradient;15;0;Create;True;0;0;0;False;0;False;2;0.95;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;197;-2166.179,702.8885;Inherit;False;vVertexColor;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;211;-3215.922,-1088.619;Inherit;False;Property;_UseGradientMap;Use Gradient Map?;4;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Create;True;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SamplerNode;22;-3089.33,-692.188;Inherit;True;Property;_TextureSample0;Texture Sample 0;5;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TexturePropertyNode;222;-3020.21,-1294.647;Inherit;True;Property;_FlowerMask;Flower Mask;1;2;[Header];[SingleLineTexture];Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.CommentaryNode;167;-2637.903,-1854.358;Inherit;False;844.5669;250.5412;Dithering;3;181;168;170;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.PowerNode;113;-2256.692,394.2938;Inherit;True;True;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;220;-2998.824,-932.0966;Inherit;False;Property;_StemColor;Stem Color;8;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;221;-2641.409,-1083.02;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.CommentaryNode;184;-2655.449,-342.8354;Inherit;False;1357.315;571.7289;Comment;9;249;116;108;189;128;186;188;187;185;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.RangedFloatNode;170;-2613.136,-1709.91;Inherit;False;Property;_DitherFade;Dither Fade;27;0;Create;True;0;0;0;False;0;False;0;0;0;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;168;-2611.753,-1790.539;Inherit;False;Property;_DitherBottomLevel;Dither Bottom Level;26;0;Create;True;0;0;0;False;0;False;0;0;-10;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;223;-2770.146,-1296.961;Inherit;True;Property;_TextureSample2;Texture Sample 2;24;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.StaticSwitch;191;-1953.262,390.2216;Inherit;False;Property;_UseVertexColor;Use Vertex Color?;20;0;Create;True;0;0;0;False;1;Header(Wind Locking);False;0;0;0;True;;Toggle;2;Key0;Key1;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;188;-2578.669,60.47952;Inherit;False;Property;_WindNoise02Multiplier;Wind Noise 02 Multiplier;19;0;Create;True;0;0;0;False;0;False;1;0;-3;3;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;248;-1678.48,388.7944;Inherit;False;vMovementLock;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;187;-2578.669,-92.51978;Inherit;False;Property;_WindNoise02;Wind Noise 02;18;0;Create;True;0;0;0;False;0;False;0;0;0;100;0;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;210;-2324.16,-1785.528;Inherit;False;PA_Dithering;24;;14;51907001cc2d98f4bb2ac7260d1fff6c;0;2;9;FLOAT;0;False;10;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WireNode;228;-2429.212,-1111.851;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.OneMinusNode;225;-2425.212,-1214.851;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;186;-2578.669,-15.52011;Inherit;False;Property;_WindNoise01Multiplier;Wind Noise 01 Multiplier;17;0;Create;True;0;0;0;False;0;False;1;0;-3;3;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;219;-2641.715,-711.2777;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;185;-2579.719,-167.3194;Inherit;False;Property;_WindNoise01;Wind Noise 01;16;0;Create;True;0;0;0;False;0;False;0;0;0;100;0;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;189;-2246.504,-87.7447;Inherit;False;PA_SF_WindGrass;12;;15;b1ba21c96122aa44f8eac64c8d72c027;0;4;29;FLOAT;10;False;34;FLOAT;10;False;32;FLOAT;1;False;39;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;224;-2150.449,-1082.561;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;125;-2647.224,-593.9875;Inherit;False;vAlpha;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;181;-2021.951,-1790.021;Inherit;False;vTerrainDither;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.ColorNode;128;-2126.239,-292.8353;Inherit;False;Constant;_Color2;Color2;7;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.GetLocalVarNode;249;-2118.896,62.90772;Inherit;False;248;vMovementLock;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.WireNode;227;-1979.212,-1117.851;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StaticSwitch;226;-1882.212,-1112.851;Inherit;False;Property;_HasStem;Has Stem?;7;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Create;True;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.LerpOp;108;-1678.743,-109.548;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;158;-1325.317,375.0651;Inherit;False;181;vTerrainDither;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;126;-1294.043,271.5366;Inherit;False;125;vAlpha;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;161;-958.636,356.289;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;116;-1498.531,-113.9009;Inherit;False;vWind;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;27;-1595.453,-1112.758;Inherit;False;vColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;200;-790.3269,-84.21375;Inherit;False;Property;_MaskClip;Mask Clip;11;0;Create;True;0;0;0;False;0;False;0.5;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.StaticSwitch;182;-738.8497,273.6953;Inherit;False;Property;_UseDithering;Use Dithering?;23;0;Create;True;0;0;0;False;1;Header(Dithering);False;0;1;1;True;;Toggle;2;Key0;Key1;Create;False;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;29;-786.9415,32.68401;Inherit;False;27;vColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;122;-690.1942,382.9964;Inherit;False;116;vWind;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;259;-651.63,462.632;Inherit;False;Constant;_Float0;Float 0;24;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;256;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;258;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;GBuffer;0;7;GBuffer;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalGBuffer;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;251;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;253;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;254;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;255;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;257;-447.4691,37.94351;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;DepthNormals;0;6;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormals;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;260;-447.4691,117.9435;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;SceneSelectionPass;0;8;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;261;-447.4691,117.9435;Float;False;False;-1;2;UnityEditor.ShaderGraphLitGUI;0;1;New Amplify Shader;94348b07e5e8bab40bd6c8a1e3df54cd;True;ScenePickingPass;0;9;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;252;-447.4691,37.94351;Float;False;True;-1;2;UnityEditor.ShaderGraphLitGUI;0;12;Polyart/Dreamscape/URP/Foliage;94348b07e5e8bab40bd6c8a1e3df54cd;True;Forward;0;1;Forward;19;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Lit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;41;Workflow;0;638126635060391072;Surface;0;0; Refraction Model;0;0; Blend;0;0;Two Sided;1;0;Fragment Normal Space,InvertActionOnDeselection;0;0;Forward Only;0;0;Transmission;0;0; Transmission Shadow;0.5,False,;0;Translucency;0;0; Translucency Strength;1,False,;0; Normal Distortion;0.5,False,;0; Scattering;2,False,;0; Direct;0.9,False,;0; Ambient;0.1,False,;0; Shadow;0.5,False,;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;1;0;Built-in Fog;1;0;_FinalColorxAlpha;0;0;Meta Pass;1;0;Override Baked GI;0;0;Extra Pre Pass;0;0;DOTS Instancing;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Write Depth;0;0; Early Z;0;0;Vertex Position,InvertActionOnDeselection;1;0;Debug Display;0;0;Clear Coat;0;0;0;10;False;True;True;True;True;True;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.OneMinusNode;250;-644.7087,178.7914;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;162;-914.6069,173.5835;Inherit;False;Property;_FoliageRoughness;FoliageRoughness;9;0;Create;True;0;0;0;False;0;False;0.1;0.1;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;262;-921.7607,93.31284;Inherit;False;Property;_FoliageSpecular;Foliage Specular;10;0;Create;True;0;0;0;False;0;False;0.1;0.1;-1;1;0;1;FLOAT;0 -WireConnection;192;0;190;1 -WireConnection;192;1;193;0 -WireConnection;194;0;192;0 -WireConnection;194;1;195;0 -WireConnection;217;0;216;0 -WireConnection;215;0;213;0 -WireConnection;215;1;214;0 -WireConnection;215;2;217;1 -WireConnection;229;0;194;0 -WireConnection;112;0;111;0 -WireConnection;112;1;110;2 -WireConnection;197;0;229;0 -WireConnection;211;1;218;0 -WireConnection;211;0;215;0 -WireConnection;22;0;19;0 -WireConnection;113;0;112;1 -WireConnection;113;1;114;0 -WireConnection;221;0;211;0 -WireConnection;221;1;22;0 -WireConnection;223;0;222;0 -WireConnection;191;1;113;0 -WireConnection;191;0;197;0 -WireConnection;248;0;191;0 -WireConnection;210;9;168;0 -WireConnection;210;10;170;0 -WireConnection;228;0;221;0 -WireConnection;225;0;223;1 -WireConnection;219;0;220;0 -WireConnection;219;1;22;0 -WireConnection;189;29;185;0 -WireConnection;189;34;187;0 -WireConnection;189;32;186;0 -WireConnection;189;39;188;0 -WireConnection;224;0;221;0 -WireConnection;224;1;219;0 -WireConnection;224;2;225;0 -WireConnection;125;0;22;4 -WireConnection;181;0;210;0 -WireConnection;227;0;228;0 -WireConnection;226;1;227;0 -WireConnection;226;0;224;0 -WireConnection;108;0;128;0 -WireConnection;108;1;189;0 -WireConnection;108;2;249;0 -WireConnection;161;0;126;0 -WireConnection;161;1;158;0 -WireConnection;116;0;108;0 -WireConnection;27;0;226;0 -WireConnection;182;1;126;0 -WireConnection;182;0;161;0 -WireConnection;252;0;29;0 -WireConnection;252;9;262;0 -WireConnection;252;4;250;0 -WireConnection;252;6;182;0 -WireConnection;252;7;259;0 -WireConnection;252;8;122;0 -WireConnection;250;0;162;0 -ASEEND*/ -//CHKSM=6BB8EC204689F5D7BAD9817DB8A57355A60C2511 \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader.meta deleted file mode 100644 index 96b423aff..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_OtherFoliage.shader.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3aa11b2c6fcaa3c418015917a2252433 -ShaderImporter: - externalObjects: {} - defaultTextures: - - _WindNoiseTexture: {fileID: 2800000, guid: ecd0578dd5d2cb54e90e298c6fbe1019, type: 3} - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader deleted file mode 100644 index 55c4be4e0..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader +++ /dev/null @@ -1,2603 +0,0 @@ -// Made with Amplify Shader Editor v1.9.1.5 -// Available at the Unity Asset Store - http://u3d.as/y3X -Shader "Polyart/Dreamscape/URP/Tree Wind Custom Lighting" -{ - Properties - { - [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) - [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 - [ASEBegin][Header(Foliage)][Header(.)][SingleLineTexture]_FoliageColorMap("Foliage Color Map", 2D) = "white" {} - _MaskClipValue("Mask Clip Value", Range( 0 , 1)) = 0.5 - _FoliageSize("Foliage Size", Float) = 100 - _FoliageColorTop("Foliage Color Top", Color) = (1,1,1,0) - _FoliageColorBottom("Foliage Color Bottom", Color) = (0,0,0,0) - _GradientOffset("Gradient Offset", Float) = 0 - _GradientFallout("Gradient Fallout", Float) = 0 - [Header(WIND RUSTLE)][Toggle(_USEGLOBALWINDSETTINGS_ON)] _UseGlobalWindSettings("Use Global Wind Settings?", Float) = 0 - [HideInInspector][SingleLineTexture]_NoiseTexture("NoiseTexture", 2D) = "white" {} - _WindScrollSpeed("Wind Scroll Speed", Range( 0 , 0.5)) = 0.05 - _WindJitterSpeed("Wind Jitter Speed", Range( 0 , 0.5)) = 0.05 - [Header(TRUNK)][Toggle(_TRUNKMATERIAL_ON)] _TrunkMaterial("Trunk Material?", Float) = 0 - _WindOffsetIntensity("Wind Offset Intensity", Range( 0 , 1)) = 1 - _WindRustleSize("Wind Rustle Size", Range( 0 , 0.2)) = 0.035 - [Header(WIND SWAY)][Toggle(_USESGLOBALWINDSETTINGS_ON)] _UsesGlobalWindSettings("Uses Global Wind Settings?", Float) = 0 - _WindSwayDirection("Wind Sway Direction", Vector) = (1,0,0,0) - _WIndSwayIntensity("WInd Sway Intensity", Float) = 1 - _WIndSwayFrequency("WInd Sway Frequency", Float) = 1 - [Header(Lighting Settings)][Space(5)]_LightOffset("Light Offset", Range( 0 , 1)) = 0 - _DirectLightInt("Direct Light Int", Range( 1 , 10)) = 1 - _IndirectLightningIntensity("Indirect Lightning Intensity", Range( 1 , 10)) = 1 - _SubsurfaceIntensity("Subsurface Intensity", Range( 0 , 100)) = 10 - [ASEEnd]_SubsurfaceFadeDistance("Subsurface Fade Distance", Float) = 200 - - - //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 - //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 - //_TessMin( "Tess Min Distance", Float ) = 10 - //_TessMax( "Tess Max Distance", Float ) = 25 - //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 - //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - - [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 - [HideInInspector] _QueueControl("_QueueControl", Float) = -1 - - [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} - [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} - } - - SubShader - { - LOD 0 - - - - Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" "UniversalMaterialType"="Unlit" } - - Cull Off - AlphaToMask Off - - - - HLSLINCLUDE - #pragma target 3.5 - #pragma prefer_hlslcc gles - // ensure rendering platforms toggle list is visible - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" - - #ifndef ASE_TESS_FUNCS - #define ASE_TESS_FUNCS - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) - { - tess = 0.0f; - } - else - { - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - } - return tess; - } - #endif //ASE_TESS_FUNCS - ENDHLSL - - - Pass - { - - Name "Forward" - Tags { "LightMode"="UniversalForwardOnly" } - - Blend One Zero, One Zero - ZWrite On - ZTest LEqual - Offset 0 , 0 - ColorMask RGBA - - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma multi_compile _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma shader_feature _ _SAMPLE_GI - #pragma multi_compile _ DEBUG_DISPLAY - - #pragma vertex vert - #pragma fragment frag - - #define SHADERPASS SHADERPASS_UNLIT - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #define ASE_NEEDS_FRAG_WORLD_POSITION - #define ASE_NEEDS_FRAG_SHADOWCOORDS - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE - #pragma multi_compile _ _SHADOWS_SOFT - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - #pragma multi_compile_fragment _ _SHADOWS_SOFT - #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS - #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - float4 ase_texcoord3 : TEXCOORD3; - float4 ase_texcoord4 : TEXCOORD4; - float4 lightmapUVOrVertexSH : TEXCOORD5; - float4 ase_texcoord6 : TEXCOORD6; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - float3 AdditionalLightsFlat12x( float3 WorldPosition ) - { - float3 Color = 0; - #ifdef _ADDITIONAL_LIGHTS - uint lightCount = GetAdditionalLightsCount(); - LIGHT_LOOP_BEGIN( lightCount ) - Light light = GetAdditionalLight(lightIndex, WorldPosition); - Color += light.color *(light.distanceAttenuation * light.shadowAttenuation); - LIGHT_LOOP_END - #endif - return Color; - } - - float3 ASEIndirectDiffuse( float2 uvStaticLightmap, float3 normalWS ) - { - #ifdef LIGHTMAP_ON - return SampleLightmap( uvStaticLightmap, normalWS ); - #else - return SampleSH(normalWS); - #endif - } - - - VertexOutput VertexFunction ( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - float3 ase_worldNormal = TransformObjectToWorldNormal(v.ase_normal); - OUTPUT_LIGHTMAP_UV( v.texcoord1, unity_LightmapST, o.lightmapUVOrVertexSH.xy ); - OUTPUT_SH( ase_worldNormal, o.lightmapUVOrVertexSH.xyz ); - o.ase_texcoord6.xyz = ase_worldNormal; - - o.ase_texcoord3 = v.vertex; - o.ase_texcoord4.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord4.zw = 0; - o.ase_texcoord6.w = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - #ifdef ASE_FOG - o.fogFactor = ComputeFogFactor( positionCS.z ); - #endif - - o.clipPos = positionCS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - o.texcoord1 = v.texcoord1; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag ( VertexOutput IN ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float4 lerpResult115 = lerp( _FoliageColorBottom , _FoliageColorTop , saturate( ( ( IN.ase_texcoord3.xyz.y + _GradientOffset ) * ( _GradientFallout * 2 ) ) )); - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord4.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float4 vFoliageColor172 = ( lerpResult115 * tex2DNode124 ); - float3 worldPosValue44_g92 = WorldPosition; - float3 WorldPosition8_g92 = worldPosValue44_g92; - float3 localAdditionalLightsFlat12x8_g92 = AdditionalLightsFlat12x( WorldPosition8_g92 ); - float3 FlatResult29_g92 = localAdditionalLightsFlat12x8_g92; - float3 ase_worldNormal = IN.ase_texcoord6.xyz; - float3 bakedGI301 = ASEIndirectDiffuse( IN.lightmapUVOrVertexSH.xy, ase_worldNormal); - Light ase_mainLight = GetMainLight( ShadowCoords ); - MixRealtimeAndBakedGI(ase_mainLight, ase_worldNormal, bakedGI301, half4(0,0,0,0)); - float4 vIndirectLightning310 = ( ( float4( bakedGI301 , 0.0 ) * vFoliageColor172 ) * _IndirectLightningIntensity ); - float3 normalizedWorldNormal = normalize( ase_worldNormal ); - float dotResult4_g91 = dot( SafeNormalize(_MainLightPosition.xyz) , normalizedWorldNormal ); - float ase_lightAtten = 0; - ase_lightAtten = ase_mainLight.distanceAttenuation * ase_mainLight.shadowAttenuation; - float4 DirectLight312 = ( ( ( ( saturate( (dotResult4_g91*1.0 + _LightOffset) ) * ase_lightAtten ) * _MainLightColor ) * vFoliageColor172 ) * _DirectLightInt ); - float3 ase_worldViewDir = ( _WorldSpaceCameraPos.xyz - WorldPosition ); - ase_worldViewDir = SafeNormalize( ase_worldViewDir ); - float dotResult11_g90 = dot( SafeNormalize(_MainLightPosition.xyz) , ase_worldViewDir ); - float dotResult4_g90 = dot( SafeNormalize(_MainLightPosition.xyz) , normalizedWorldNormal ); - float clampResult9_g95 = clamp( pow( ( distance( WorldPosition , _WorldSpaceCameraPos ) / _SubsurfaceFadeDistance ) , 2.0 ) , 0.0 , 1.0 ); - float lerpResult402 = lerp( _SubsurfaceIntensity , 0.0 , clampResult9_g95); - float4 vSubsurface322 = saturate( ( ( (( dotResult11_g90 * -1.0 )*1.0 + -0.25) * ( ( ( (dotResult4_g90*1.0 + 1.0) * ase_lightAtten ) * _MainLightColor * vFoliageColor172 ) * 0.235 ) ) * lerpResult402 ) ); - - float vFoliageOpacity173 = tex2DNode124.a; - - float3 BakedAlbedo = 0; - float3 BakedEmission = 0; - float3 Color = ( ( vFoliageColor172 * float4( FlatResult29_g92 , 0.0 ) ) + ( vIndirectLightning310 + DirectLight312 + vSubsurface322 ) ).rgb; - float Alpha = vFoliageOpacity173; - float AlphaClipThreshold = _MaskClipValue; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif - - #if defined(_DBUFFER) - ApplyDecalToBaseColor(IN.clipPos, Color); - #endif - - #if defined(_ALPHAPREMULTIPLY_ON) - Color *= Alpha; - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - #ifdef ASE_FOG - Color = MixFog( Color, IN.fogFactor ); - #endif - - return half4( Color, Alpha ); - } - ENDHLSL - } - - - Pass - { - - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } - - ZWrite On - ZTest LEqual - AlphaToMask Off - ColorMask 0 - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW - - #define SHADERPASS SHADERPASS_SHADOWCASTER - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - float3 _LightDirection; - float3 _LightPosition; - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir( v.ase_normal ); - - #if _CASTING_PUNCTUAL_LIGHT_SHADOW - float3 lightDirectionWS = normalize(_LightPosition - positionWS); - #else - float3 lightDirectionWS = _LightDirection; - #endif - - float4 clipPos = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - - #if UNITY_REVERSED_Z - clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #else - clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE); - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - o.clipPos = clipPos; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID( IN ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord2.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - float Alpha = vFoliageOpacity173; - float AlphaClipThreshold = _MaskClipValue; - float AlphaClipThresholdShadow = 0.5; - - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); - #else - clip(Alpha - AlphaClipThreshold); - #endif - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "DepthOnly" - Tags { "LightMode"="DepthOnly" } - - ZWrite On - ColorMask 0 - AlphaToMask Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 worldPos : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - float4 ase_texcoord2 : TEXCOORD2; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - VertexOutput VertexFunction( VertexInput v ) - { - VertexOutput o = (VertexOutput)0; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord2.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord2.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - o.worldPos = positionWS; - #endif - - o.clipPos = TransformWorldToHClip( positionWS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = o.clipPos; - o.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - UNITY_SETUP_INSTANCE_ID(IN); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 WorldPosition = IN.worldPos; - #endif - - float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = IN.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord2.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - float Alpha = vFoliageOpacity173; - float AlphaClipThreshold = _MaskClipValue; - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - return 0; - } - ENDHLSL - } - - - Pass - { - - Name "SceneSelectionPass" - Tags { "LightMode"="SceneSelectionPass" } - - Cull Off - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - int _ObjectId; - int _PassValue; - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - surfaceDescription.Alpha = vFoliageOpacity173; - surfaceDescription.AlphaClipThreshold = _MaskClipValue; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - return outColor; - } - ENDHLSL - } - - - Pass - { - - Name "ScenePickingPass" - Tags { "LightMode"="Picking" } - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define SHADERPASS SHADERPASS_DEPTHONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - float4 _SelectionID; - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = vWind116.rgb; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - o.clipPos = TransformWorldToHClip(positionWS); - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - surfaceDescription.Alpha = vFoliageOpacity173; - surfaceDescription.AlphaClipThreshold = _MaskClipValue; - - #if _ALPHATEST_ON - float alphaClipThreshold = 0.01f; - #if ALPHA_CLIP_THRESHOLD - alphaClipThreshold = surfaceDescription.AlphaClipThreshold; - #endif - clip(surfaceDescription.Alpha - alphaClipThreshold); - #endif - - half4 outColor = 0; - outColor = _SelectionID; - - return outColor; - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormals" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define VARYINGS_NEED_NORMAL_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float3 normalWS : TEXCOORD0; - float4 ase_texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord1.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord1.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal(v.ase_normal); - - o.clipPos = TransformWorldToHClip(positionWS); - o.normalWS.xyz = normalWS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord1.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - surfaceDescription.Alpha = vFoliageOpacity173; - surfaceDescription.AlphaClipThreshold = _MaskClipValue; - - #if _ALPHATEST_ON - clip(surfaceDescription.Alpha - surfaceDescription.AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - float3 normalWS = IN.normalWS; - - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - } - - ENDHLSL - } - - - Pass - { - - Name "DepthNormalsOnly" - Tags { "LightMode"="DepthNormalsOnly" } - - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma multi_compile_instancing - #pragma multi_compile_fog - #define ASE_FOG 1 - #define _ALPHATEST_ON 1 - #define ASE_SRP_VERSION 120108 - - - #pragma exclude_renderers glcore gles gles3 - #pragma vertex vert - #pragma fragment frag - - #define ATTRIBUTES_NEED_NORMAL - #define ATTRIBUTES_NEED_TANGENT - #define ATTRIBUTES_NEED_TEXCOORD1 - #define VARYINGS_NEED_NORMAL_WS - #define VARYINGS_NEED_TANGENT_WS - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #define ASE_NEEDS_VERT_NORMAL - #define ASE_NEEDS_VERT_POSITION - #pragma shader_feature_local _USEGLOBALWINDSETTINGS_ON - #pragma shader_feature_local _USESGLOBALWINDSETTINGS_ON - - - struct VertexInput - { - float4 vertex : POSITION; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct VertexOutput - { - float4 clipPos : SV_POSITION; - float3 normalWS : TEXCOORD0; - float4 ase_texcoord1 : TEXCOORD1; - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - float4 _FoliageColorTop; - float4 _FoliageColorBottom; - float2 _WindSwayDirection; - float _SubsurfaceIntensity; - float _DirectLightInt; - float _LightOffset; - float _IndirectLightningIntensity; - float _FoliageSize; - float _GradientFallout; - float _WindScrollSpeed; - float _SubsurfaceFadeDistance; - float _WIndSwayFrequency; - float _WIndSwayIntensity; - float _WindOffsetIntensity; - float _WindJitterSpeed; - float _WindRustleSize; - float _GradientOffset; - float _MaskClipValue; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - sampler2D _NoiseTexture; - float varWindRustleScrollSpeed; - float Float0; - float varWindSwayIntensity; - float2 varWindDirection; - float varWindSwayFrequency; - sampler2D _FoliageColorMap; - - - - struct SurfaceDescription - { - float Alpha; - float AlphaClipThreshold; - }; - - VertexOutput VertexFunction(VertexInput v ) - { - VertexOutput o; - ZERO_INITIALIZE(VertexOutput, o); - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - float temp_output_18_0_g87 = _WindScrollSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch25_g87 = ( temp_output_18_0_g87 * varWindRustleScrollSpeed ); - #else - float staticSwitch25_g87 = temp_output_18_0_g87; - #endif - float3 ase_worldPos = TransformObjectToWorld( (v.vertex).xyz ); - float2 appendResult4_g87 = (float2(ase_worldPos.x , ase_worldPos.z)); - float2 temp_output_7_0_g87 = ( appendResult4_g87 * _WindRustleSize ); - float2 panner9_g87 = ( ( staticSwitch25_g87 * _TimeParameters.x ) * float2( 1,1 ) + temp_output_7_0_g87); - float temp_output_19_0_g87 = _WindJitterSpeed; - #ifdef _USEGLOBALWINDSETTINGS_ON - float staticSwitch26_g87 = ( temp_output_19_0_g87 * Float0 ); - #else - float staticSwitch26_g87 = temp_output_19_0_g87; - #endif - float2 panner13_g87 = ( ( _TimeParameters.x * staticSwitch26_g87 ) * float2( 1,1 ) + ( temp_output_7_0_g87 * float2( 2,2 ) )); - float4 lerpResult30_g87 = lerp( float4( float3(0,0,0) , 0.0 ) , ( pow( tex2Dlod( _NoiseTexture, float4( panner9_g87, 0, 0.0) ) , 1.0 ) * tex2Dlod( _NoiseTexture, float4( panner13_g87, 0, 0.0) ) ) , _WindOffsetIntensity); - float temp_output_27_0_g88 = _WIndSwayIntensity; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch33_g88 = ( temp_output_27_0_g88 * varWindSwayIntensity ); - #else - float staticSwitch33_g88 = temp_output_27_0_g88; - #endif - float temp_output_14_0_g88 = ( ( v.vertex.xyz.y * ( staticSwitch33_g88 / 100.0 ) ) + 1.0 ); - float temp_output_16_0_g88 = ( temp_output_14_0_g88 * temp_output_14_0_g88 ); - #ifdef _USESGLOBALWINDSETTINGS_ON - float2 staticSwitch41_g88 = varWindDirection; - #else - float2 staticSwitch41_g88 = _WindSwayDirection; - #endif - float2 clampResult10_g88 = clamp( staticSwitch41_g88 , float2( -1,-1 ) , float2( 1,1 ) ); - float4 transform1_g88 = mul(GetObjectToWorldMatrix(),float4( 0,0,0,1 )); - float4 appendResult3_g88 = (float4(transform1_g88.x , 0.0 , transform1_g88.z , 0.0)); - float dotResult4_g89 = dot( appendResult3_g88.xy , float2( 12.9898,78.233 ) ); - float lerpResult10_g89 = lerp( 1.0 , 1.01 , frac( ( sin( dotResult4_g89 ) * 43758.55 ) )); - float mulTime9_g88 = _TimeParameters.x * lerpResult10_g89; - float temp_output_29_0_g88 = _WIndSwayFrequency; - #ifdef _USESGLOBALWINDSETTINGS_ON - float staticSwitch34_g88 = ( temp_output_29_0_g88 * varWindSwayFrequency ); - #else - float staticSwitch34_g88 = temp_output_29_0_g88; - #endif - float2 break26_g88 = ( ( ( temp_output_16_0_g88 * temp_output_16_0_g88 ) - temp_output_16_0_g88 ) * ( ( ( staticSwitch41_g88 * float2( 4,4 ) ) + sin( ( ( clampResult10_g88 * mulTime9_g88 ) * staticSwitch34_g88 ) ) ) / float2( 4,4 ) ) ); - float4 appendResult25_g88 = (float4(break26_g88.x , 0.0 , break26_g88.y , 0.0)); - float4 temp_output_246_0 = appendResult25_g88; - #ifdef _TRUNKMATERIAL_ON - float4 staticSwitch100 = temp_output_246_0; - #else - float4 staticSwitch100 = ( ( float4( v.ase_normal , 0.0 ) * lerpResult30_g87 ) + temp_output_246_0 ); - #endif - float4 vWind116 = staticSwitch100; - - o.ase_texcoord1.xy = v.ase_texcoord.xy; - - //setting value to unused interpolator channels and avoid initialization warnings - o.ase_texcoord1.zw = 0; - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = vWind116.rgb; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - - v.ase_normal = v.ase_normal; - - float3 positionWS = TransformObjectToWorld( v.vertex.xyz ); - float3 normalWS = TransformObjectToWorldNormal(v.ase_normal); - - o.clipPos = TransformWorldToHClip(positionWS); - o.normalWS.xyz = normalWS; - - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float3 ase_normal : NORMAL; - float4 ase_texcoord : TEXCOORD0; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( VertexInput v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.ase_normal = v.ase_normal; - o.ase_texcoord = v.ase_texcoord; - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax; - float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - VertexOutput DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - VertexInput o = (VertexInput) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z; - o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z; - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal)); - float phongStrength = _TessPhongStrength; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - VertexOutput vert ( VertexInput v ) - { - return VertexFunction( v ); - } - #endif - - half4 frag(VertexOutput IN ) : SV_TARGET - { - SurfaceDescription surfaceDescription = (SurfaceDescription)0; - - float temp_output_235_0 = ( _FoliageSize / 100.0 ); - float2 appendResult234 = (float2(temp_output_235_0 , temp_output_235_0)); - float2 texCoord236 = IN.ase_texcoord1.xy * appendResult234 + float2( 0,0 ); - float4 tex2DNode124 = tex2D( _FoliageColorMap, texCoord236 ); - float vFoliageOpacity173 = tex2DNode124.a; - - - surfaceDescription.Alpha = vFoliageOpacity173; - surfaceDescription.AlphaClipThreshold = _MaskClipValue; - - #if _ALPHATEST_ON - clip(surfaceDescription.Alpha - surfaceDescription.AlphaClipThreshold); - #endif - - #ifdef LOD_FADE_CROSSFADE - LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x ); - #endif - - float3 normalWS = IN.normalWS; - - return half4(NormalizeNormalPerPixel(normalWS), 0.0); - } - - ENDHLSL - } - - } - - CustomEditor "UnityEditor.ShaderGraphUnlitGUI" - FallBack "Hidden/Shader Graph/FallbackError" - - Fallback Off -} -/*ASEBEGIN -Version=19105 -Node;AmplifyShaderEditor.RangedFloatNode;111;-3366.52,-2044.726;Inherit;False;Property;_GradientFallout;Gradient Fallout;8;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;110;-3364.521,-2127.726;Inherit;False;Property;_GradientOffset;Gradient Offset;7;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.TexturePropertyNode;123;-2704.77,-2184.466;Inherit;True;Property;_FoliageColorMap;Foliage Color Map;2;2;[Header];[SingleLineTexture];Create;True;2;Foliage;.;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 -Node;AmplifyShaderEditor.FunctionNode;131;-3076.101,-2118.791;Inherit;False;PA_SF_ObjectGradient;-1;;52;f7566061dd2a41c4bbc5f0e0ea7b5f5b;0;2;8;FLOAT;0;False;9;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.SamplerNode;124;-2448.591,-2185.154;Inherit;True;Property;_TextureSample2;Texture Sample 2;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.LerpOp;115;-2669.975,-2319.941;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;125;-2104.469,-2320.945;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;172;-1890.849,-2326.3;Inherit;False;vFoliageColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.CommentaryNode;259;-3522.616,-862.6478;Inherit;False;958.9546;897.2181;;14;312;325;300;283;298;310;323;303;322;324;307;279;297;301;Custom Lighting;1,1,1,1;0;0 -Node;AmplifyShaderEditor.CommentaryNode;122;-1209.571,1348.299;Inherit;False;1580.315;688.4131;Wind;12;194;212;116;100;246;77;101;104;102;252;256;257;;1,1,1,1;0;0 -Node;AmplifyShaderEditor.GetLocalVarNode;297;-3449.756,-446.9383;Inherit;False;172;vFoliageColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;256;-1021.847,1545.175;Inherit;False;Property;_WindRustleSize;Wind Rustle Size;15;0;Create;True;0;0;0;False;0;False;0.035;0;0;0.2;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;194;-1024.609,1387.139;Inherit;False;Property;_WindScrollSpeed;Wind Scroll Speed;12;0;Create;True;0;0;0;False;0;False;0.05;0;0;0.5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;252;-1023.142,1470.882;Inherit;False;Property;_WindOffsetIntensity;Wind Offset Intensity;14;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;102;-972.6572,1786.634;Inherit;False;Property;_WIndSwayFrequency;WInd Sway Frequency;20;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;101;-958.6573,1705.634;Inherit;False;Property;_WIndSwayIntensity;WInd Sway Intensity;19;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.Vector2Node;104;-959.6573,1864.635;Inherit;False;Property;_WindSwayDirection;Wind Sway Direction;18;0;Create;True;0;0;0;False;0;False;1,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 -Node;AmplifyShaderEditor.IndirectDiffuseLighting;301;-3448.753,-539.937;Inherit;False;Tangent;1;0;FLOAT3;0,0,1;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.RangedFloatNode;212;-1019.474,1626.56;Inherit;False;Property;_WindJitterSpeed;Wind Jitter Speed;13;0;Create;True;0;0;0;False;0;False;0.05;0;0;0.5;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;303;-3288.529,-363.8424;Inherit;False;Property;_IndirectLightningIntensity;Indirect Lightning Intensity;23;0;Create;True;0;0;0;False;0;False;1;0;1;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;257;-710.6141,1493.55;Inherit;False;PA_SF_WindRustleNoise;9;;87;7733c52bc6ce2e94b9c81cb72dee5854;0;4;18;FLOAT;0;False;33;FLOAT;1;False;35;FLOAT;0.035;False;19;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;298;-3418.625,-248.9114;Inherit;False;172;vFoliageColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;279;-3458.255,-766.8471;Inherit;False;172;vFoliageColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;283;-3501.57,-160.0811;Inherit;False;Property;_LightOffset;Light Offset;21;0;Create;True;0;0;0;False;2;Header(Lighting Settings);Space(5);False;0;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;300;-3502.948,-60.73007;Inherit;False;Property;_DirectLightInt;Direct Light Int;22;0;Create;True;0;0;0;False;0;False;1;0;1;10;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;307;-3151.009,-466.4042;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;246;-699.9568,1632.734;Inherit;False;PA_SF_WindSway;16;;88;bc8ec8a781a3c384e9042e29b2eae6d5;0;3;27;FLOAT;0;False;29;FLOAT;1;False;30;FLOAT2;1,0;False;1;FLOAT4;0 -Node;AmplifyShaderEditor.FunctionNode;324;-3151.632,-761.2469;Inherit;False;PA_SF_Subsurface;0;;90;8f5ee1ef24284b9448f8c4a7274f8883;0;2;23;FLOAT4;0,0,0,0;False;24;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;77;-362.2125,1493.299;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;323;-2980.28,-465.283;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;325;-3182.808,-177.1063;Inherit;False;PA_SF_CustomLightning;-1;;91;898d5a8db4cd68548bb7f6d6ea6222d8;0;3;15;FLOAT4;0,0,0,0;False;16;FLOAT;1;False;17;FLOAT;1;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;310;-2813.299,-469.4492;Inherit;False;vIndirectLightning;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;322;-2812.493,-767.5549;Inherit;False;vSubsurface;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;312;-2907.118,-182.0311;Inherit;False;DirectLight;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.StaticSwitch;100;-185.6695,1601.949;Inherit;False;Property;_TrunkMaterial;Trunk Material?;13;0;Create;True;0;0;0;False;1;Header(TRUNK);False;0;0;0;True;;Toggle;2;Key0;Key1;Reference;-1;True;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;116;63.9295,1601.649;Inherit;False;vWind;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RegisterLocalVarNode;173;-2059.848,-2090.301;Inherit;False;vFoliageOpacity;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;183;934.7533,1017.369;Inherit;False;173;vFoliageOpacity;1;0;OBJECT;;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;107;861.2644,1098.013;Inherit;False;Property;_MaskClipValue;Mask Clip Value;3;0;Create;True;0;0;0;False;0;False;0.5;0;0;1;0;1;FLOAT;0 -Node;AmplifyShaderEditor.GetLocalVarNode;117;971.1143,1177.033;Inherit;False;116;vWind;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;318;458.9124,1050.601;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;315;-109.8926,1187.443;Inherit;False;322;vSubsurface;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;316;-100.8076,1107.025;Inherit;False;312;DirectLight;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.GetLocalVarNode;314;-140.9006,1015.151;Inherit;False;310;vIndirectLightning;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleAddOpNode;359;696.9216,886.3589;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.FunctionNode;326;48.68359,926.2839;Inherit;False;SRP Additional Light;-1;;92;6c86746ad131a0a408ca599df5f40861;7,6,0,9,0,23,0,27,0,25,0,24,0,26,0;6;2;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;15;FLOAT3;0,0,0;False;14;FLOAT3;1,1,1;False;18;FLOAT;0.5;False;32;FLOAT4;0,0,0,0;False;1;FLOAT3;0 -Node;AmplifyShaderEditor.GetLocalVarNode;317;87.9624,820.736;Inherit;False;172;vFoliageColor;1;0;OBJECT;;False;1;COLOR;0 -Node;AmplifyShaderEditor.SimpleMultiplyOpNode;327;507.6836,887.2839;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 -Node;AmplifyShaderEditor.RangedFloatNode;233;-3168.68,-1908.24;Inherit;False;Property;_FoliageSize;Foliage Size;4;0;Create;True;0;0;0;False;0;False;100;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.SimpleDivideOpNode;235;-2992.766,-1902.639;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;100;False;1;FLOAT;0 -Node;AmplifyShaderEditor.DynamicAppendNode;234;-2858.58,-1909.941;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 -Node;AmplifyShaderEditor.TextureCoordinatesNode;236;-2701.017,-1931.832;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;112;-3015.271,-2301.595;Inherit;False;Property;_FoliageColorTop;Foliage Color Top;5;1;[Header];Create;True;0;0;0;False;0;False;1,1,1,0;1,0,0.7909455,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.ColorNode;114;-3026.939,-2483.921;Inherit;False;Property;_FoliageColorBottom;Foliage Color Bottom;6;0;Create;True;0;0;0;False;0;False;0,0,0,0;1,0,0.7909455,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;391;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;0;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;393;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=ShadowCaster;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;394;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;False;False;True;False;False;False;False;0;False;;False;False;False;False;False;False;False;False;False;True;1;False;;False;False;True;1;LightMode=DepthOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;395;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;396;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Universal2D;0;5;Universal2D;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;0;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;397;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;SceneSelectionPass;0;6;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;398;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ScenePickingPass;0;7;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;399;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormals;0;8;DepthNormals;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;False;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;400;1411.169,889.1141;Float;False;False;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthNormalsOnly;0;9;DepthNormalsOnly;0;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;0;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;False;;True;3;False;;False;True;1;LightMode=DepthNormalsOnly;False;True;9;d3d11;metal;vulkan;xboxone;xboxseries;playstation;ps4;ps5;switch;0;;0;0;Standard;0;False;0 -Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;392;1411.169,889.1141;Float;False;True;-1;2;UnityEditor.ShaderGraphUnlitGUI;0;13;Polyart/Dreamscape/URP/Tree Wind Custom Lighting;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;False;False;False;False;True;0;False;;False;True;2;False;;False;False;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;False;False;False;True;4;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;UniversalMaterialType=Unlit;True;3;True;12;all;0;False;True;1;1;False;;0;False;;1;1;False;;0;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;1;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForwardOnly;False;False;0;;0;0;Standard;23;Surface;0;0; Blend;0;0;Two Sided;0;638099232587446857;Forward Only;0;0;Cast Shadows;1;0; Use Shadow Threshold;0;0;Receive Shadows;1;0;GPU Instancing;1;0;LOD CrossFade;0;0;Built-in Fog;1;638126632095055901;DOTS Instancing;0;0;Meta Pass;0;0;Extra Pre Pass;0;0;Tessellation;0;0; Phong;0;0; Strength;0.5,False,;0; Type;0;0; Tess;16,False,;0; Min;10,False,;0; Max;25,False,;0; Edge Length;16,False,;0; Max Displacement;25,False,;0;Vertex Position,InvertActionOnDeselection;1;0;0;10;False;True;True;True;False;False;True;True;True;True;False;;False;0 -Node;AmplifyShaderEditor.RangedFloatNode;401;-4557.155,-686.1132;Inherit;False;Property;_SubsurfaceFadeDistance;Subsurface Fade Distance;25;0;Create;True;0;0;0;False;0;False;200;0;0;0;0;1;FLOAT;0 -Node;AmplifyShaderEditor.LerpOp;402;-3840.689,-776.2373;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 -Node;AmplifyShaderEditor.FunctionNode;404;-4245.709,-680.3781;Inherit;False;PA_SF_DistanceBlend;-1;;95;35a1c16c00037ed46b6114de6dd42a44;0;2;6;FLOAT;200;False;8;FLOAT;2;False;1;FLOAT;0 -Node;AmplifyShaderEditor.RangedFloatNode;296;-4316.761,-869.2956;Inherit;False;Property;_SubsurfaceIntensity;Subsurface Intensity;24;0;Create;True;0;0;0;False;0;False;10;0;0;100;0;1;FLOAT;0 -WireConnection;131;8;110;0 -WireConnection;131;9;111;0 -WireConnection;124;0;123;0 -WireConnection;124;1;236;0 -WireConnection;115;0;114;0 -WireConnection;115;1;112;0 -WireConnection;115;2;131;0 -WireConnection;125;0;115;0 -WireConnection;125;1;124;0 -WireConnection;172;0;125;0 -WireConnection;257;18;194;0 -WireConnection;257;33;252;0 -WireConnection;257;35;256;0 -WireConnection;257;19;212;0 -WireConnection;307;0;301;0 -WireConnection;307;1;297;0 -WireConnection;246;27;101;0 -WireConnection;246;29;102;0 -WireConnection;246;30;104;0 -WireConnection;324;23;279;0 -WireConnection;324;24;402;0 -WireConnection;77;0;257;0 -WireConnection;77;1;246;0 -WireConnection;323;0;307;0 -WireConnection;323;1;303;0 -WireConnection;325;15;298;0 -WireConnection;325;16;283;0 -WireConnection;325;17;300;0 -WireConnection;310;0;323;0 -WireConnection;322;0;324;0 -WireConnection;312;0;325;0 -WireConnection;100;1;77;0 -WireConnection;100;0;246;0 -WireConnection;116;0;100;0 -WireConnection;173;0;124;4 -WireConnection;318;0;314;0 -WireConnection;318;1;316;0 -WireConnection;318;2;315;0 -WireConnection;359;0;327;0 -WireConnection;359;1;318;0 -WireConnection;327;0;317;0 -WireConnection;327;1;326;0 -WireConnection;235;0;233;0 -WireConnection;234;0;235;0 -WireConnection;234;1;235;0 -WireConnection;236;0;234;0 -WireConnection;392;2;359;0 -WireConnection;392;3;183;0 -WireConnection;392;4;107;0 -WireConnection;392;5;117;0 -WireConnection;402;0;296;0 -WireConnection;402;2;404;0 -WireConnection;404;6;401;0 -ASEEND*/ -//CHKSM=798E0FEC104DBD55991FDD7C6BC14FA97BBC339E \ No newline at end of file diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader.meta deleted file mode 100644 index 324deda74..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Shaders/Foliage/PA_TreeWind_CustomLighting.shader.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3183693b08ea2c3498466aeab483a701 -ShaderImporter: - externalObjects: {} - defaultTextures: - - _NoiseTexture: {fileID: 2800000, guid: d5c189d1879805542bfc315efacf4db4, type: 3} - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures.meta index a1107c340..85f89d7cc 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8c76975752191744493e441c4324c07b +guid: a3d44a43e1f231749b697a061a387ea8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility.meta index 371e8c72a..0f03e6ad0 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f3ff1621fff2a8f4b9e837b2472f84ea +guid: 3959b1f386ede954cb5327e7a3e462a1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_02.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_02.png.meta index 06870fe81..c44d09a4f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_02.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_02.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: d5c189d1879805542bfc315efacf4db4 +guid: 42eb6569a7b04954aa2178c791db2fc2 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -83,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_03.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_03.png.meta index 8542416db..bc220b84b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_03.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/Polyart/PolyartStudio/SharedResources/Textures/Utility/T_Noise_03.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: ecd0578dd5d2cb54e90e298c6fbe1019 +guid: a93752c20d72afb4bace96ecb42e085a TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 10 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -20,9 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +34,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -54,11 +57,17 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -68,12 +77,27 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -83,9 +107,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D.meta index e6970a68d..5bc1e8c17 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ba3c796d56e32eb48afe80cba248ccf8 +guid: c06447003bbd86d49b651b3bfb4697bc folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/test_1.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/test_1.fbx.meta index 4d2fdf9d8..5e8a8d59e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/test_1.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/test_1.fbx.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 5ca7e2096e54e9a478d9b2b5c1d48c5a +guid: a27c33db5a1c3bd48aae3d4b21fab536 ModelImporter: - serializedVersion: 22200 + serializedVersion: 24200 internalIDToNameTable: [] externalObjects: {} materials: @@ -16,8 +16,6 @@ ModelImporter: optimizeGameObjects: 0 removeConstantScaleCurves: 0 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -40,6 +38,7 @@ ModelImporter: addColliders: 0 useSRGBMaterialColor: 1 sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 @@ -57,6 +56,9 @@ ModelImporter: maxBonesPerVertex: 4 minBoneWeight: 0.001 optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture.meta index 600606890..5d9e07c36 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 595345081212f2249b91d885995021a6 +guid: cf98885b3d67d9e49a0e6b45cc1cabc1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat deleted file mode 100644 index 5f8079920..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat +++ /dev/null @@ -1,140 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7933195397713358346 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: New Material - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _NORMALMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 875ef49d07ae03a4fb9586675f16a58c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 395dc0614f5d3ee428094bad387cb416, type: 3} - 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: 2800000, guid: 875ef49d07ae03a4fb9586675f16a58c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 875ef49d07ae03a4fb9586675f16a58c, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat.meta deleted file mode 100644 index c94f09d1f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/New Material.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dc19a35874ed2924e802fc26acec31e7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Simbol_albedo.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Simbol_albedo.png.meta index a0375a83d..0547bfffb 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Simbol_albedo.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Simbol_albedo.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 875ef49d07ae03a4fb9586675f16a58c +guid: 130a1d5f9db0b9c4288715b6a28a791a TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_2_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_2_Mixed_AO.png.meta index 762ffb6ff..c7a7095b4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_2_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_2_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 1af7cb3e7efdb5847a6d4c4f82c5b6a7 +guid: f54f3213404d3a84fbf7a7f37eae9caf TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_3_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_3_Mixed_AO.png.meta index bcb31b91a..6bac72160 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_3_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_3_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 6d985108ca0228041b1ce64e3c72093b +guid: b12e4dad82af4f7449f7187dc5f7c791 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_Mixed_AO.png.meta index 2ee547b76..17af4542a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 5d52d612646dcec4c9e96ae9df045eaa +guid: a3927d5dc8f9c0f4483df1935bbba929 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_albedo_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_albedo_AO.png.meta index 985cd3e22..88cea1066 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_albedo_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Wall_4_albedo_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: b8231a31e13a6e54d95566b72890d482 +guid: 2692ce249e012ac4a9c695f4f90233b6 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Mixed_AO.png.meta index 8234d64bf..280eb9fef 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 7f3bc7f539ab76640b51cefe4568e80c +guid: 5a10fa11da21fa74c99180012e7a6160 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Normal_OpenGL.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Normal_OpenGL.png.meta index b0617fe2c..45b2ada69 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Normal_OpenGL.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/Window_1_Normal_OpenGL.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 1b21eb1de38898f4396288c19ef8bef2 +guid: 9a03db2c0422e074290d5a6665d03b98 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2.meta index ef4cf2809..ad74e2e27 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 942fefa64740bb94ca61ea6765a7eaf2 +guid: 8ce5ecf2a0e88e145b81b5768786f2c0 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat deleted file mode 100644 index 77c114b23..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat +++ /dev/null @@ -1,140 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3033130571365767533 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: cap2 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: f842d8a9a8974764ba6f74c5b7e200cb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: f842d8a9a8974764ba6f74c5b7e200cb, type: 3} - 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: 2800000, guid: 9ad344fe7990a0841992295b7ca0ff12, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat.meta deleted file mode 100644 index 0c4f56cf4..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/cap2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0ee793609bb5d3040b5f9084a53c0c52 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Base_color.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Base_color.png.meta index b991e0be5..a072e3e94 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Base_color.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Base_color.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: f842d8a9a8974764ba6f74c5b7e200cb +guid: 3e0ff0a262bdfdc429af13e3e55fd650 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Mixed_AO.png.meta index 9118a7b62..6adb0b199 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/cap2/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 9ad344fe7990a0841992295b7ca0ff12 +guid: 51db528a7b685c348bfa7179efb23692 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps.meta index 38405b998..27d01319f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 10cc09aaaca38c4408de637cbc6034f6 +guid: d0e3bc2a0c2aaaa4fb77300a1842c896 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat deleted file mode 100644 index 3a8c631a5..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat +++ /dev/null @@ -1,142 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8226189203465708853 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: caps - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _ENVIRONMENTREFLECTIONS_OFF - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 8036e215261f408458c376792715ab5c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 8036e215261f408458c376792715ab5c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 8036e215261f408458c376792715ab5c, type: 3} - 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: 2800000, guid: 92679224c3120254e849023a101e4d1b, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat.meta deleted file mode 100644 index fa2ebdff4..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/caps.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: de1305b10cc5a5648955db7a29789c78 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Base_color_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Base_color_AO.png.meta index 451b33d42..29f0da394 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Base_color_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Base_color_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 8036e215261f408458c376792715ab5c +guid: bd0ab007f6ba6864287dd0527bab2f6d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,9 +67,9 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -77,59 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Mixed_AO.png.meta index d9324e8fe..d7b9a36e6 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/caps/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 92679224c3120254e849023a101e4d1b +guid: 550b0380055e0bf45a0822b6649931a6 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,9 +67,9 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -77,59 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor.meta index f8d547084..ba782656d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 11c043f2b88183b48a7da8f506534162 +guid: f8ab06dd54d68d84685e010c64a8ad94 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat deleted file mode 100644 index ba1c51294..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat +++ /dev/null @@ -1,142 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5928433714765873242 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: floor - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _ENVIRONMENTREFLECTIONS_OFF - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 77637e67e4683b84a8e2bf01859ef62e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 8f55248c26fb4ae489f4cb41293c1110, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 77637e67e4683b84a8e2bf01859ef62e, type: 3} - 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: 2800000, guid: 1ae2304747844fc4689651583362638e, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat.meta deleted file mode 100644 index 7ae3f8e79..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/floor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7b850e7bf0822d34681d44031a09c651 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color.png.meta index e7d7b3a68..3ec8fecd6 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 8f55248c26fb4ae489f4cb41293c1110 +guid: 5f547360f1b288c47bb2475d10b4c96a TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color_albedo.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color_albedo.png.meta index 7747f09eb..046549a9b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color_albedo.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Base_color_albedo.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 77637e67e4683b84a8e2bf01859ef62e +guid: 9742fdc9282250a4fa9ef7ef10b3352b TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Mixed_AO.png.meta index 86f982191..e0acd7f28 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/floor/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 1ae2304747844fc4689651583362638e +guid: f3457881bef3b5541af0fc996d4bc1a3 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar.meta index 50b58af82..7728f10ab 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5237eb0d68428514b8d1e0f7c87c02eb +guid: b2a68d1c3c64f9844983938bbe8db6f1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat deleted file mode 100644 index c290127ea..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-123633178335046410 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: New Material - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _ENVIRONMENTREFLECTIONS_OFF - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 7d9658e79eb4c9f428eb40c361c0cc47, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 8c4a911bab99fba4fbb0c7a59a73eed1, type: 3} - 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: 2800000, guid: 7d9658e79eb4c9f428eb40c361c0cc47, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 7d9658e79eb4c9f428eb40c361c0cc47, type: 3} - 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: 2800000, guid: cb1ce60624d40a54bbec6044f1d36e31, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.39215687, g: 0.39215687, b: 0.39215687, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat.meta deleted file mode 100644 index 36ee47a1a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/New Material.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 05edc1d1cd09a61449d0474c2d809825 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Base_color.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Base_color.png.meta index 9066f45ea..e9591a11a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Base_color.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Base_color.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 7d9658e79eb4c9f428eb40c361c0cc47 +guid: 3fa7e26ad82155d42a99d1a2b588d543 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Mixed_AO.png.meta index 7bdf68a6f..feb9b4bf4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/Simbol_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: cb1ce60624d40a54bbec6044f1d36e31 +guid: a1f6661a4e2982c408cbda82b9d59280 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat deleted file mode 100644 index df25ce422..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat +++ /dev/null @@ -1,141 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: pillar - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 2a8f277bc597da4429d149a63a637e3d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: f7df6094cd4ca5f4fb8aa3950ea72d68, type: 3} - 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: 2800000, guid: 2a8f277bc597da4429d149a63a637e3d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2a8f277bc597da4429d149a63a637e3d, type: 3} - 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: 2800000, guid: bd2cc0c8ea1c34a41828b948f4526b9e, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 18fcff52433f28d40a6c0cd793547a86, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &3082344386532931586 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat.meta deleted file mode 100644 index 05c013048..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6227590d267c1f840925e5624f7a5640 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_Simbol_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_Simbol_Normal.png.meta index ca57ee7fa..c1a6cf889 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_Simbol_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_Simbol_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 8c4a911bab99fba4fbb0c7a59a73eed1 +guid: 792d0e0c1f3713d47a58a18fa33e4725 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Albedo_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Albedo_ao.png.meta index 1e5af4c54..4a0a62e94 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Albedo_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Albedo_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 2a8f277bc597da4429d149a63a637e3d +guid: 750e6241d6c0f1a4e86a6cd8fee37d35 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Normal.png.meta index bf3b96d5a..6470de16d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: f7df6094cd4ca5f4fb8aa3950ea72d68 +guid: 6a860900c9931c04fa3d84fd8bb685b2 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_SpecularSmoothness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_SpecularSmoothness.png.meta index 0f2c34ce5..f241e4907 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_SpecularSmoothness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/pillar_standardSurface1_SpecularSmoothness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 18fcff52433f28d40a6c0cd793547a86 +guid: 5bbdad5d27d2c17488f5d0d7bb7ae2ed TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/wood_Base_color_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/wood_Base_color_ao.png.meta index a127bacda..c833ec4a6 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/wood_Base_color_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/pillar/wood_Base_color_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 82539421b51929547b4bddd14ade95c6 +guid: b8b818fe08fbbb34096ed20f5a137b98 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/standardSurface1_Mixed_AO.png.meta index 01fc62224..ca5d3a80e 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: bd2cc0c8ea1c34a41828b948f4526b9e +guid: ac59d8a0429ffa44487b0ce6e76ab45f TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou.meta index 4037de5d8..f467378ae 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f8ed961dc8e38cd4daefcb9e0476b7c2 +guid: 93aac1fff4effeb4985791a2fbb20ba8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Base_color_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Base_color_ao.png.meta index 20f740d20..a65f66168 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Base_color_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Base_color_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: bc956193a1b5bb0459632520c8994402 +guid: d1e61f7a93c560f4fb9d83a3f846eff8 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Mixed_AO.png.meta index b984deefe..4e4299e0f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 2a71e50e80debfc4d8c2ccdbd3de38ac +guid: 64dac365ad79de7468cf636cf2e0a48e TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Normal_OpenGL.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Normal_OpenGL.png.meta index cc570f489..486ee0080 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Normal_OpenGL.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/standardSurface1_Normal_OpenGL.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: df6d6619c3a1eb34f9d9449a4e9e0be7 +guid: 06ba7173730467b40af4179cdfb7dd12 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat deleted file mode 100644 index c7cbd6dcc..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat +++ /dev/null @@ -1,141 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2607516379406565054 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: tenchou_wheel - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: bc956193a1b5bb0459632520c8994402, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: df6d6619c3a1eb34f9d9449a4e9e0be7, type: 3} - 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: 2800000, guid: bc956193a1b5bb0459632520c8994402, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: bc956193a1b5bb0459632520c8994402, type: 3} - 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: 2800000, guid: 2a71e50e80debfc4d8c2ccdbd3de38ac, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 0.7 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat.meta deleted file mode 100644 index 423a54240..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenchou/tenchou_wheel.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e77d118f638b6ca419dab874c3368534 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2.meta index 31cf95339..7b8d748a4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1c8a290d72fee514aaa0ffefe8c6ab68 +guid: 4207ad66687199247af14d204fff542e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Base_color_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Base_color_ao.png.meta index 7adc6023e..4522f4496 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Base_color_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Base_color_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: f4ca25f0be7a1fc44b23455df4fb3b86 +guid: 13c4eca33f7924942994649be1ceb8e7 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Mixed_AO.png.meta index 7f33af8d8..6d0b4244b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 0a3a69b4d1e53454195c019a9f46de44 +guid: a03f4a3228af3054bb17975a072cebfb TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Roughness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Roughness.png.meta index 27728dbfd..f0e7b608d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Roughness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/standardSurface1_Roughness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 4dc7edc460c07bf4bb5bfcca11640ac3 +guid: d45d7250ee3acd64dbb10c0c4a86970f TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat deleted file mode 100644 index a8fecdb0b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat +++ /dev/null @@ -1,144 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8881921374557014355 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: tenjou2 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _ENVIRONMENTREFLECTIONS_OFF - - _METALLICSPECGLOSSMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - - _METALLICGLOSSMAP - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: f4ca25f0be7a1fc44b23455df4fb3b86, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: f4ca25f0be7a1fc44b23455df4fb3b86, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: f4ca25f0be7a1fc44b23455df4fb3b86, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 4dc7edc460c07bf4bb5bfcca11640ac3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 0a3a69b4d1e53454195c019a9f46de44, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 4dc7edc460c07bf4bb5bfcca11640ac3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 0.588 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat.meta deleted file mode 100644 index ac32ba6c2..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou2/tenjou2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 69cb575c2c1f7454fb6f5de995cf5a30 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3.meta index 365361635..92e44ec13 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 82cffbe9dae62b5489bed2529cdddbb7 +guid: 76d6067e8b444ff4c91a56986353bb68 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Base_color.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Base_color.png.meta index 3a3c648b4..884930a32 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Base_color.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Base_color.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 00dfbf86617c6684d8d46fa0eb7e9416 +guid: d9e8b81fd49d16446b90cd7d1cc9c04a TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Mixed_AO.png.meta index a1ff02606..475dafef4 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 585aa763c0a9d2f48994df88ced8c198 +guid: ce93d08e6f4e2ec4f9f0c2aafa7ea385 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Roughness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Roughness.png.meta index 50b9309eb..9a9392e68 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Roughness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/standardSurface1_Roughness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 3139d7cb44334774a93ebfd3df92ed68 +guid: c01eb8ece7a9cb345b67757022672bbf TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat deleted file mode 100644 index f5596c9f1..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat +++ /dev/null @@ -1,140 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7798974431811799656 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: tenjou3 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 00dfbf86617c6684d8d46fa0eb7e9416, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 00dfbf86617c6684d8d46fa0eb7e9416, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 00dfbf86617c6684d8d46fa0eb7e9416, type: 3} - 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: 2800000, guid: 585aa763c0a9d2f48994df88ced8c198, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 3139d7cb44334774a93ebfd3df92ed68, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 0.443 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.39215687, g: 0.39215687, b: 0.39215687, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat.meta deleted file mode 100644 index dfe32d486..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/tenjou3/tenjou3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 08dba77f6056e044b96cf878210e4d7a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat deleted file mode 100644 index 9f943c64e..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8553094038158150053 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: wall2 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: b214630b17b420348903625377797a63, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: bfd0caac1d26af441a4df1d4bfd5515d, type: 3} - 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: 2800000, guid: b214630b17b420348903625377797a63, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b214630b17b420348903625377797a63, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 1af7cb3e7efdb5847a6d4c4f82c5b6a7, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.4716981, g: 0.4716981, b: 0.4716981, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat.meta deleted file mode 100644 index 78458caad..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d65ce4095f034e24c8a2cbc0a50f24f3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_2_albedo_ao.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_2_albedo_ao.png.meta index 753819f6f..9b4b1ec86 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_2_albedo_ao.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_2_albedo_ao.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: b214630b17b420348903625377797a63 +guid: cb1bb66d02826ab42b67ed6a0c0302d8 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat deleted file mode 100644 index 47b209d6a..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8553094038158150053 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: wall_3 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e81f99984e5b65d4990b4884be846b57, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 9498f86206e66f24e8bf546dab851f0d, type: 3} - 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: 2800000, guid: e81f99984e5b65d4990b4884be846b57, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e81f99984e5b65d4990b4884be846b57, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 6d985108ca0228041b1ce64e3c72093b, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: db061ac6b64cf184abdbb90c23d9d6b1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.4339623, g: 0.4339623, b: 0.4339623, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat.meta deleted file mode 100644 index a0e570372..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8cb709c93726e0a42b9240db187b7bbb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3_albedo_AO_re.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3_albedo_AO_re.png.meta index 6e7fbd660..bdbf762ea 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3_albedo_AO_re.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_3_albedo_AO_re.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: e81f99984e5b65d4990b4884be846b57 +guid: 800d5fd0c79042e43b0b92d7e1a4986d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat deleted file mode 100644 index e88081409..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat +++ /dev/null @@ -1,137 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8553094038158150053 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: wall_4 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: b8231a31e13a6e54d95566b72890d482, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: c89565dbefd4ce44fb0659af0c7b5f90, type: 3} - 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: 2800000, guid: b8231a31e13a6e54d95566b72890d482, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b8231a31e13a6e54d95566b72890d482, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 5d52d612646dcec4c9e96ae9df045eaa, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 19e34fab14093714399d8fb8c1a61952, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8018868, g: 0.8018868, b: 0.8018868, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat.meta deleted file mode 100644 index e8929531f..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 164acb9154f5f0d479920e93af98fe43 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Simbol_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Simbol_Normal.png.meta index 8bfed1a4d..ae67b8cbd 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Simbol_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Simbol_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 395dc0614f5d3ee428094bad387cb416 +guid: 0291d678db4f5674d884762f7586449d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_Normal.png.meta index 8e867e436..de98fc649 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: bfd0caac1d26af441a4df1d4bfd5515d +guid: 632193e96f6b5b642810b894887d1247 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_SpecularSmoothness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_SpecularSmoothness.png.meta index b8d80acfc..52ac30301 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_SpecularSmoothness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_2_SpecularSmoothness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: b29fa53379fc7b04faf31d1eed277ae8 +guid: cdf51a4f819e0c24c8f98c8df03ef8ac TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_Normal.png.meta index 2f19a43bc..e7fd41479 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 9498f86206e66f24e8bf546dab851f0d +guid: 327d07548f35f3649b02c135a3700124 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_SpecularSmoothness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_SpecularSmoothness.png.meta index 6544b606a..65563e61a 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_SpecularSmoothness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_3_SpecularSmoothness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: db061ac6b64cf184abdbb90c23d9d6b1 +guid: d1249c7d25c00e64f9de758ebb971137 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_Normal.png.meta index 36b01ef7f..d61bd82f7 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: c89565dbefd4ce44fb0659af0c7b5f90 +guid: ae030594eae9212458e116cdaba54309 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_SpecularSmoothness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_SpecularSmoothness.png.meta index 58dcab6b7..395b97872 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_SpecularSmoothness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_Wall_4_SpecularSmoothness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 19e34fab14093714399d8fb8c1a61952 +guid: 92d87576a7f5db44489eb7db00bf3d94 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_Normal.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_Normal.png.meta index abf6ba356..b9827487d 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_Normal.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_Normal.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: 55a50c82d9145d84d863c6b1c402a5c3 +guid: 8a4a7af1d83fbc8498f5f02f73043325 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_SpecularSmoothness.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_SpecularSmoothness.png.meta index 7ba6b3f57..88b55d52b 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_SpecularSmoothness.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wall_for_texture_wood_SpecularSmoothness.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 586bfa2320bcaac45bc477507418caca +guid: 140dc7ba43c9f1b449ce99ecc7f06b97 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f.meta index 3bf36f248..cfdc9f827 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: de711624129233942be825fcc1e49701 +guid: 6d0c9602d61065e49884a7e093915ca4 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f/cP_WaterFountain_Mat_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f/cP_WaterFountain_Mat_Mixed_AO.png.meta index 6f86867fc..ee6b6d9e0 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f/cP_WaterFountain_Mat_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/water_f/cP_WaterFountain_Mat_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: b87810f4433035840a262bc11eb5bc56 +guid: 65035dade99cc204da28f17b7cac2efc TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat deleted file mode 100644 index 80e7a5d61..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat +++ /dev/null @@ -1,147 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8553094038158150053 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: window - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 82539421b51929547b4bddd14ade95c6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 1b21eb1de38898f4396288c19ef8bef2, type: 3} - 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: 2800000, guid: 82539421b51929547b4bddd14ade95c6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 82539421b51929547b4bddd14ade95c6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 7f3bc7f539ab76640b51cefe4568e80c, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TerrainHolesTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat.meta deleted file mode 100644 index b94936e1b..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/window.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 12743528e7093444ebdc72bd12970ffe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat deleted file mode 100644 index 81b8143d9..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8553094038158150053 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: wood - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _ENVIRONMENTREFLECTIONS_OFF - - _METALLICSPECGLOSSMAP - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - - _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 907e88e5b477cbb49986b237c84f10e8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 55a50c82d9145d84d863c6b1c402a5c3, type: 3} - 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: 2800000, guid: 907e88e5b477cbb49986b237c84f10e8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 907e88e5b477cbb49986b237c84f10e8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: b29fa53379fc7b04faf31d1eed277ae8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 66dbb373182e5b64d953bcb9befd269a, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 2800000, guid: 586bfa2320bcaac45bc477507418caca, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat.meta deleted file mode 100644 index c08145811..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a6a13901f815dce469779636c0671c92 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.meta index 3786e225e..5c73996ac 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7ee02d7a4cf446b4192b7c11c0b9fc1c +guid: 74fca5a576f37d94ba4adafb92924f7c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat deleted file mode 100644 index c3f0d1242..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6000314957330199046 -MonoBehaviour: - m_ObjectHideFlags: 11 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 10 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: New Material - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _ENVIRONMENTREFLECTIONS_OFF - - _NORMALMAP - - _OCCLUSIONMAP - m_InvalidKeywords: - - _GLOSSYREFLECTIONS_OFF - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 0ebb0a74ff2e7684e96032cffe388123, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: be299eb0d55daf64f99d58f27bae2337, type: 3} - 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: 2800000, guid: 0ebb0a74ff2e7684e96032cffe388123, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 0ebb0a74ff2e7684e96032cffe388123, type: 3} - 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: 2800000, guid: 4fd9eaf23d891db49b74686d27f7919d, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 0 - - _GlossMapScale: 0 - - _Glossiness: 0 - - _GlossyReflections: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.005 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0.8039216, g: 0.8039216, b: 0.8039216, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat.meta deleted file mode 100644 index 93d96931c..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/New Material.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0c75a47df6e1daa48aa1b263d8a23f23 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Mixed_AO.png.meta index 84eb37fbc..6e760fd28 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 4fd9eaf23d891db49b74686d27f7919d +guid: a421804f90850ae438f61c9ad045c546 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,9 +67,9 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -77,59 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Normal_OpenGL.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Normal_OpenGL.png.meta index 3409d3d4b..383abdaf6 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Normal_OpenGL.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface1_Normal_OpenGL.png.meta @@ -1,13 +1,13 @@ fileFormatVersion: 2 -guid: be299eb0d55daf64f99d58f27bae2337 +guid: 0abd94717844ad344b91050dc0cd9342 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 - sRGBTexture: 0 + sRGBTexture: 1 linearTexture: 0 fadeOut: 0 borderMipMap: 0 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -54,7 +54,7 @@ TextureImporter: alphaUsage: 1 alphaIsTransparency: 0 spriteTessellationDetail: -1 - textureType: 1 + textureType: 0 textureShape: 1 singleChannelComponent: 0 flipbookRows: 1 @@ -67,9 +67,9 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -77,59 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface2_Base_color_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface2_Base_color_AO.png.meta index dece39642..ac5644d6f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface2_Base_color_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood/standardSurface2_Base_color_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 0ebb0a74ff2e7684e96032cffe388123 +guid: f71dccde3766a6643ac480046036d887 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,9 +67,9 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -77,59 +77,12 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_Mixed_AO.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_Mixed_AO.png.meta index a8156fa7c..19dc4e0dc 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_Mixed_AO.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_Mixed_AO.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 66dbb373182e5b64d953bcb9befd269a +guid: e8991ceddc0826c419ffefbf2e728b9d TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_albedo.png.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_albedo.png.meta index 42e8de0a8..46d31272f 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_albedo.png.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/leejooin_3D/texture/wood_albedo.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 -guid: 907e88e5b477cbb49986b237c84f10e8 +guid: e863b9fee68de51429c8f244b93f30ee TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 1 @@ -35,7 +35,7 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 1 - aniso: 2 + aniso: 1 mipBias: 0 wrapU: 0 wrapV: 0 @@ -67,69 +67,22 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 compressionQuality: 50 - crunchedCompression: 1 + crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -137,12 +90,14 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: @@ -152,6 +107,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.prefab.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.prefab.meta index eb84c48a3..8fc8000d0 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.prefab.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 66e491be5589c48418b90dbdaeea386e +guid: 2100c7d57b837f74897019575fa46a95 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.unity.meta b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.unity.meta index 081f83958..e404219e8 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.unity.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Background/이주인_250419_신전배경/전달용.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e74b3d61b5670b743a0f05519b8b1c56 +guid: 58c64dc17ae56e642a05753b24c58769 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오.meta index 35a0295cb..3cc6a188c 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e3cfcbe898ef12f44a9734a047b540dd +guid: e5a2fb26e28e6ae469f7f2f1422a0bbe folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/Ani_이주인_나오_01.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/Ani_이주인_나오_01.fbx.meta index 6138f97dd..5b341cb57 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/Ani_이주인_나오_01.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/Ani_이주인_나오_01.fbx.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 13e33cef4c7d545408cd83093e303304 +guid: 4ae9f3f546592d540b77d67822bce546 ModelImporter: - serializedVersion: 22200 + serializedVersion: 24200 internalIDToNameTable: [] externalObjects: {} materials: @@ -22,43 +22,14 @@ ModelImporter: animationDoRetargetingWarnings: 0 importAnimatedCustomProperties: 0 importConstraints: 0 - animationCompression: 0 + animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] extraUserProperties: [] - clipAnimations: - - serializedVersion: 16 - name: "Ani_\uC774\uC8FC\uC778_\uB098\uC624_01" - takeName: Take 001 - internalID: 1827226128182048838 - firstFrame: 0 - lastFrame: 300 - wrapMode: 0 - orientationOffsetY: 0 - level: 0 - cycleOffset: 0 - loop: 0 - hasAdditiveReferencePose: 0 - loopTime: 0 - loopBlend: 0 - loopBlendOrientation: 1 - loopBlendPositionY: 1 - loopBlendPositionXZ: 1 - keepOriginalOrientation: 1 - keepOriginalPositionY: 1 - keepOriginalPositionXZ: 1 - heightFromFeet: 0 - mirror: 0 - bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 - curves: [] - events: [] - transformMask: [] - maskType: 3 - maskSource: {instanceID: 0} - additiveReferencePoseFrame: 0 + clipAnimations: [] isReadable: 0 meshes: lODScreenPercentages: [] @@ -85,6 +56,9 @@ ModelImporter: maxBonesPerVertex: 4 minBoneWeight: 0.001 optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 @@ -108,746 +82,8 @@ ModelImporter: importAnimation: 1 humanDescription: serializedVersion: 3 - human: - - boneName: Bip001 - humanName: Hips - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Thigh - humanName: LeftUpperLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Thigh - humanName: RightUpperLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Calf - humanName: LeftLowerLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Calf - humanName: RightLowerLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Foot - humanName: LeftFoot - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Foot - humanName: RightFoot - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 Spine - humanName: Spine - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 Spine1 - humanName: Chest - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 Neck - humanName: Neck - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 Head - humanName: Head - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Clavicle - humanName: LeftShoulder - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Clavicle - humanName: RightShoulder - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L UpperArm - humanName: LeftUpperArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R UpperArm - humanName: RightUpperArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Forearm - humanName: LeftLowerArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Forearm - humanName: RightLowerArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Hand - humanName: LeftHand - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Hand - humanName: RightHand - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Toe0 - humanName: LeftToes - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Toe0 - humanName: RightToes - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger0 - humanName: Left Thumb Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger01 - humanName: Left Thumb Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger02 - humanName: Left Thumb Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger1 - humanName: Left Index Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger11 - humanName: Left Index Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger12 - humanName: Left Index Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger2 - humanName: Left Middle Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger21 - humanName: Left Middle Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger22 - humanName: Left Middle Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger3 - humanName: Left Ring Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger31 - humanName: Left Ring Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger32 - humanName: Left Ring Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger4 - humanName: Left Little Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger41 - humanName: Left Little Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 L Finger42 - humanName: Left Little Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger0 - humanName: Right Thumb Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger01 - humanName: Right Thumb Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger02 - humanName: Right Thumb Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger1 - humanName: Right Index Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger11 - humanName: Right Index Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger12 - humanName: Right Index Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger2 - humanName: Right Middle Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger21 - humanName: Right Middle Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger22 - humanName: Right Middle Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger3 - humanName: Right Ring Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger31 - humanName: Right Ring Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger32 - humanName: Right Ring Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger4 - humanName: Right Little Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger41 - humanName: Right Little Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Bip001 R Finger42 - humanName: Right Little Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - skeleton: - - name: "\uC774\uC8FC\uC778_Biped(Clone)" - parentName: - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 - parentName: "\uC774\uC8FC\uC778_Biped(Clone)" - position: {x: -0, y: 0.7041445, z: 0.028851949} - rotation: {x: -0.50000036, y: 0.49999964, z: 0.49999964, w: 0.50000036} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 Pelvis - parentName: Bip001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.5, y: 0.5, z: 0.4999993, w: 0.5000007} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Thigh - parentName: Bip001 Pelvis - position: {x: 0.000000076293944, y: 0.000000114440915, z: 0.060419876} - rotation: {x: 0.0049980027, y: 0.9999875, z: -0.00012869711, w: -0.0002747338} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Calf - parentName: Bip001 L Thigh - position: {x: -0.2992696, y: -0.0000000023841857, z: 0} - rotation: {x: 1.6949563e-11, y: 8.7956614e-11, z: 0.034899544, w: 0.99939084} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Foot - parentName: Bip001 L Calf - position: {x: -0.33585092, y: 0.0000000047683715, z: -0.0000000047683715} - rotation: {x: -0.0001374863, y: -0.00026940982, z: -0.039894037, w: 0.99920386} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Toe0 - parentName: Bip001 L Foot - position: {x: -0.070414744, y: 0.06290854, z: 0.007055654} - rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Toe0Nub - parentName: Bip001 L Toe0 - position: {x: -0.055027444, y: 0, z: 0} - rotation: {x: 1.3096859e-21, y: -8.0195134e-38, z: 1, w: 6.123234e-17} - scale: {x: -1, y: -1, z: -1} - - name: Bip001 R Thigh - parentName: Bip001 Pelvis - position: {x: -0.000000076293944, y: -0.000000052452087, z: -0.060419876} - rotation: {x: 0.004998002, y: 0.9999875, z: 0.00012730299, w: 0.00027326655} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Calf - parentName: Bip001 R Thigh - position: {x: -0.2992696, y: 0, z: 0} - rotation: {x: -2.6200522e-12, y: -2.921307e-11, z: 0.034899544, w: 0.99939084} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Foot - parentName: Bip001 R Calf - position: {x: -0.33585092, y: 0.0000000023841857, z: -0.0000000047683715} - rotation: {x: 0.00013748283, y: 0.00026932245, z: -0.039894037, w: 0.99920386} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Toe0 - parentName: Bip001 R Foot - position: {x: -0.070414744, y: 0.062908545, z: -0.007055654} - rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Toe0Nub - parentName: Bip001 R Toe0 - position: {x: -0.055027436, y: 0, z: 0} - rotation: {x: 0, y: 1.3096859e-21, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 Spine - parentName: Bip001 Pelvis - position: {x: -0.10422447, y: 0.009347401, z: 0.00000011456723} - rotation: {x: -0.000002080476, y: 0.00000069367604, z: -0.00039815903, w: 0.99999994} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 Spine1 - parentName: Bip001 Spine - position: {x: -0.077569276, y: -0.00013966083, z: -3.873629e-10} - rotation: {x: -3.0117564e-14, y: -1.110223e-16, z: -3.3437213e-30, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Clavicle - parentName: Bip001 Spine1 - position: {x: -0.12629761, y: -0.03232636, z: 0.03907637} - rotation: {x: 0.7071077, y: 0.00028154056, z: -0.70710576, w: 0.00028154135} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L UpperArm - parentName: Bip001 L Clavicle - position: {x: -0.03290271, y: 0, z: 0} - rotation: {x: -0.000047902176, y: -0.0026217652, z: -0.018324176, w: 0.9998287} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Forearm - parentName: Bip001 L UpperArm - position: {x: -0.18134834, y: -5.9604643e-10, z: -0.000000076293944} - rotation: {x: 2.678858e-11, y: 0.0000000011646635, z: 0.014484852, w: 0.9998951} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Hand - parentName: Bip001 L Forearm - position: {x: -0.18310936, y: -2.9802322e-10, z: 0.00000015258789} - rotation: {x: -0.7070384, y: -0.000861026, z: 0.0045674196, w: 0.7071599} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger0 - parentName: Bip001 L Hand - position: {x: -0.01719284, y: 0.009052506, z: -0.011027362} - rotation: {x: 0.63941693, y: -0.33501115, z: 0.18119687, w: 0.6678931} - scale: {x: 1, y: 1.000001, z: 1} - - name: Bip001 L Finger01 - parentName: Bip001 L Finger0 - position: {x: -0.020074138, y: 0, z: 0} - rotation: {x: 0.006745354, y: 0.039875664, z: -0.22938582, w: 0.9724951} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger02 - parentName: Bip001 L Finger01 - position: {x: -0.020161761, y: 0.000000009536743, z: -0.000000076293944} - rotation: {x: -0.012214006, y: 0.068879, z: -0.0032540453, w: 0.99754494} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger0Nub - parentName: Bip001 L Finger02 - position: {x: -0.01959076, y: 0.000000014305114, z: 0} - rotation: {x: -8.543175e-18, y: -3.49246e-10, z: -0.000000024461771, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger1 - parentName: Bip001 L Hand - position: {x: -0.05310871, y: 0.0015232086, z: -0.018889442} - rotation: {x: -0.00000004955483, y: 0.015564643, z: -0.00000001966596, w: 0.9998789} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger11 - parentName: Bip001 L Finger1 - position: {x: -0.019962082, y: 0, z: 0} - rotation: {x: 0, y: 1.2121839e-15, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger12 - parentName: Bip001 L Finger11 - position: {x: -0.01822155, y: 0, z: 0} - rotation: {x: 0, y: 1.2121839e-15, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger1Nub - parentName: Bip001 L Finger12 - position: {x: -0.016773796, y: 0, z: 0} - rotation: {x: 0, y: 1.2121839e-15, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger2 - parentName: Bip001 L Hand - position: {x: -0.055163536, y: 0.0002404785, z: -0.0073172897} - rotation: {x: -0.00000013723093, y: -0.00000052111034, z: -0.0006545483, w: 0.9999998} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger21 - parentName: Bip001 L Finger2 - position: {x: -0.021895561, y: 0, z: 0} - rotation: {x: 7.1054274e-15, y: -9.7949426e-14, z: -5.820766e-11, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger22 - parentName: Bip001 L Finger21 - position: {x: -0.018377036, y: 0, z: 0} - rotation: {x: 7.1054274e-15, y: -9.7949426e-14, z: -5.820766e-11, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger2Nub - parentName: Bip001 L Finger22 - position: {x: -0.02000927, y: 0, z: 0} - rotation: {x: 7.1054274e-15, y: -9.7949426e-14, z: -5.820766e-11, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger3 - parentName: Bip001 L Hand - position: {x: -0.052690618, y: 0.0028488922, z: 0.0048742495} - rotation: {x: 0.0000057135526, y: -0.009320558, z: -0.000011625324, w: 0.9999566} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger31 - parentName: Bip001 L Finger3 - position: {x: -0.019808197, y: 0.000000076293944, z: 0} - rotation: {x: 0, y: -1.3147246e-10, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger32 - parentName: Bip001 L Finger31 - position: {x: -0.017899742, y: -0.00000015258789, z: 0} - rotation: {x: 0, y: -1.3147246e-10, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger3Nub - parentName: Bip001 L Finger32 - position: {x: -0.018310202, y: 0.000000076293944, z: 0} - rotation: {x: 0, y: -1.3147246e-10, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger4 - parentName: Bip001 L Hand - position: {x: -0.047774125, y: 0.0061801146, z: 0.015800307} - rotation: {x: 0.00010347285, y: -0.005661561, z: -0.000024942437, w: 0.99998397} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger41 - parentName: Bip001 L Finger4 - position: {x: -0.018632889, y: 0, z: 0} - rotation: {x: 2.8141672e-22, y: -1.5471048e-10, z: 1.8189896e-12, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger42 - parentName: Bip001 L Finger41 - position: {x: -0.012612533, y: 0, z: 0} - rotation: {x: 2.8141672e-22, y: -1.5471048e-10, z: 1.8189896e-12, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 L Finger4Nub - parentName: Bip001 L Finger42 - position: {x: -0.014663391, y: 0, z: 0} - rotation: {x: 2.8141672e-22, y: -1.5471048e-10, z: 1.8189896e-12, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 Neck - parentName: Bip001 Spine1 - position: {x: -0.15409409, y: -0.022701416, z: -0.000000033213226} - rotation: {x: -3.0117564e-14, y: -1.110223e-16, z: -3.3437213e-30, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 Head - parentName: Bip001 Neck - position: {x: -0.02882019, y: -0.000022959708, z: 0.0000000027104932} - rotation: {x: -1.5812545e-14, y: -0.0000000011042735, z: 0.00039883057, w: 0.99999994} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 HeadNub - parentName: Bip001 Head - position: {x: -0.17031623, y: 0, z: 1.1368684e-15} - rotation: {x: -4.1174796e-20, y: 0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Clavicle - parentName: Bip001 Spine1 - position: {x: -0.12629761, y: -0.032326143, z: -0.039076556} - rotation: {x: 0.7071077, y: 0.00028154056, z: 0.70710576, w: -0.00028154135} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R UpperArm - parentName: Bip001 R Clavicle - position: {x: -0.03290271, y: 0, z: 0} - rotation: {x: 0.000047902176, y: 0.0026217652, z: -0.018324176, w: 0.9998287} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Forearm - parentName: Bip001 R UpperArm - position: {x: -0.18134832, y: 5.9604643e-10, z: 0.000000076293944} - rotation: {x: -2.625842e-11, y: -6.989456e-10, z: 0.01448485, w: 0.9998951} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Hand - parentName: Bip001 R Forearm - position: {x: -0.18310934, y: 2.9802322e-10, z: -0.000000076293944} - rotation: {x: 0.7070384, y: 0.0008610261, z: 0.0045674196, w: 0.7071599} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger0 - parentName: Bip001 R Hand - position: {x: -0.017192878, y: 0.009052506, z: 0.011027363} - rotation: {x: -0.63941693, y: 0.33501115, z: 0.18119687, w: 0.6678931} - scale: {x: 1, y: 1.000001, z: 1} - - name: Bip001 R Finger01 - parentName: Bip001 R Finger0 - position: {x: -0.020074176, y: 0, z: 0} - rotation: {x: -0.0067453543, y: -0.039875664, z: -0.22938587, w: 0.9724951} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger02 - parentName: Bip001 R Finger01 - position: {x: -0.020161781, y: 0.000000009536743, z: 0} - rotation: {x: 0.012214003, y: -0.06887901, z: -0.0032540453, w: 0.99754494} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger0Nub - parentName: Bip001 R Finger02 - position: {x: -0.01959076, y: -0.0000000047683715, z: 0} - rotation: {x: 9.3132246e-10, y: 0.0000000018626449, z: 1, w: -0.0000000053223626} - scale: {x: -1, y: -1, z: -1} - - name: Bip001 R Finger1 - parentName: Bip001 R Hand - position: {x: -0.05310871, y: 0.0015232086, z: 0.018889444} - rotation: {x: 0.00000004955478, y: -0.015564644, z: -0.00000001966596, w: 0.9998789} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger11 - parentName: Bip001 R Finger1 - position: {x: -0.019962082, y: 0, z: 0} - rotation: {x: 0, y: -1.2127059e-15, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger12 - parentName: Bip001 R Finger11 - position: {x: -0.01822155, y: 0, z: -0.0000000023841857} - rotation: {x: 0, y: -1.2127059e-15, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger1Nub - parentName: Bip001 R Finger12 - position: {x: -0.016773796, y: 0, z: 0.0000000023841857} - rotation: {x: -1.2127059e-15, y: 7.425681e-32, z: 1, w: 6.123234e-17} - scale: {x: -1, y: -1, z: -1} - - name: Bip001 R Finger2 - parentName: Bip001 R Hand - position: {x: -0.055163536, y: 0.0002404785, z: 0.00731729} - rotation: {x: 0.0000001372212, y: 0.00000052111034, z: -0.0006545483, w: 0.9999998} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger21 - parentName: Bip001 R Finger2 - position: {x: -0.021895561, y: 0, z: 5.9604643e-10} - rotation: {x: 8.885729e-26, y: 1.5265567e-15, z: -5.820766e-11, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger22 - parentName: Bip001 R Finger21 - position: {x: -0.018377036, y: 0, z: -5.9604643e-10} - rotation: {x: 8.885729e-26, y: 1.5265567e-15, z: -5.820766e-11, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger2Nub - parentName: Bip001 R Finger22 - position: {x: -0.02000927, y: 0, z: 0} - rotation: {x: 1.5265567e-15, y: -8.8857385e-26, z: 1, w: 5.820772e-11} - scale: {x: -1, y: -1, z: -1} - - name: Bip001 R Finger3 - parentName: Bip001 R Hand - position: {x: -0.05269058, y: 0.0028488922, z: -0.0048742504} - rotation: {x: -0.000005713551, y: 0.009320558, z: -0.000011625324, w: 0.9999566} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger31 - parentName: Bip001 R Finger3 - position: {x: -0.019808158, y: 0.000000076293944, z: 0} - rotation: {x: 0, y: 1.314716e-10, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger32 - parentName: Bip001 R Finger31 - position: {x: -0.017899742, y: -0.00000015258789, z: 0} - rotation: {x: 0, y: 1.314716e-10, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger3Nub - parentName: Bip001 R Finger32 - position: {x: -0.018310241, y: 0.000000076293944, z: 0.0000000011920929} - rotation: {x: 1.314716e-10, y: -8.050313e-27, z: 1, w: 6.123234e-17} - scale: {x: -1, y: -1, z: -1} - - name: Bip001 R Finger4 - parentName: Bip001 R Hand - position: {x: -0.047774125, y: 0.0061801146, z: -0.015800307} - rotation: {x: -0.000103472885, y: 0.0056615607, z: -0.000024942437, w: 0.99998397} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger41 - parentName: Bip001 R Finger4 - position: {x: -0.01863285, y: 0, z: 0} - rotation: {x: -7.275958e-12, y: 6.2037175e-10, z: 4.5137986e-21, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger42 - parentName: Bip001 R Finger41 - position: {x: -0.012612533, y: 0, z: 0.0000000023841857} - rotation: {x: -7.275958e-12, y: 6.2037175e-10, z: 4.5137986e-21, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Bip001 R Finger4Nub - parentName: Bip001 R Finger42 - position: {x: -0.014663353, y: 0, z: -0.0000000023841857} - rotation: {x: 6.2037175e-10, y: 7.275958e-12, z: 1, w: 6.122782e-17} - scale: {x: -1, y: -1, z: -1} + human: [] + skeleton: [] armTwist: 0.5 foreArmTwist: 0.5 upperLegTwist: 0.5 @@ -857,14 +93,14 @@ ModelImporter: feetSpacing: 0 globalScale: 1 rootMotionBoneName: - hasTranslationDoF: 1 - hasExtraRoot: 1 + hasTranslationDoF: 0 + hasExtraRoot: 0 skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 733739618af885744ab3b0ed373c98a5, type: 3} + lastHumanDescriptionAvatarSource: {instanceID: 0} autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 3 + animationType: 2 humanoidOversampling: 1 - avatarSetup: 2 + avatarSetup: 0 addHumanoidExtraRootOnlyWhenUsingAvatar: 1 importBlendShapeDeformPercent: 1 remapMaterialsIfMaterialImportModeIsNone: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_32_57_Clip.anim.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_32_57_Clip.anim.meta index 43be73f07..f3c5a09eb 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_32_57_Clip.anim.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_32_57_Clip.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: a1be5cad5160a084d8772b19c3653eff +guid: 6bbf49e658dd5ce4ea3d1321dbb39663 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 7400000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_33_23_Clip.anim.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_33_23_Clip.anim.meta index 5cdffa2d8..f4671df63 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_33_23_Clip.anim.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/FaceRecordMotion_이주인250419_나오_01_Biped_Edit_2025_04_19_22_33_23_Clip.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 190b9b05d380d7c4b8ee702c9cf6a39a +guid: 396e871943795444abfd2ed1b1e2d12c NativeFormatImporter: externalObjects: {} - mainObjectFileID: 7400000 + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/jooin_m.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/jooin_m.fbx.meta index 7c474ea22..d3033eb12 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/jooin_m.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/jooin_m.fbx.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: a46b7e589a446f9408753ed23d8c9b71 +guid: 7796758bc01d32945b5c3a72a30684d9 ModelImporter: - serializedVersion: 22200 + serializedVersion: 24200 internalIDToNameTable: [] externalObjects: {} materials: @@ -22,43 +22,14 @@ ModelImporter: animationDoRetargetingWarnings: 0 importAnimatedCustomProperties: 0 importConstraints: 0 - animationCompression: 3 + animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 animationScaleError: 0.5 animationWrapMode: 0 extraExposedTransformPaths: [] extraUserProperties: [] - clipAnimations: - - serializedVersion: 16 - name: jooin_m - takeName: jooin_m - internalID: 1217092471379876550 - firstFrame: 0 - lastFrame: 300 - wrapMode: 0 - orientationOffsetY: 0 - level: 0 - cycleOffset: 0 - loop: 0 - hasAdditiveReferencePose: 0 - loopTime: 0 - loopBlend: 0 - loopBlendOrientation: 1 - loopBlendPositionY: 1 - loopBlendPositionXZ: 1 - keepOriginalOrientation: 1 - keepOriginalPositionY: 1 - keepOriginalPositionXZ: 1 - heightFromFeet: 0 - mirror: 0 - bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 - curves: [] - events: [] - transformMask: [] - maskType: 3 - maskSource: {instanceID: 0} - additiveReferencePoseFrame: 0 + clipAnimations: [] isReadable: 0 meshes: lODScreenPercentages: [] @@ -85,6 +56,9 @@ ModelImporter: maxBonesPerVertex: 4 minBoneWeight: 0.001 optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 @@ -108,6755 +82,8 @@ ModelImporter: importAnimation: 1 humanDescription: serializedVersion: 3 - human: - - boneName: Hips - humanName: Hips - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left leg - humanName: LeftUpperLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right leg - humanName: RightUpperLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left knee - humanName: LeftLowerLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right knee - humanName: RightLowerLeg - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left ankle - humanName: LeftFoot - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right ankle - humanName: RightFoot - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Spine - humanName: Spine - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Chest - humanName: Chest - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Neck - humanName: Neck - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Head - humanName: Head - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left shoulder - humanName: LeftShoulder - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right shoulder - humanName: RightShoulder - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left arm - humanName: LeftUpperArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right arm - humanName: RightUpperArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left elbow - humanName: LeftLowerArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right elbow - humanName: RightLowerArm - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left wrist - humanName: LeftHand - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right wrist - humanName: RightHand - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Left Toe - humanName: LeftToes - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Right Toe - humanName: RightToes - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: LeftEye - humanName: LeftEye - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: RightEye - humanName: RightEye - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - humanName: Jaw - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Proximal_L - humanName: Left Thumb Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Intermediate_L - humanName: Left Thumb Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Distal_L - humanName: Left Thumb Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Proximal_L - humanName: Left Index Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Intermediate_L - humanName: Left Index Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Distal_L - humanName: Left Index Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Proximal_L - humanName: Left Middle Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Intermediate_L - humanName: Left Middle Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Distal_L - humanName: Left Middle Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Proximal_L - humanName: Left Ring Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Intermediate_L - humanName: Left Ring Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Distal_L - humanName: Left Ring Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Proximal_L - humanName: Left Little Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Intermediate_L - humanName: Left Little Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Distal_L - humanName: Left Little Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Proximal_R - humanName: Right Thumb Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Intermediate_R - humanName: Right Thumb Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Thumb_Distal_R - humanName: Right Thumb Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Proximal_R - humanName: Right Index Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Intermediate_R - humanName: Right Index Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Index_Distal_R - humanName: Right Index Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Proximal_R - humanName: Right Middle Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Intermediate_R - humanName: Right Middle Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Middle_Distal_R - humanName: Right Middle Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Proximal_R - humanName: Right Ring Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Intermediate_R - humanName: Right Ring Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Ring_Distal_R - humanName: Right Ring Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Proximal_R - humanName: Right Little Proximal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Intermediate_R - humanName: Right Little Intermediate - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - - boneName: Little_Distal_R - humanName: Right Little Distal - limit: - min: {x: 0, y: 0, z: 0} - max: {x: 0, y: 0, z: 0} - value: {x: 0, y: 0, z: 0} - length: 0 - modified: 0 - skeleton: - - name: jooin_m(Clone) - parentName: - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Armature - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.7071068, y: 0.00000010677016, z: -9.7279235e-15, w: 0.7071067} - scale: {x: 100, y: 100, z: 100} - - name: Armature_2 - parentName: Armature - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.7241344, y: -0.00000006697255, z: -0.000000039150862, w: 0.68965894} - scale: {x: 1, y: 1, z: 1} - - name: Hips - parentName: Armature_2 - position: {x: 0.000010324754, y: 0.0074903383, z: 0.0007591866} - rotation: {x: -0.024329126, y: 3.611973e-10, z: 1.6403945e-10, w: 0.999704} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L - parentName: Hips - position: {x: -0.000473157, y: -0.000695722, z: -0.000420068} - rotation: {x: 0.5000243, y: -0.4999757, z: 0.5000244, w: -0.49997568} - scale: {x: 0.9999998, y: 0.9999998, z: 0.99999917} - - name: Hips_L.001 - parentName: Hips_L - position: {x: -0, y: 0.000043497002, z: 0} - rotation: {x: -0.000000029802322, y: -0.000000074505806, z: 0.00000011920929, w: 1} - scale: {x: 1.0000011, y: 1.0000011, z: 1.0000018} - - name: Hips_L.001_end_2 - parentName: Hips_L.001 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_L.001_end_2_end - parentName: Hips_L.001_end_2 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001___SHVzaF9SdXNo;;;61 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_L.001_end_3 - parentName: Hips_L.001___SHVzaF9SdXNo;;;61 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_L.001_end_3_end - parentName: Hips_L.001_end_3 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001___Rm9yIEFpcmk=;;;61 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_L.001_end_5 - parentName: Hips_L.001___Rm9yIEFpcmk=;;;61 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_L.001_end_5_end - parentName: Hips_L.001_end_5 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001___MDRfUGlua0JsYWNr;;;61 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_L.001_end_6 - parentName: Hips_L.001___MDRfUGlua0JsYWNr;;;61 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_L.001_end_6_end - parentName: Hips_L.001_end_6 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001___MDNfV2hpdGU=;;;61 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_L.001_end_7 - parentName: Hips_L.001___MDNfV2hpdGU=;;;61 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_L.001_end_7_end - parentName: Hips_L.001_end_7 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001Underpants_Airi - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.00000081876055, y: -0.7071078, z: -0.0000008606519, w: -0.7071059} - scale: {x: 1.0000033, y: 1.0000027, z: 1.0000021} - - name: Hips_L.001_end_8 - parentName: Hips_L.001Underpants_Airi - position: {x: -0, y: 0.000222091, z: 2.5294503e-10} - rotation: {x: 1.818989e-10, y: -0.00000005960463, z: 1.8178521e-10, w: 1} - scale: {x: 1.0000038, y: 1.0000024, z: 1.0000029} - - name: Hips_L.001_end_8_end - parentName: Hips_L.001_end_8 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001_3_2 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0000010292382, y: 0.7071078, z: -0.0000009870922, w: 0.7071059} - scale: {x: 1.0000033, y: 1.0000027, z: 1.0000021} - - name: Hips_L.001_end_4_2 - parentName: Hips_L.001_3_2 - position: {x: -0, y: 0.000222091, z: -1.8540354e-10} - rotation: {x: -1.8195574e-10, y: -0.00000005960463, z: -1.8184206e-10, w: 1} - scale: {x: 1.0000033, y: 1.0000031, z: 1.0000033} - - name: Hips_L.001_end_4_2_end - parentName: Hips_L.001_end_4_2 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L.001_3_3 - parentName: Hips_L.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0000010292382, y: 0.7071078, z: -0.0000009870922, w: 0.7071059} - scale: {x: 1.0000033, y: 1.0000027, z: 1.0000021} - - name: Hips_L.001_end_4_3 - parentName: Hips_L.001_3_3 - position: {x: -0, y: 0.000222091, z: -1.8540354e-10} - rotation: {x: -1.8195574e-10, y: -0.00000005960463, z: -1.8184206e-10, w: 1} - scale: {x: 1.0000033, y: 1.0000031, z: 1.0000033} - - name: Hips_L.001_end_4_3_end - parentName: Hips_L.001_end_4_3 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_L_3_2 - parentName: Hips_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.000000029802322, y: -0.000000074505806, z: 0.00000011920929, w: 1} - scale: {x: 1.0000011, y: 1.0000011, z: 1.0000018} - - name: Hips_L_3_2_end - parentName: Hips_L_3_2 - position: {x: -0, y: 0.000043497002, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R - parentName: Hips - position: {x: 0.000473157, y: -0.000695722, z: -0.000420068} - rotation: {x: 0.5000243, y: -0.4999757, z: 0.5000244, w: -0.49997568} - scale: {x: 0.9999998, y: 0.9999998, z: 0.99999917} - - name: Hips_R.001 - parentName: Hips_R - position: {x: -0, y: 0.000043497002, z: 0} - rotation: {x: -0.000000029802322, y: -0.000000074505806, z: 0.00000011920929, w: 1} - scale: {x: 1.0000011, y: 1.0000011, z: 1.0000018} - - name: Hips_R.001_end_2 - parentName: Hips_R.001 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_R.001_end_2_end - parentName: Hips_R.001_end_2 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001___SHVzaF9SdXNo;;;65 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_R.001_end_3 - parentName: Hips_R.001___SHVzaF9SdXNo;;;65 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_R.001_end_3_end - parentName: Hips_R.001_end_3 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001___Rm9yIEFpcmk=;;;65 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_R.001_end_5 - parentName: Hips_R.001___Rm9yIEFpcmk=;;;65 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_R.001_end_5_end - parentName: Hips_R.001_end_5 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001___MDRfUGlua0JsYWNr;;;65 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_R.001_end_6 - parentName: Hips_R.001___MDRfUGlua0JsYWNr;;;65 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_R.001_end_6_end - parentName: Hips_R.001_end_6 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001___MDNfV2hpdGU=;;;65 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000005, y: 1.0000007, z: 1.0000004} - - name: Hips_R.001_end_7 - parentName: Hips_R.001___MDNfV2hpdGU=;;;65 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.0000004} - - name: Hips_R.001_end_7_end - parentName: Hips_R.001_end_7 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001Underpants_Airi - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.00000081876055, y: -0.7071078, z: -0.0000008606519, w: -0.7071059} - scale: {x: 1.0000033, y: 1.0000027, z: 1.0000021} - - name: Hips_R.001_end_8 - parentName: Hips_R.001Underpants_Airi - position: {x: -0, y: 0.000222091, z: 1.8540305e-10} - rotation: {x: -5.6843405e-14, y: -0.00000005960463, z: -1.1368681e-13, w: 1} - scale: {x: 1.0000038, y: 1.0000024, z: 1.0000026} - - name: Hips_R.001_end_8_end - parentName: Hips_R.001_end_8 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001_3_2 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000002, y: 1.0000005, z: 1.0000004} - - name: Hips_R.001_end_4_2 - parentName: Hips_R.001_3_2 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000001, y: 0.9999999, z: 0.9999999} - - name: Hips_R.001_end_4_2_end - parentName: Hips_R.001_end_4_2 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R.001_3_3 - parentName: Hips_R.001 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -2.220446e-15, w: 1} - scale: {x: 1.0000002, y: 1.0000005, z: 1.0000004} - - name: Hips_R.001_end_4_3 - parentName: Hips_R.001_3_3 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0.000000014901161, y: 0.000000074505806, z: -0.00000011920929, w: 1} - scale: {x: 1.0000001, y: 0.9999999, z: 0.9999999} - - name: Hips_R.001_end_4_3_end - parentName: Hips_R.001_end_4_3 - position: {x: -0, y: 0.000222091, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_R_3_2 - parentName: Hips_R - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.000000029802322, y: -0.000000074505806, z: 0.00000011920929, w: 1} - scale: {x: 1.0000011, y: 1.0000011, z: 1.0000018} - - name: Hips_R_3_2_end - parentName: Hips_R_3_2 - position: {x: -0, y: 0.000043497002, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left leg - parentName: Hips - position: {x: -0.000530235, y: -0.00077333924, z: -0.000102186495} - rotation: {x: 0.9996064, y: 9.171588e-10, z: 0.0000000010659865, w: -0.028057763} - scale: {x: 1, y: 1.0000019, z: 1.0000043} - - name: Left knee - parentName: Left leg - position: {x: -2.6077032e-10, y: 0.002713408, z: -0.0000000017136335} - rotation: {x: 0.024615873, y: 0.0000000016689236, z: 0.0000000025794369, w: 0.99969697} - scale: {x: 0.9999998, y: 1.0000032, z: 1.0000027} - - name: Left ankle - parentName: Left knee - position: {x: 3.352761e-10, y: 0.0032384803, z: -0.000000004246831} - rotation: {x: -0.41315883, y: -0.000000001734846, z: -0.0000000022797408, w: 0.9106591} - scale: {x: 1.0000001, y: 1.0000064, z: 1.0000044} - - name: Left Toe - parentName: Left ankle - position: {x: 7.4505804e-11, y: 0.00092116214, z: 4.4703483e-10} - rotation: {x: -0.67680764, y: -0.050504364, z: 0.022083525, w: 0.73409337} - scale: {x: 1.0000013, y: 0.9999974, z: 0.99999964} - - name: Toe_Index_Proximal_L_2 - parentName: Left Toe - position: {x: 0.000085655, y: 0.00043644302, z: -0.000008553} - rotation: {x: 0.30124202, y: -0.35089773, z: -0.13881952, w: 0.87570155} - scale: {x: 0.9999993, y: 0.99998933, z: 1.0000111} - - name: Toe_Index_Intermediate_L_2 - parentName: Toe_Index_Proximal_L_2 - position: {x: 0.000030036, y: 0.000076799, z: 0.000027823} - rotation: {x: 0.21851684, y: 0.30920866, z: -0.10470533, w: 0.91960704} - scale: {x: 1.0000188, y: 0.9999884, z: 0.99999714} - - name: Toe_Index_Distal_L_2 - parentName: Toe_Index_Intermediate_L_2 - position: {x: -0, y: 0.000082999, z: 0} - rotation: {x: 0.0025927722, y: 0.021852523, z: -0.0059693083, w: 0.99974006} - scale: {x: 0.99999887, y: 1.000001, z: 1.0000014} - - name: Toe_Index_Distal_L_end_2 - parentName: Toe_Index_Distal_L_2 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: -0, y: -0.000000029802319, z: 0.0000000073196125, w: 1} - scale: {x: 0.9999993, y: 1.0000032, z: 1.0000032} - - name: Toe_Index_Distal_L_end_2_end - parentName: Toe_Index_Distal_L_end_2 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Index_Proximal_L_4_2 - parentName: Toe_Index_Proximal_L_2 - position: {x: -0.000015018, y: 0.000199749, z: -0.000013905} - rotation: {x: 0.20464481, y: 0.35374546, z: -0.098533206, w: 0.90734553} - scale: {x: 1.0000192, y: 0.99998885, z: 0.99999535} - - name: Toe_Index_Intermediate_L_4_2 - parentName: Toe_Index_Proximal_L_4_2 - position: {x: -0, y: 0.000087032, z: 0} - rotation: {x: 0.0011927186, y: -0.05141937, z: 0.012282873, w: 0.99860096} - scale: {x: 1.000003, y: 0.99999845, z: 0.9999963} - - name: Toe_Index_Distal_L_4_2 - parentName: Toe_Index_Intermediate_L_4_2 - position: {x: -0, y: 0.000082999, z: 0} - rotation: {x: 0.002516179, y: 0.023488423, z: -0.0060032327, w: 0.999703} - scale: {x: 0.99999803, y: 1.0000013, z: 1.0000037} - - name: Toe_Index_Distal_L_end_4_2 - parentName: Toe_Index_Distal_L_4_2 - position: {x: -0, y: 0.000083921, z: 1.3969838e-10} - rotation: {x: 0.000000060070285, y: 0.000000027939667, z: 0.0000000056897966, w: 1} - scale: {x: 0.9999999, y: 1.0000019, z: 1.0000031} - - name: Toe_Index_Distal_L_end_4_2_end - parentName: Toe_Index_Distal_L_end_4_2 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Index_Proximal_L_4_3 - parentName: Toe_Index_Proximal_L_2 - position: {x: -0.000015018, y: 0.000199749, z: -0.000013905} - rotation: {x: 0.20464481, y: 0.35374546, z: -0.098533206, w: 0.90734553} - scale: {x: 1.0000192, y: 0.99998885, z: 0.99999535} - - name: Toe_Index_Intermediate_L_4_3 - parentName: Toe_Index_Proximal_L_4_3 - position: {x: -0, y: 0.000087032, z: 0} - rotation: {x: 0.0011927186, y: -0.05141937, z: 0.012282873, w: 0.99860096} - scale: {x: 1.000003, y: 0.99999845, z: 0.9999963} - - name: Toe_Index_Distal_L_4_3 - parentName: Toe_Index_Intermediate_L_4_3 - position: {x: -0, y: 0.000082999, z: 0} - rotation: {x: 0.002516179, y: 0.023488423, z: -0.0060032327, w: 0.999703} - scale: {x: 0.99999803, y: 1.0000013, z: 1.0000037} - - name: Toe_Index_Distal_L_end_4_3 - parentName: Toe_Index_Distal_L_4_3 - position: {x: -0, y: 0.000083921, z: 1.3969838e-10} - rotation: {x: 0.000000060070285, y: 0.000000027939667, z: 0.0000000056897966, w: 1} - scale: {x: 0.9999999, y: 1.0000019, z: 1.0000031} - - name: Toe_Index_Distal_L_end_4_3_end - parentName: Toe_Index_Distal_L_end_4_3 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_L_2 - parentName: Left Toe - position: {x: -0.0002077, y: 0.000273921, z: -0.000019426} - rotation: {x: 0.22627403, y: 0.74424076, z: 0.24389759, w: 0.5791544} - scale: {x: 1.0000081, y: 0.99998987, z: 1.0000043} - - name: Toe_Little_Intermediate_L_2 - parentName: Toe_Little_Proximal_L_2 - position: {x: -0.000033734, y: 0.000057108, z: 0.00000265} - rotation: {x: 0.17292088, y: -0.45338652, z: 0.20382155, w: 0.8502916} - scale: {x: 0.99999833, y: 0.9999932, z: 1.0000111} - - name: Toe_Little_Distal_L_2 - parentName: Toe_Little_Intermediate_L_2 - position: {x: -0, y: 0.000059492, z: 0} - rotation: {x: 0.025126005, y: 0.09555221, z: -0.020026332, w: 0.99490577} - scale: {x: 0.999992, y: 1.0000011, z: 1.0000111} - - name: Toe_Little_Distal_L_end_2 - parentName: Toe_Little_Distal_L_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0.00000048428757, y: 0.0000030845392, z: -0.00000008521599, w: 1} - scale: {x: 1.000002, y: 1.0000031, z: 1.0000029} - - name: Toe_Little_Distal_L_end_2_end - parentName: Toe_Little_Distal_L_end_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_L_4_2 - parentName: Toe_Little_Proximal_L_2 - position: {x: 0.000016867, y: 0.000201724, z: -0.000001325} - rotation: {x: 0.16017582, y: -0.5533519, z: 0.19110505, w: 0.79474795} - scale: {x: 0.9999986, y: 0.9999928, z: 1.0000111} - - name: Toe_Little_Intermediate_L_4_2 - parentName: Toe_Little_Proximal_L_4_2 - position: {x: -0, y: 0.000066381996, z: 0} - rotation: {x: 0.014731089, y: 0.12744583, z: -0.03149953, w: 0.99123573} - scale: {x: 0.9999907, y: 1.0000017, z: 1.0000087} - - name: Toe_Little_Distal_L_4_2 - parentName: Toe_Little_Intermediate_L_4_2 - position: {x: -0, y: 0.000059490998, z: 0} - rotation: {x: 0.02600208, y: 0.09946974, z: -0.018861918, w: 0.994522} - scale: {x: 0.99998677, y: 0.99999994, z: 1.0000149} - - name: Toe_Little_Distal_L_end_4_2 - parentName: Toe_Little_Distal_L_4_2 - position: {x: -0, y: 0.000056186, z: -1.3038516e-10} - rotation: {x: -0.000000059604623, y: -0.00000009685751, z: -0.00000006682237, w: 1} - scale: {x: 1.0000015, y: 1.0000037, z: 1.0000044} - - name: Toe_Little_Distal_L_end_4_2_end - parentName: Toe_Little_Distal_L_end_4_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_L_4_3 - parentName: Toe_Little_Proximal_L_2 - position: {x: 0.000016867, y: 0.000201724, z: -0.000001325} - rotation: {x: 0.16017582, y: -0.5533519, z: 0.19110505, w: 0.79474795} - scale: {x: 0.9999986, y: 0.9999928, z: 1.0000111} - - name: Toe_Little_Intermediate_L_4_3 - parentName: Toe_Little_Proximal_L_4_3 - position: {x: -0, y: 0.000066381996, z: 0} - rotation: {x: 0.014731089, y: 0.12744583, z: -0.03149953, w: 0.99123573} - scale: {x: 0.9999907, y: 1.0000017, z: 1.0000087} - - name: Toe_Little_Distal_L_4_3 - parentName: Toe_Little_Intermediate_L_4_3 - position: {x: -0, y: 0.000059490998, z: 0} - rotation: {x: 0.02600208, y: 0.09946974, z: -0.018861918, w: 0.994522} - scale: {x: 0.99998677, y: 0.99999994, z: 1.0000149} - - name: Toe_Little_Distal_L_end_4_3 - parentName: Toe_Little_Distal_L_4_3 - position: {x: -0, y: 0.000056186, z: -1.3038516e-10} - rotation: {x: -0.000000059604623, y: -0.00000009685751, z: -0.00000006682237, w: 1} - scale: {x: 1.0000015, y: 1.0000037, z: 1.0000044} - - name: Toe_Little_Distal_L_end_4_3_end - parentName: Toe_Little_Distal_L_end_4_3 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_L_2 - parentName: Left Toe - position: {x: -0.000012324999, y: 0.00040192, z: 0.000003224} - rotation: {x: -0.23299527, y: 0.65216553, z: 0.23888147, w: -0.6806827} - scale: {x: 1.00001, y: 0.99999017, z: 1.0000002} - - name: Toe_Middle_Intermediate_L_2 - parentName: Toe_Middle_Proximal_L_2 - position: {x: 0.000041204003, y: 0.000074152, z: 0.000003724} - rotation: {x: -0.15464504, y: -0.6569331, z: 0.17636018, w: -0.7165339} - scale: {x: 0.9999989, y: 0.9999913, z: 1.0000095} - - name: Toe_Middle_Distal_L_2 - parentName: Toe_Middle_Intermediate_L_2 - position: {x: -0, y: 0.000070051, z: 0} - rotation: {x: 0.011278688, y: 0.02043864, z: -0.0059771603, w: 0.9997097} - scale: {x: 1.0000005, y: 1.0000018, z: 1.0000054} - - name: Toe_Middle_Distal_L_end_2 - parentName: Toe_Middle_Distal_L_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: -0.00000006705521, y: -0.000000029802315, z: -0.0000000011496011, w: 1} - scale: {x: 0.9999996, y: 1.0000004, z: 0.9999988} - - name: Toe_Middle_Distal_L_end_2_end - parentName: Toe_Middle_Distal_L_end_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_L_4_2 - parentName: Toe_Middle_Proximal_L_2 - position: {x: -0.000020602001, y: 0.000200315, z: -0.000001862} - rotation: {x: -0.15678214, y: -0.56849486, z: 0.17722413, w: -0.7879242} - scale: {x: 0.99999803, y: 0.9999904, z: 1.0000095} - - name: Toe_Middle_Intermediate_L_4_2 - parentName: Toe_Middle_Proximal_L_4_2 - position: {x: -0, y: 0.000084913, z: 0} - rotation: {x: -0.02203536, y: 0.10592549, z: -0.022990972, w: 0.993864} - scale: {x: 1.0000091, y: 1.0000044, z: 0.9999908} - - name: Toe_Middle_Distal_L_4_2 - parentName: Toe_Middle_Intermediate_L_4_2 - position: {x: -0, y: 0.000070051, z: 0} - rotation: {x: 0.011234288, y: 0.022058293, z: -0.006074916, w: 0.99967515} - scale: {x: 1, y: 0.9999981, z: 1.0000011} - - name: Toe_Middle_Distal_L_end_4_2 - parentName: Toe_Middle_Distal_L_4_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: -0, y: -0, z: -1.1641531e-10, w: 1} - scale: {x: 1.0000004, y: 1.0000014, z: 1} - - name: Toe_Middle_Distal_L_end_4_2_end - parentName: Toe_Middle_Distal_L_end_4_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_L_4_3 - parentName: Toe_Middle_Proximal_L_2 - position: {x: -0.000020602001, y: 0.000200315, z: -0.000001862} - rotation: {x: -0.15678214, y: -0.56849486, z: 0.17722413, w: -0.7879242} - scale: {x: 0.99999803, y: 0.9999904, z: 1.0000095} - - name: Toe_Middle_Intermediate_L_4_3 - parentName: Toe_Middle_Proximal_L_4_3 - position: {x: -0, y: 0.000084913, z: 0} - rotation: {x: -0.02203536, y: 0.10592549, z: -0.022990972, w: 0.993864} - scale: {x: 1.0000091, y: 1.0000044, z: 0.9999908} - - name: Toe_Middle_Distal_L_4_3 - parentName: Toe_Middle_Intermediate_L_4_3 - position: {x: -0, y: 0.000070051, z: 0} - rotation: {x: 0.011234288, y: 0.022058293, z: -0.006074916, w: 0.99967515} - scale: {x: 1, y: 0.9999981, z: 1.0000011} - - name: Toe_Middle_Distal_L_end_4_3 - parentName: Toe_Middle_Distal_L_4_3 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: -0, y: -0, z: -1.1641531e-10, w: 1} - scale: {x: 1.0000004, y: 1.0000014, z: 1} - - name: Toe_Middle_Distal_L_end_4_3_end - parentName: Toe_Middle_Distal_L_end_4_3 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_L_2 - parentName: Left Toe - position: {x: -0.000104753, y: 0.000345795, z: -0.000012307} - rotation: {x: 0.3092604, y: -0.31231937, z: -0.12594806, w: 0.88935465} - scale: {x: 0.99999815, y: 0.9999903, z: 1.0000114} - - name: Toe_Ring_Intermediate_L_2 - parentName: Toe_Ring_Proximal_L_2 - position: {x: 0.000024884, y: 0.000053349002, z: 0.00002853} - rotation: {x: 0.24550141, y: 0.472713, z: -0.106911495, w: 0.83954835} - scale: {x: 1.0000179, y: 0.9999864, z: 0.9999983} - - name: Toe_Ring_Distal_L_2 - parentName: Toe_Ring_Intermediate_L_2 - position: {x: -0, y: 0.000066483, z: 0} - rotation: {x: -0.016587492, y: 0.009107618, z: -0.0046101874, w: 0.99981034} - scale: {x: 0.9999982, y: 1.0000036, z: 1.0000018} - - name: Toe_Ring_Distal_L_end_2 - parentName: Toe_Ring_Distal_L_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: -0.00000014901156, y: -0.0000000018626445, z: -0.000000008440108, w: 1} - scale: {x: 0.99999964, y: 0.9999998, z: 1.0000013} - - name: Toe_Ring_Distal_L_end_2_end - parentName: Toe_Ring_Distal_L_end_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_L_4_2 - parentName: Toe_Ring_Proximal_L_2 - position: {x: -0.000012442, y: 0.000200772, z: -0.000014265} - rotation: {x: 0.26543814, y: 0.29211816, z: -0.11351532, w: 0.9117696} - scale: {x: 1.0000188, y: 0.9999837, z: 0.9999982} - - name: Toe_Ring_Intermediate_L_4_2 - parentName: Toe_Ring_Proximal_L_4_2 - position: {x: -0, y: 0.000065417, z: 0} - rotation: {x: -0.036823403, y: 0.19183232, z: -0.056692302, w: 0.9790968} - scale: {x: 0.9999853, y: 1.0000117, z: 1.0000123} - - name: Toe_Ring_Distal_L_4_2 - parentName: Toe_Ring_Intermediate_L_4_2 - position: {x: -0, y: 0.000066483, z: 0} - rotation: {x: -0.016506812, y: 0.010228661, z: -0.004856136, w: 0.9997997} - scale: {x: 0.99999994, y: 1.0000033, z: 1.0000013} - - name: Toe_Ring_Distal_L_end_4_2 - parentName: Toe_Ring_Distal_L_4_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0.0000001173466, y: -0.000000027939667, z: -0.000000013169479, w: 1} - scale: {x: 0.99999994, y: 1, z: 0.99999964} - - name: Toe_Ring_Distal_L_end_4_2_end - parentName: Toe_Ring_Distal_L_end_4_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_L_4_3 - parentName: Toe_Ring_Proximal_L_2 - position: {x: -0.000012442, y: 0.000200772, z: -0.000014265} - rotation: {x: 0.26543814, y: 0.29211816, z: -0.11351532, w: 0.9117696} - scale: {x: 1.0000188, y: 0.9999837, z: 0.9999982} - - name: Toe_Ring_Intermediate_L_4_3 - parentName: Toe_Ring_Proximal_L_4_3 - position: {x: -0, y: 0.000065417, z: 0} - rotation: {x: -0.036823403, y: 0.19183232, z: -0.056692302, w: 0.9790968} - scale: {x: 0.9999853, y: 1.0000117, z: 1.0000123} - - name: Toe_Ring_Distal_L_4_3 - parentName: Toe_Ring_Intermediate_L_4_3 - position: {x: -0, y: 0.000066483, z: 0} - rotation: {x: -0.016506812, y: 0.010228661, z: -0.004856136, w: 0.9997997} - scale: {x: 0.99999994, y: 1.0000033, z: 1.0000013} - - name: Toe_Ring_Distal_L_end_4_3 - parentName: Toe_Ring_Distal_L_4_3 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0.0000001173466, y: -0.000000027939667, z: -0.000000013169479, w: 1} - scale: {x: 0.99999994, y: 1, z: 0.99999964} - - name: Toe_Ring_Distal_L_end_4_3_end - parentName: Toe_Ring_Distal_L_end_4_3 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_L_2 - parentName: Left Toe - position: {x: 0.00023241101, y: 0.000382255, z: -0.000085441} - rotation: {x: 0.33985752, y: -0.13454294, z: -0.066346854, w: 0.92843586} - scale: {x: 0.9999974, y: 0.99998957, z: 1.0000128} - - name: Toe_Thumb_Intermediate_L_2 - parentName: Toe_Thumb_Proximal_L_2 - position: {x: 0.000015530999, y: 0.000114732, z: 0.000045345} - rotation: {x: 0.18027847, y: -0.090507075, z: -0.03477589, w: 0.9788252} - scale: {x: 0.9999975, y: 0.9999961, z: 1.0000134} - - name: Toe_Thumb_Distal_L_2 - parentName: Toe_Thumb_Intermediate_L_2 - position: {x: -0, y: 0.000097602, z: 0} - rotation: {x: -0.0018296088, y: -0.0033729218, z: 0.001326298, w: 0.9999918} - scale: {x: 0.9999991, y: 1.0000043, z: 1.0000037} - - name: Toe_Thumb_Distal_L_end_2 - parentName: Toe_Thumb_Distal_L_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: -0.000000044936304, y: 0.000000015133988, z: -0.00000005755099, w: 1} - scale: {x: 0.99999976, y: 0.99999714, z: 0.9999987} - - name: Toe_Thumb_Distal_L_end_2_end - parentName: Toe_Thumb_Distal_L_end_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_L_4_2 - parentName: Toe_Thumb_Proximal_L_2 - position: {x: -0.000007762, y: 0.000198813, z: -0.000022672} - rotation: {x: 0.17698161, y: 0.10830992, z: -0.03848375, w: 0.97747916} - scale: {x: 1.0000064, y: 0.999995, z: 1.0000051} - - name: Toe_Thumb_Intermediate_L_4_2 - parentName: Toe_Thumb_Proximal_L_4_2 - position: {x: -0, y: 0.000124343, z: 0} - rotation: {x: -0.0033943201, y: -0.21552104, z: 0.044980768, w: 0.9754568} - scale: {x: 1.0000013, y: 0.9999977, z: 0.99999225} - - name: Toe_Thumb_Distal_L_4_2 - parentName: Toe_Thumb_Intermediate_L_4_2 - position: {x: -0, y: 0.000097602, z: 0} - rotation: {x: -0.001764592, y: -0.003921955, z: 0.0014112028, w: 0.99998975} - scale: {x: 0.99999934, y: 1.0000012, z: 1.0000014} - - name: Toe_Thumb_Distal_L_end_4_2 - parentName: Toe_Thumb_Distal_L_4_2 - position: {x: -1.4901161e-10, y: 0.000092954004, z: 0} - rotation: {x: 0.000000004656612, y: 0.00000005960463, z: 0.000000007678407, w: 1} - scale: {x: 0.9999998, y: 0.9999989, z: 0.99999905} - - name: Toe_Thumb_Distal_L_end_4_2_end - parentName: Toe_Thumb_Distal_L_end_4_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_L_4_3 - parentName: Toe_Thumb_Proximal_L_2 - position: {x: -0.000007762, y: 0.000198813, z: -0.000022672} - rotation: {x: 0.17698161, y: 0.10830992, z: -0.03848375, w: 0.97747916} - scale: {x: 1.0000064, y: 0.999995, z: 1.0000051} - - name: Toe_Thumb_Intermediate_L_4_3 - parentName: Toe_Thumb_Proximal_L_4_3 - position: {x: -0, y: 0.000124343, z: 0} - rotation: {x: -0.0033943201, y: -0.21552104, z: 0.044980768, w: 0.9754568} - scale: {x: 1.0000013, y: 0.9999977, z: 0.99999225} - - name: Toe_Thumb_Distal_L_4_3 - parentName: Toe_Thumb_Intermediate_L_4_3 - position: {x: -0, y: 0.000097602, z: 0} - rotation: {x: -0.001764592, y: -0.003921955, z: 0.0014112028, w: 0.99998975} - scale: {x: 0.99999934, y: 1.0000012, z: 1.0000014} - - name: Toe_Thumb_Distal_L_end_4_3 - parentName: Toe_Thumb_Distal_L_4_3 - position: {x: -1.4901161e-10, y: 0.000092954004, z: 0} - rotation: {x: 0.000000004656612, y: 0.00000005960463, z: 0.000000007678407, w: 1} - scale: {x: 0.9999998, y: 0.9999989, z: 0.99999905} - - name: Toe_Thumb_Distal_L_end_4_3_end - parentName: Toe_Thumb_Distal_L_end_4_3 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left Toe_2_2 - parentName: Left Toe - position: {x: 0.000006713, y: 0.000168811, z: 0.000122517} - rotation: {x: -0.000000029802319, y: 0.0000000037252899, z: -0, w: 1} - scale: {x: 1.0000002, y: 0.9999991, z: 0.999999} - - name: Left Toe_2_2_end - parentName: Left Toe_2_2 - position: {x: -0, y: 0.000208694, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left ankle_2_2 - parentName: Left ankle - position: {x: -0, y: 0.000071065, z: -0.000058225} - rotation: {x: -0.029300924, y: 2.6378452e-11, z: 2.328743e-10, w: 0.9995707} - scale: {x: 1.0000005, y: 0.99999964, z: 1.0000014} - - name: Left ankle_2_2_end - parentName: Left ankle_2_2 - position: {x: -0, y: 0.000091871996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left knee_2_2 - parentName: Left knee - position: {x: -0, y: 0.000001344, z: -0.000020252} - rotation: {x: -0.026304353, y: -0.025448553, z: 0.028283171, w: 0.9989297} - scale: {x: 1, y: 1.0000021, z: 1.0000025} - - name: Left knee_2_2_end - parentName: Left knee_2_2 - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Left knee) - parentName: Left knee - position: {x: -0.00024, y: 0.001054103, z: -0.000111656} - rotation: {x: -0.026304353, y: -0.025448553, z: 0.028283171, w: 0.9989297} - scale: {x: 1, y: 1.0000021, z: 1.0000025} - - name: Magica Capsule Collider (Left knee)_end - parentName: Magica Capsule Collider (Left knee) - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Left knee) (1) - parentName: Left knee - position: {x: -0.000058999, y: 0.001110116, z: -0.000180941} - rotation: {x: -0.026304353, y: -0.025448553, z: 0.028283171, w: 0.9989297} - scale: {x: 1, y: 1.0000021, z: 1.0000025} - - name: Magica Capsule Collider (Left knee) (1)_end - parentName: Magica Capsule Collider (Left knee) (1) - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left leg_2_2 - parentName: Left leg - position: {x: -0, y: 0.00000059399997, z: 0.000010709} - rotation: {x: -0.09098419, y: -0.18362573, z: 0.19425014, w: 0.9593072} - scale: {x: 1.0000008, y: 1.0000043, z: 1.0000062} - - name: belt_L1_2 - parentName: Left leg_2_2 - position: {x: -0.000499464, y: 0.000915158, z: 0.000099563} - rotation: {x: -0.65827006, y: 0.1873378, z: 0.07868462, w: -0.72484064} - scale: {x: 0.9999971, y: 1.0000051, z: 1.0000011} - - name: belt_L1_end_2 - parentName: belt_L1_2 - position: {x: 1.3038516e-10, y: 0.000435727, z: 2.561137e-10} - rotation: {x: -0, y: -0, z: 0.000000007450581, w: 1} - scale: {x: 1.0000005, y: 1.0000029, z: 1.0000012} - - name: belt_L1_end_2_end - parentName: belt_L1_end_2 - position: {x: -0, y: 0.000435727, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: belt_L2_2 - parentName: Left leg_2_2 - position: {x: 0.000071736, y: 0.0019603071, z: 0.00032283} - rotation: {x: -0.6103321, y: -0.036055766, z: 0.2565461, w: -0.7485846} - scale: {x: 1.000007, y: 0.9999959, z: 1.0000011} - - name: belt_L2.001_2 - parentName: belt_L2_2 - position: {x: -1.7258571e-10, y: 0.000414466, z: -3.640889e-10} - rotation: {x: 0.37228268, y: -0.0067698993, z: 0.0153294355, w: -0.92796814} - scale: {x: 0.99999946, y: 1.0000108, z: 0.9999907} - - name: belt_L2.002_2 - parentName: belt_L2.001_2 - position: {x: -0, y: 0.000571796, z: -1.420267e-10} - rotation: {x: -0.204258, y: -0.00085833145, z: -0.00086863723, w: 0.9789163} - scale: {x: 0.9999994, y: 0.99999905, z: 1.0000038} - - name: belt_L2_3 - parentName: belt_L2.002_2 - position: {x: 1.8218997e-10, y: 0.000660602, z: 0} - rotation: {x: -0.011838064, y: -0.0005133475, z: 0.00043083885, w: 0.9999297} - scale: {x: 1.0000004, y: 1.000004, z: 1.0000029} - - name: belt_L2.004_2 - parentName: belt_L2_3 - position: {x: -0, y: 0.000611203, z: 0} - rotation: {x: 0.0031398558, y: -0.00017611451, z: 0.00021328237, w: 0.999995} - scale: {x: 1.0000002, y: 0.99999577, z: 0.9999958} - - name: belt_L2.005_2 - parentName: belt_L2.004_2 - position: {x: -0, y: 0.000607187, z: 0} - rotation: {x: 0.0074934233, y: 0.016470397, z: -0.01725013, w: 0.99968743} - scale: {x: 0.9999989, y: 1.0000029, z: 1.0000055} - - name: belt_L2.006_2 - parentName: belt_L2.005_2 - position: {x: -0, y: 0.000618955, z: 0} - rotation: {x: -0.0061719976, y: 0.0023632739, z: -0.00275004, w: 0.9999744} - scale: {x: 0.99999934, y: 1.0000035, z: 1.0000018} - - name: belt_L2.006_end_2 - parentName: belt_L2.006_2 - position: {x: -0, y: 0.000695454, z: 0} - rotation: {x: -0, y: -0, z: -2.0918376e-11, w: 1} - scale: {x: 0.9999981, y: 1.0000046, z: 1.000004} - - name: belt_L2.006_end_2_end - parentName: belt_L2.006_end_2 - position: {x: -0, y: 0.000695454, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: xoni_2 - parentName: Left leg_2_2 - position: {x: 0.000427725, y: 0.002017319, z: -0.00042239402} - rotation: {x: -0.05986175, y: 0.74051404, z: -0.62601376, w: -0.23698595} - scale: {x: 1.0000104, y: 0.99999404, z: 1.0000024} - - name: oni_2 - parentName: xoni_2 - position: {x: -0, y: 0.000108682, z: 0} - rotation: {x: 0.06382768, y: -0.71082044, z: 0.69994736, w: 0.027093835} - scale: {x: 0.9999991, y: 0.9999999, z: 0.9999982} - - name: oni_end_2 - parentName: oni_2 - position: {x: -0, y: 0.000499917, z: 0} - rotation: {x: -0, y: -0, z: -0, w: 1} - scale: {x: 0.9999999, y: 1.0000018, z: 1.0000014} - - name: oni_end_2_end - parentName: oni_end_2 - position: {x: -0, y: 0.000499917, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Left leg) - parentName: Left leg - position: {x: -0.000139998, y: 0.00052916, z: -0.000029821} - rotation: {x: -0.0036489177, y: -0.026972286, z: 0.02857143, w: 0.99922115} - scale: {x: 0.9999999, y: 1.0000061, z: 1.0000063} - - name: Magica Capsule Collider (Left leg)_end - parentName: Magica Capsule Collider (Left leg) - position: {x: -0, y: 0.00054817897, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Left leg) (1) - parentName: Left leg - position: {x: -0.000105998995, y: 0.001073227, z: -0.000008393} - rotation: {x: -0.0036489177, y: -0.026972286, z: 0.02857143, w: 0.99922115} - scale: {x: 0.9999999, y: 1.0000061, z: 1.0000063} - - name: Magica Capsule Collider (Left leg) (1)_end - parentName: Magica Capsule Collider (Left leg) (1) - position: {x: -0, y: 0.00054817897, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: UpperLeg_L - parentName: Left leg - position: {x: -0.000017328, y: -0.000029575, z: -0.000005898} - rotation: {x: -0.08897348, y: -0.17483576, z: 0.1849489, w: 0.9629694} - scale: {x: 1.0000012, y: 1.0000043, z: 1.0000044} - - name: belt_L1 - parentName: UpperLeg_L - position: {x: -0.000488375, y: 0.000924805, z: 0.000092698} - rotation: {x: -0.657372, y: 0.19209497, z: 0.06144125, w: -0.72607625} - scale: {x: 0.9999964, y: 1.0000088, z: 1.0000037} - - name: belt_L1_end - parentName: belt_L1 - position: {x: -0, y: 0.000428266, z: 2.6309863e-10} - rotation: {x: -0, y: 0.000000014901158, z: -0.00000005960463, w: 1} - scale: {x: 1.0000001, y: 1.0000007, z: 0.99999934} - - name: belt_L1_end_end - parentName: belt_L1_end - position: {x: -0, y: 0.000428267, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: belt_L2 - parentName: UpperLeg_L - position: {x: 0.000057255, y: 0.00198236, z: 0.00031647802} - rotation: {x: -0.6080482, y: -0.034642074, z: 0.24357226, w: -0.7548177} - scale: {x: 1.0000061, y: 0.99999934, z: 1.000002} - - name: belt_L2.001 - parentName: belt_L2 - position: {x: -0, y: 0.000405239, z: 2.2700987e-10} - rotation: {x: 0.37390637, y: -0.0069781197, z: 0.015557362, w: -0.9273097} - scale: {x: 0.99999875, y: 1.0000136, z: 0.99999607} - - name: belt_L2.002 - parentName: belt_L2.001 - position: {x: -0, y: 0.000568565, z: 2.3515895e-10} - rotation: {x: -0.2002626, y: -0.00086983666, z: -0.0008231255, w: 0.9797416} - scale: {x: 1.0000007, y: 1.0000061, z: 1.000006} - - name: belt_L2.003 - parentName: belt_L2.002 - position: {x: -0, y: 0.000660556, z: 0} - rotation: {x: -0.011581212, y: -0.00051622104, z: 0.00043300356, w: 0.9999327} - scale: {x: 0.99999934, y: 1.0000042, z: 1.0000008} - - name: belt_L2.004 - parentName: belt_L2.003 - position: {x: 1.3969838e-10, y: 0.000611222, z: 0} - rotation: {x: 0.0030939975, y: -0.00017155967, z: 0.00021295424, w: 0.9999952} - scale: {x: 0.99999905, y: 1.0000037, z: 1.000004} - - name: belt_L2.005 - parentName: belt_L2.004 - position: {x: -0, y: 0.000607189, z: 0} - rotation: {x: 0.0072884406, y: 0.016540755, z: -0.017255176, w: 0.99968773} - scale: {x: 1.0000004, y: 1.0000037, z: 1.0000043} - - name: belt_L2.006 - parentName: belt_L2.005 - position: {x: -0, y: 0.000618918, z: 0} - rotation: {x: -0.00602211, y: 0.0023250638, z: -0.0027432044, w: 0.99997544} - scale: {x: 0.9999998, y: 1.0000025, z: 1.0000021} - - name: belt_L2.006_end - parentName: belt_L2.006 - position: {x: -0, y: 0.000695454, z: 0} - rotation: {x: 4.656613e-10, y: -0, z: 5.2750693e-11, w: 1} - scale: {x: 0.99999994, y: 1.0000031, z: 1.0000045} - - name: belt_L2.006_end_end - parentName: belt_L2.006_end - position: {x: -0, y: 0.000695454, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: xoni - parentName: UpperLeg_L - position: {x: 0.000431119, y: 0.002040559, z: -0.00040917998} - rotation: {x: -0.05071645, y: 0.73742414, z: -0.6307912, w: -0.23608497} - scale: {x: 1.0000108, y: 0.9999967, z: 1.0000037} - - name: oni - parentName: xoni - position: {x: -0, y: 0.000106041, z: 3.1344824e-10} - rotation: {x: 0.053403523, y: -0.7116094, z: 0.7003674, w: 0.015673293} - scale: {x: 1.0000005, y: 1.0000025, z: 1.0000019} - - name: oni_end - parentName: oni - position: {x: -1.3938095e-10, y: 0.000499995, z: 0} - rotation: {x: 0.00000008946515, y: 0.0000000037252894, z: -0, w: 1} - scale: {x: 0.99999964, y: 1.0000026, z: 1.0000013} - - name: oni_end_end - parentName: oni_end - position: {x: -0, y: 0.000499995, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right leg - parentName: Hips - position: {x: 0.0005302352, y: -0.00077333924, z: -0.000102186495} - rotation: {x: 0.99992466, y: 3.0480354e-10, z: -0.0000000010952741, w: -0.012277379} - scale: {x: 1, y: 1.0000014, z: 1.0000015} - - name: Right knee - parentName: Right leg - position: {x: -0, y: 0.002713421, z: -0.0000000012665987} - rotation: {x: 0.024605202, y: 0.0000000028777873, z: -7.3375866e-10, w: 0.99969727} - scale: {x: 1, y: 1.0000027, z: 1.0000035} - - name: Right ankle - parentName: Right knee - position: {x: 7.4505804e-11, y: 0.0032384705, z: -0.000000004582107} - rotation: {x: -0.4131593, y: -0.0000000014867374, z: 4.8635485e-10, w: 0.9106587} - scale: {x: 1, y: 1.0000018, z: 1.0000014} - - name: Right Toe - parentName: Right ankle - position: {x: 2.2351741e-10, y: 0.00092116476, z: -0.0000000020116566} - rotation: {x: -0.70096487, y: 0.04851896, z: -0.02029506, w: 0.71125406} - scale: {x: 1.0000002, y: 1.0000008, z: 1.0000008} - - name: Toe_Index_Proximal_R_2 - parentName: Right Toe - position: {x: -0.000087162996, y: 0.000435733, z: 0.000020789} - rotation: {x: 0.5768632, y: 0.008690356, z: 0.036231674, w: 0.8159905} - scale: {x: 0.9999987, y: 0.9999993, z: 1.0000044} - - name: Toe_Index_Intermediate_R_2 - parentName: Toe_Index_Proximal_R_2 - position: {x: -0, y: 0.000087034, z: 0} - rotation: {x: 0.0011969804, y: 0.051419035, z: -0.012281988, w: 0.9986009} - scale: {x: 1.0000006, y: 1.0000031, z: 1.000001} - - name: Toe_Index_Distal_R_2 - parentName: Toe_Index_Intermediate_R_2 - position: {x: -0, y: 0.000082999, z: -1.3038516e-10} - rotation: {x: 0.002494262, y: -0.023484483, z: 0.0059987055, w: 0.99970317} - scale: {x: 0.9999997, y: 1, z: 0.99999785} - - name: Toe_Index_Distal_R_end_2 - parentName: Toe_Index_Distal_R_2 - position: {x: -0, y: 0.000083918, z: 0} - rotation: {x: -0.00000011990775, y: 0.0000000018626447, z: 0.00000000232103, w: 1} - scale: {x: 1.0000002, y: 1.0000058, z: 1.0000062} - - name: Toe_Index_Distal_R_end_2_end - parentName: Toe_Index_Distal_R_end_2 - position: {x: -0, y: 0.000083918, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Index_Proximal_R_4_2 - parentName: Toe_Index_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00001350045, y: 0.0000054072584, z: -0.0000018863936, w: 1} - scale: {x: 1.0000008, y: 1.0000031, z: 1.0000027} - - name: Toe_Index_Intermediate_R_4_2 - parentName: Toe_Index_Proximal_R_4_2 - position: {x: -0, y: 0.000087032, z: 0} - rotation: {x: 0.001193146, y: 0.051415123, z: -0.012283019, w: 0.99860114} - scale: {x: 0.99999887, y: 1.0000012, z: 1.0000031} - - name: Toe_Index_Distal_R_4_2 - parentName: Toe_Index_Intermediate_R_4_2 - position: {x: -0, y: 0.000082999, z: 0} - rotation: {x: 0.0025289785, y: -0.023489328, z: 0.006006336, w: 0.99970293} - scale: {x: 1.0000013, y: 1.0000057, z: 1.0000044} - - name: Toe_Index_Distal_R_end_4_2 - parentName: Toe_Index_Distal_R_4_2 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 2.3283062e-10, y: -0.00000002235174, z: -0.0000000017462296, w: 1} - scale: {x: 1.0000008, y: 0.99999964, z: 0.9999996} - - name: Toe_Index_Distal_R_end_4_2_end - parentName: Toe_Index_Distal_R_end_4_2 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Index_Proximal_R_4_3 - parentName: Toe_Index_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00001350045, y: 0.0000054072584, z: -0.0000018863936, w: 1} - scale: {x: 1.0000008, y: 1.0000031, z: 1.0000027} - - name: Toe_Index_Intermediate_R_4_3 - parentName: Toe_Index_Proximal_R_4_3 - position: {x: -0, y: 0.000087032, z: 0} - rotation: {x: 0.001193146, y: 0.051415123, z: -0.012283019, w: 0.99860114} - scale: {x: 0.99999887, y: 1.0000012, z: 1.0000031} - - name: Toe_Index_Distal_R_4_3 - parentName: Toe_Index_Intermediate_R_4_3 - position: {x: -0, y: 0.000082999, z: 0} - rotation: {x: 0.0025289785, y: -0.023489328, z: 0.006006336, w: 0.99970293} - scale: {x: 1.0000013, y: 1.0000057, z: 1.0000044} - - name: Toe_Index_Distal_R_end_4_3 - parentName: Toe_Index_Distal_R_4_3 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 2.3283062e-10, y: -0.00000002235174, z: -0.0000000017462296, w: 1} - scale: {x: 1.0000008, y: 0.99999964, z: 0.9999996} - - name: Toe_Index_Distal_R_end_4_3_end - parentName: Toe_Index_Distal_R_end_4_3 - position: {x: -0, y: 0.000083921, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_R_2 - parentName: Right Toe - position: {x: 0.00020669101, y: 0.000275362, z: -0.000001995} - rotation: {x: 0.58854145, y: -0.26059857, z: -0.07124933, w: 0.76199144} - scale: {x: 1.0000029, y: 1.000002, z: 1.0000039} - - name: Toe_Little_Intermediate_R_2 - parentName: Toe_Little_Proximal_R_2 - position: {x: -0, y: 0.000066379, z: 0} - rotation: {x: 0.014735907, y: -0.12741326, z: 0.031496823, w: 0.99124} - scale: {x: 0.9999943, y: 1.0000032, z: 1.0000069} - - name: Toe_Little_Distal_R_2 - parentName: Toe_Little_Intermediate_R_2 - position: {x: -0, y: 0.000059492, z: 0} - rotation: {x: 0.025999738, y: -0.09952048, z: 0.018882718, w: 0.99451655} - scale: {x: 0.99999356, y: 1.0000039, z: 1.0000092} - - name: Toe_Little_Distal_R_end_2 - parentName: Toe_Little_Distal_R_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0.00000001117587, y: 0.000000059604638, z: 0.00000002677552, w: 1} - scale: {x: 1.0000001, y: 0.9999995, z: 0.99999845} - - name: Toe_Little_Distal_R_end_2_end - parentName: Toe_Little_Distal_R_end_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_R_4_2 - parentName: Toe_Little_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0000046491623, y: 0.000018537045, z: -0.000002220273, w: 1} - scale: {x: 0.9999996, y: 0.9999998, z: 1.0000001} - - name: Toe_Little_Intermediate_R_4_2 - parentName: Toe_Little_Proximal_R_4_2 - position: {x: -0, y: 0.000066381996, z: 0} - rotation: {x: 0.01473094, y: -0.1274458, z: 0.031499565, w: 0.9912358} - scale: {x: 0.999995, y: 1.000002, z: 1.0000068} - - name: Toe_Little_Distal_R_4_2 - parentName: Toe_Little_Intermediate_R_4_2 - position: {x: -0, y: 0.000059490998, z: 0} - rotation: {x: 0.026001174, y: -0.09947486, z: 0.01886571, w: 0.99452144} - scale: {x: 0.9999937, y: 1.0000056, z: 1.0000108} - - name: Toe_Little_Distal_R_end_4_2 - parentName: Toe_Little_Distal_R_4_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: -0.000000087544315, y: 0.0000000372529, z: -0.000000036554408, w: 1} - scale: {x: 0.9999996, y: 0.9999996, z: 0.9999969} - - name: Toe_Little_Distal_R_end_4_2_end - parentName: Toe_Little_Distal_R_end_4_2 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Little_Proximal_R_4_3 - parentName: Toe_Little_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0000046491623, y: 0.000018537045, z: -0.000002220273, w: 1} - scale: {x: 0.9999996, y: 0.9999998, z: 1.0000001} - - name: Toe_Little_Intermediate_R_4_3 - parentName: Toe_Little_Proximal_R_4_3 - position: {x: -0, y: 0.000066381996, z: 0} - rotation: {x: 0.01473094, y: -0.1274458, z: 0.031499565, w: 0.9912358} - scale: {x: 0.999995, y: 1.000002, z: 1.0000068} - - name: Toe_Little_Distal_R_4_3 - parentName: Toe_Little_Intermediate_R_4_3 - position: {x: -0, y: 0.000059490998, z: 0} - rotation: {x: 0.026001174, y: -0.09947486, z: 0.01886571, w: 0.99452144} - scale: {x: 0.9999937, y: 1.0000056, z: 1.0000108} - - name: Toe_Little_Distal_R_end_4_3 - parentName: Toe_Little_Distal_R_4_3 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: -0.000000087544315, y: 0.0000000372529, z: -0.000000036554408, w: 1} - scale: {x: 0.9999996, y: 0.9999996, z: 0.9999969} - - name: Toe_Little_Distal_R_end_4_3_end - parentName: Toe_Little_Distal_R_end_4_3 - position: {x: -0, y: 0.000056186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_R_2 - parentName: Right Toe - position: {x: 0.000010979999, y: 0.00040086, z: 0.000029873} - rotation: {x: 0.58125013, y: 0.122292444, z: 0.08206506, w: 0.80028635} - scale: {x: 0.99999887, y: 1.0000019, z: 1.0000064} - - name: Toe_Middle_Intermediate_R_2 - parentName: Toe_Middle_Proximal_R_2 - position: {x: -0, y: 0.000084913, z: 0} - rotation: {x: -0.022031665, y: -0.10593031, z: 0.022991853, w: 0.9938636} - scale: {x: 1.0000039, y: 1.0000002, z: 0.99999595} - - name: Toe_Middle_Distal_R_2 - parentName: Toe_Middle_Intermediate_R_2 - position: {x: -0, y: 0.000070051, z: 0} - rotation: {x: 0.011230658, y: -0.022053292, z: 0.0060745375, w: 0.99967533} - scale: {x: 1.0000001, y: 1.0000045, z: 1.0000024} - - name: Toe_Middle_Distal_R_end_2 - parentName: Toe_Middle_Distal_R_2 - position: {x: -0, y: 0.000086775, z: -1.0710209e-10} - rotation: {x: -0, y: -0, z: 3.2014205e-10, w: 1} - scale: {x: 1.0000006, y: 0.999998, z: 0.9999988} - - name: Toe_Middle_Distal_R_end_2_end - parentName: Toe_Middle_Distal_R_end_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_R_4_2 - parentName: Toe_Middle_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000016689298, y: -0.000014595686, z: 0.000000014901159, w: 1} - scale: {x: 1.0000002, y: 0.9999997, z: 0.9999991} - - name: Toe_Middle_Intermediate_R_4_2 - parentName: Toe_Middle_Proximal_R_4_2 - position: {x: -0, y: 0.000084913, z: 0} - rotation: {x: -0.022052202, y: -0.10591082, z: 0.022985866, w: 0.9938654} - scale: {x: 1.0000043, y: 0.99999976, z: 0.9999963} - - name: Toe_Middle_Distal_R_4_2 - parentName: Toe_Middle_Intermediate_R_4_2 - position: {x: -0, y: 0.00007005, z: 0} - rotation: {x: 0.011257409, y: -0.022064194, z: 0.0060832226, w: 0.9996747} - scale: {x: 0.9999999, y: 1.0000005, z: 1.0000015} - - name: Toe_Middle_Distal_R_end_4_2 - parentName: Toe_Middle_Distal_R_4_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: -0, y: -0, z: 0.000000003783498, w: 1} - scale: {x: 0.99999964, y: 0.9999983, z: 0.999999} - - name: Toe_Middle_Distal_R_end_4_2_end - parentName: Toe_Middle_Distal_R_end_4_2 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Middle_Proximal_R_4_3 - parentName: Toe_Middle_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000016689298, y: -0.000014595686, z: 0.000000014901159, w: 1} - scale: {x: 1.0000002, y: 0.9999997, z: 0.9999991} - - name: Toe_Middle_Intermediate_R_4_3 - parentName: Toe_Middle_Proximal_R_4_3 - position: {x: -0, y: 0.000084913, z: 0} - rotation: {x: -0.022052202, y: -0.10591082, z: 0.022985866, w: 0.9938654} - scale: {x: 1.0000043, y: 0.99999976, z: 0.9999963} - - name: Toe_Middle_Distal_R_4_3 - parentName: Toe_Middle_Intermediate_R_4_3 - position: {x: -0, y: 0.00007005, z: 0} - rotation: {x: 0.011257409, y: -0.022064194, z: 0.0060832226, w: 0.9996747} - scale: {x: 0.9999999, y: 1.0000005, z: 1.0000015} - - name: Toe_Middle_Distal_R_end_4_3 - parentName: Toe_Middle_Distal_R_4_3 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: -0, y: -0, z: 0.000000003783498, w: 1} - scale: {x: 0.99999964, y: 0.9999983, z: 0.999999} - - name: Toe_Middle_Distal_R_end_4_3_end - parentName: Toe_Middle_Distal_R_end_4_3 - position: {x: -0, y: 0.000086775, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_R_2 - parentName: Right Toe - position: {x: 0.000103535, y: 0.000346229, z: 0.000010277} - rotation: {x: 0.62898606, y: 0.024324544, z: 0.045473203, w: 0.7757043} - scale: {x: 0.99999976, y: 1.0000015, z: 1.0000042} - - name: Toe_Ring_Intermediate_R_2 - parentName: Toe_Ring_Proximal_R_2 - position: {x: -0, y: 0.000065418004, z: 0} - rotation: {x: -0.03682625, y: -0.1918273, z: 0.056692317, w: 0.97909766} - scale: {x: 1.0000031, y: 1.0000018, z: 0.9999994} - - name: Toe_Ring_Distal_R_2 - parentName: Toe_Ring_Intermediate_R_2 - position: {x: -0, y: 0.000066481996, z: 0} - rotation: {x: -0.016506394, y: -0.010219066, z: 0.004856027, w: 0.9997998} - scale: {x: 0.99999994, y: 0.9999995, z: 1.0000017} - - name: Toe_Ring_Distal_R_end_2 - parentName: Toe_Ring_Distal_R_2 - position: {x: -0, y: 0.000077104996, z: -1.2107193e-10} - rotation: {x: -0.00000019930296, y: 0.000000017695122, z: 0.000000007959895, w: 1} - scale: {x: 1, y: 1.0000024, z: 1.0000025} - - name: Toe_Ring_Distal_R_end_2_end - parentName: Toe_Ring_Distal_R_end_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_R_4_2 - parentName: Toe_Ring_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.000004172324, y: 0.000005168839, z: -0.0000007487832, w: 1} - scale: {x: 1.0000001, y: 1.000001, z: 1} - - name: Toe_Ring_Intermediate_R_4_2 - parentName: Toe_Ring_Proximal_R_4_2 - position: {x: -0, y: 0.000065418004, z: 0} - rotation: {x: -0.036839146, y: -0.19184417, z: 0.056693755, w: 0.97909373} - scale: {x: 1.000003, y: 0.9999984, z: 0.99999666} - - name: Toe_Ring_Distal_R_4_2 - parentName: Toe_Ring_Intermediate_R_4_2 - position: {x: -0, y: 0.000066483, z: 0} - rotation: {x: -0.01647325, y: -0.010207071, z: 0.004847107, w: 0.9998005} - scale: {x: 0.9999999, y: 1.0000019, z: 1.0000038} - - name: Toe_Ring_Distal_R_end_4_2 - parentName: Toe_Ring_Distal_R_4_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: -0.0000000037252894, y: -0.000000044703473, z: -0.000000010390065, w: 1} - scale: {x: 1.0000001, y: 0.99999875, z: 0.99999887} - - name: Toe_Ring_Distal_R_end_4_2_end - parentName: Toe_Ring_Distal_R_end_4_2 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Ring_Proximal_R_4_3 - parentName: Toe_Ring_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.000004172324, y: 0.000005168839, z: -0.0000007487832, w: 1} - scale: {x: 1.0000001, y: 1.000001, z: 1} - - name: Toe_Ring_Intermediate_R_4_3 - parentName: Toe_Ring_Proximal_R_4_3 - position: {x: -0, y: 0.000065418004, z: 0} - rotation: {x: -0.036839146, y: -0.19184417, z: 0.056693755, w: 0.97909373} - scale: {x: 1.000003, y: 0.9999984, z: 0.99999666} - - name: Toe_Ring_Distal_R_4_3 - parentName: Toe_Ring_Intermediate_R_4_3 - position: {x: -0, y: 0.000066483, z: 0} - rotation: {x: -0.01647325, y: -0.010207071, z: 0.004847107, w: 0.9998005} - scale: {x: 0.9999999, y: 1.0000019, z: 1.0000038} - - name: Toe_Ring_Distal_R_end_4_3 - parentName: Toe_Ring_Distal_R_4_3 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: -0.0000000037252894, y: -0.000000044703473, z: -0.000000010390065, w: 1} - scale: {x: 1.0000001, y: 0.99999875, z: 0.99999887} - - name: Toe_Ring_Distal_R_end_4_3_end - parentName: Toe_Ring_Distal_R_end_4_3 - position: {x: -0, y: 0.000077104996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_R_2 - parentName: Right Toe - position: {x: -0.000234053, y: 0.00038623702, z: -0.000058944} - rotation: {x: 0.550278, y: 0.030578244, z: 0.0434981, w: 0.8332869} - scale: {x: 0.99999934, y: 1.0000002, z: 1.0000039} - - name: Toe_Thumb_Intermediate_R_2 - parentName: Toe_Thumb_Proximal_R_2 - position: {x: -0, y: 0.000124343, z: 0} - rotation: {x: -0.00341469, y: 0.2155401, z: -0.04498897, w: 0.9754521} - scale: {x: 0.9999966, y: 1.0000018, z: 1.000006} - - name: Toe_Thumb_Distal_R_2 - parentName: Toe_Thumb_Intermediate_R_2 - position: {x: -0, y: 0.000097601005, z: 0} - rotation: {x: -0.0017446731, y: 0.0038990374, z: -0.0013986635, w: 0.99999} - scale: {x: 1.0000002, y: 1.0000018, z: 1.0000007} - - name: Toe_Thumb_Distal_R_end_2 - parentName: Toe_Thumb_Distal_R_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0.000000039581195, y: 0.00000007450578, z: -0.000000059075298, w: 1} - scale: {x: 1.0000011, y: 1.0000013, z: 1.0000021} - - name: Toe_Thumb_Distal_R_end_2_end - parentName: Toe_Thumb_Distal_R_end_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_R_4_2 - parentName: Toe_Thumb_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.000000119209275, y: -0.0000049397345, z: 0.0000000037252899, w: 1} - scale: {x: 0.99999994, y: 1.0000019, z: 1.0000025} - - name: Toe_Thumb_Intermediate_R_4_2 - parentName: Toe_Thumb_Proximal_R_4_2 - position: {x: -0, y: 0.000124343, z: 0} - rotation: {x: -0.0034069512, y: 0.2155434, z: -0.04498496, w: 0.97545165} - scale: {x: 0.999997, y: 1.0000021, z: 1.0000057} - - name: Toe_Thumb_Distal_R_4_2 - parentName: Toe_Thumb_Intermediate_R_4_2 - position: {x: -0, y: 0.000097602, z: 0} - rotation: {x: -0.0017529225, y: 0.0039043427, z: -0.0014044074, w: 0.9999899} - scale: {x: 0.99999905, y: 1.0000006, z: 0.99999964} - - name: Toe_Thumb_Distal_R_end_4_2 - parentName: Toe_Thumb_Distal_R_4_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: -0.000000032247033, y: 0.00000013317909, z: -0.000000021231692, w: 1} - scale: {x: 0.9999998, y: 1.0000015, z: 1.0000017} - - name: Toe_Thumb_Distal_R_end_4_2_end - parentName: Toe_Thumb_Distal_R_end_4_2 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Toe_Thumb_Proximal_R_4_3 - parentName: Toe_Thumb_Proximal_R_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.000000119209275, y: -0.0000049397345, z: 0.0000000037252899, w: 1} - scale: {x: 0.99999994, y: 1.0000019, z: 1.0000025} - - name: Toe_Thumb_Intermediate_R_4_3 - parentName: Toe_Thumb_Proximal_R_4_3 - position: {x: -0, y: 0.000124343, z: 0} - rotation: {x: -0.0034069512, y: 0.2155434, z: -0.04498496, w: 0.97545165} - scale: {x: 0.999997, y: 1.0000021, z: 1.0000057} - - name: Toe_Thumb_Distal_R_4_3 - parentName: Toe_Thumb_Intermediate_R_4_3 - position: {x: -0, y: 0.000097602, z: 0} - rotation: {x: -0.0017529225, y: 0.0039043427, z: -0.0014044074, w: 0.9999899} - scale: {x: 0.99999905, y: 1.0000006, z: 0.99999964} - - name: Toe_Thumb_Distal_R_end_4_3 - parentName: Toe_Thumb_Distal_R_4_3 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: -0.000000032247033, y: 0.00000013317909, z: -0.000000021231692, w: 1} - scale: {x: 0.9999998, y: 1.0000015, z: 1.0000017} - - name: Toe_Thumb_Distal_R_end_4_3_end - parentName: Toe_Thumb_Distal_R_end_4_3 - position: {x: -0, y: 0.000092954004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right Toe_2_2 - parentName: Right Toe - position: {x: -0, y: 0, z: 0} - rotation: {x: -0, y: 0.000000014901159, z: 0.00000001117587, w: 1} - scale: {x: 0.99999946, y: 1.0000006, z: 1.0000005} - - name: Right Toe_2_2_end - parentName: Right Toe_2_2 - position: {x: -0, y: 0.00034430702, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right ankle_2_2 - parentName: Right ankle - position: {x: -0, y: 1.6782516e-10, z: 0} - rotation: {x: -0, y: -4.1838644e-11, z: -8.711959e-11, w: 1} - scale: {x: 1, y: 1.0000008, z: 1.000001} - - name: Right ankle_2_2_end - parentName: Right ankle_2_2 - position: {x: -0, y: 0.000921164, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right knee_2_2 - parentName: Right knee - position: {x: -0, y: -1.2628584e-10, z: 0} - rotation: {x: -0.019937554, y: 0.026069075, z: -0.028104553, w: 0.9990661} - scale: {x: 1, y: 1.0000045, z: 1.0000046} - - name: Right knee_2_2_end - parentName: Right knee_2_2 - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Right knee) - parentName: Right knee - position: {x: 0.000239998, y: 0.001057102, z: -0.000078311} - rotation: {x: -0.019937554, y: 0.026069073, z: -0.028104555, w: 0.9990661} - scale: {x: 1, y: 1.0000045, z: 1.0000046} - - name: Magica Capsule Collider (Right knee)_end - parentName: Magica Capsule Collider (Right knee) - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Right knee) (1) - parentName: Right knee - position: {x: 0.000058999, y: 0.0011152771, z: -0.000145794} - rotation: {x: -0.019937554, y: 0.026069075, z: -0.028104553, w: 0.9990661} - scale: {x: 1, y: 1.0000045, z: 1.0000046} - - name: Magica Capsule Collider (Right knee) (1)_end - parentName: Magica Capsule Collider (Right knee) (1) - position: {x: -0, y: 0.001086829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right leg_2_2 - parentName: Right leg - position: {x: -0, y: -0.0000000012243974, z: -0.000000152} - rotation: {x: 0.32678166, y: 0.65892017, z: -0.6753659, w: -0.05402678} - scale: {x: 1.0000029, y: 1.0000025, z: 1.0000023} - - name: belt_R_2 - parentName: Right leg_2_2 - position: {x: -1.11758706e-10, y: 0.000718026, z: 3.5390257e-10} - rotation: {x: -0.32050014, y: -0.72757554, z: 0.60562515, w: 0.033642177} - scale: {x: 1.0000051, y: 1, z: 0.99999934} - - name: belt_R.001_2 - parentName: belt_R_2 - position: {x: -0, y: 0.000341904, z: -2.2351741e-10} - rotation: {x: 0.091206856, y: 0.10668273, z: -0.08195836, w: 0.98670316} - scale: {x: 0.9999982, y: 1.0000097, z: 1.0000087} - - name: belt_R.002_2 - parentName: belt_R.001_2 - position: {x: -2.2351741e-10, y: 0.00071386, z: 0} - rotation: {x: 0.35073957, y: 0.055422995, z: 0.07141715, w: 0.9320996} - scale: {x: 1.0000014, y: 1.0000037, z: 1.0000031} - - name: belt_R_3 - parentName: belt_R.002_2 - position: {x: 1.4901161e-10, y: 0.000708789, z: -1.6763806e-10} - rotation: {x: -0.0057573603, y: -0.04065119, z: 0.10339986, w: 0.99379224} - scale: {x: 0.999999, y: 1.0000043, z: 1.0000011} - - name: belt_R.004_2 - parentName: belt_R_3 - position: {x: 2.4563632e-10, y: 0.000755501, z: -4.4703483e-10} - rotation: {x: 0.031532306, y: -0.0890459, z: 0.23957397, w: 0.96627164} - scale: {x: 0.9999912, y: 1.0000149, z: 1.0000049} - - name: belt_R.005_2 - parentName: belt_R.004_2 - position: {x: 1.11758706e-10, y: 0.00068510097, z: -1.4901161e-10} - rotation: {x: 0.093944766, y: -0.18156998, z: 0.47447577, w: 0.8562007} - scale: {x: 0.99998355, y: 1.0000235, z: 0.99999475} - - name: belt_R.005_end_2 - parentName: belt_R.005_2 - position: {x: -0, y: 0.00072918803, z: 0} - rotation: {x: -0.00000008195638, y: -0.000000104308114, z: 0.000000054016702, w: 1} - scale: {x: 1.0000002, y: 1.0000007, z: 0.9999989} - - name: belt_R.005_end_2_end - parentName: belt_R.005_end_2 - position: {x: -0, y: 0.00072918803, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Right leg) - parentName: Right leg - position: {x: 0.00014, y: 0.000529838, z: -0.000013086999} - rotation: {x: 0.002249683, y: 0.027716381, z: -0.028410675, w: 0.99920946} - scale: {x: 1, y: 1.000003, z: 1.0000021} - - name: Magica Capsule Collider (Right leg)_end - parentName: Magica Capsule Collider (Right leg) - position: {x: -0, y: 0.00054817897, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Right leg) (1) - parentName: Right leg - position: {x: 0.000105998995, y: 0.001072956, z: 0.000025498} - rotation: {x: 0.002249683, y: 0.027716383, z: -0.02841068, w: 0.99920946} - scale: {x: 1, y: 1.000003, z: 1.0000021} - - name: Magica Capsule Collider (Right leg) (1)_end - parentName: Magica Capsule Collider (Right leg) (1) - position: {x: -0, y: 0.00054817897, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: UpperLeg_R - parentName: Right leg - position: {x: 0.000017328, y: -0.000029374, z: -0.00000683} - rotation: {x: 0.25335497, y: 0.67557967, z: -0.69238883, w: -0.0011052219} - scale: {x: 1.0000027, y: 1.000003, z: 1.0000024} - - name: belt_R - parentName: UpperLeg_R - position: {x: -1.862645e-10, y: 0.000703037, z: 6.61239e-10} - rotation: {x: -0.25108242, y: -0.73520803, z: 0.62264985, w: 0.09345593} - scale: {x: 1.000004, y: 1.0000057, z: 1.0000029} - - name: belt_R.001 - parentName: belt_R - position: {x: -0, y: 0.000342023, z: -1.0244548e-10} - rotation: {x: 0.091182716, y: 0.1067744, z: -0.081944816, w: 0.98669654} - scale: {x: 0.9999985, y: 1.0000036, z: 1.0000038} - - name: belt_R.002 - parentName: belt_R.001 - position: {x: -1.862645e-10, y: 0.000713934, z: 0} - rotation: {x: 0.35116273, y: 0.055548176, z: 0.07144043, w: 0.931931} - scale: {x: 1.0000023, y: 1.0000038, z: 1.0000023} - - name: belt_R.003 - parentName: belt_R.002 - position: {x: -0, y: 0.000708362, z: 1.11758706e-10} - rotation: {x: -0.0057789083, y: -0.04065962, z: 0.103482045, w: 0.9937831} - scale: {x: 1.0000007, y: 0.9999972, z: 0.999998} - - name: belt_R.004 - parentName: belt_R.003 - position: {x: -1.00699254e-10, y: 0.000754972, z: -3.7718564e-10} - rotation: {x: 0.031584192, y: -0.0891097, z: 0.23975128, w: 0.9662201} - scale: {x: 0.9999976, y: 1.0000075, z: 1.0000021} - - name: belt_R.005 - parentName: belt_R.004 - position: {x: -0, y: 0.000684652, z: 2.4214386e-10} - rotation: {x: 0.09389973, y: -0.18155758, z: 0.4744962, w: 0.8561969} - scale: {x: 0.9999961, y: 1.0000117, z: 1.0000008} - - name: belt_R.005_end - parentName: belt_R.005 - position: {x: -0, y: 0.000729236, z: 0} - rotation: {x: 0.000000007450579, y: -0.000000014901158, z: 0.0000000018626447, w: 1} - scale: {x: 0.9999996, y: 0.99999994, z: 0.99999994} - - name: belt_R.005_end_end - parentName: belt_R.005_end - position: {x: -0, y: 0.000729238, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Spine - parentName: Hips - position: {x: 4.6333298e-10, y: 0.00026891587, z: 2.9802322e-10} - rotation: {x: -0.00004859269, y: -4.5472845e-10, z: -1.4777603e-10, w: 1} - scale: {x: 1, y: 0.9999998, z: 1} - - name: Chest - parentName: Spine - position: {x: -1.816079e-10, y: 0.00069237826, z: -0.000000001490116} - rotation: {x: -0.069232814, y: -1.7124478e-10, z: -1.6001654e-10, w: 0.9976005} - scale: {x: 0.9999998, y: 1.0000005, z: 0.9999999} - - name: breast_L - parentName: Chest - position: {x: -0.000318042, y: 0.000757201, z: -0.000250579} - rotation: {x: 0.6092576, y: -0.46053323, z: -0.52922386, w: 0.3696437} - scale: {x: 0.99999917, y: 0.9999985, z: 1.0000004} - - name: breast_L.001 - parentName: breast_L - position: {x: -8.032657e-10, y: 0.0001733, z: 0} - rotation: {x: -0.0011924654, y: 0.0068585277, z: -0.00002643466, w: 0.9999758} - scale: {x: 1.0000043, y: 1.0000046, z: 1.0000027} - - name: breast_L.002_2 - parentName: breast_L.001 - position: {x: -7.555354e-10, y: 0.001024048, z: 0} - rotation: {x: -0.71480817, y: 0.057679564, z: 0.6944017, w: 0.059402306} - scale: {x: 1.0000015, y: 0.9999997, z: 1.0000008} - - name: breast_L.002_end_2 - parentName: breast_L.002_2 - position: {x: -0, y: 0.000649591, z: 1.6065314e-10} - rotation: {x: 0.0000000037252907, y: -2.3283067e-10, z: -0, w: 1} - scale: {x: 0.9999996, y: 1.0000005, z: 0.99999994} - - name: breast_L.002_end_2_end - parentName: breast_L.002_end_2 - position: {x: -0, y: 0.000649589, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: breast_L.001_3 - parentName: breast_L.001 - position: {x: -4.0512532e-10, y: -2.0023434e-10, z: 0} - rotation: {x: 0.000000089989044, y: -0.0000007147901, z: -0.00000008964798, w: 1} - scale: {x: 1.0000005, y: 0.9999994, z: 0.9999994} - - name: breast_L.002_3_3 - parentName: breast_L.001_3 - position: {x: 5.3551047e-10, y: 0.001024048, z: 0} - rotation: {x: -0.71480715, y: 0.05768644, z: 0.6944015, w: 0.0594111} - scale: {x: 1.0000037, y: 1.0000019, z: 1.000003} - - name: breast_L.002_end_3_3 - parentName: breast_L.002_3_3 - position: {x: -0, y: 0.000649591, z: 1.6530975e-10} - rotation: {x: 0.0000000037252894, y: -0, z: 0.0000000037252894, w: 1} - scale: {x: 1.0000001, y: 1.0000004, z: 1.0000007} - - name: breast_L.002_end_3_3_end - parentName: breast_L.002_end_3_3 - position: {x: -0, y: 0.000649591, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: breast_L_4 - parentName: breast_L - position: {x: -0.000000001002918, y: 0, z: 0} - rotation: {x: -0, y: -0, z: -0, w: 1} - scale: {x: 1.0000021, y: 1.0000032, z: 1.0000015} - - name: breast_L_4_end - parentName: breast_L_4 - position: {x: -0, y: 0.0001733, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: breast_R - parentName: Chest - position: {x: 0.000318042, y: 0.000757201, z: -0.000250579} - rotation: {x: 0.6092599, y: 0.46053088, z: 0.52922136, w: 0.3696465} - scale: {x: 1.0000001, y: 0.9999996, z: 1.0000011} - - name: breast_R.001 - parentName: breast_R - position: {x: 5.0524246e-10, y: 0.0001733, z: 0} - rotation: {x: -0.0011924505, y: -0.00686343, z: 0.000026375055, w: 0.99997574} - scale: {x: 0.99999976, y: 1, z: 0.9999991} - - name: breast_R.002_2 - parentName: breast_R.001 - position: {x: -2.863817e-10, y: 0.001024051, z: 0} - rotation: {x: -0.71481586, y: -0.057681967, z: -0.69439256, w: 0.059416063} - scale: {x: 0.9999956, y: 1.0000043, z: 1.0000037} - - name: breast_R.002_end_2 - parentName: breast_R.002_2 - position: {x: -0, y: 0.000649591, z: 0} - rotation: {x: 0.000000018626444, y: 6.984917e-10, z: 0.000000011175867, w: 1} - scale: {x: 0.99999905, y: 0.99999845, z: 0.9999986} - - name: breast_R.002_end_2_end - parentName: breast_R.002_end_2 - position: {x: -0, y: 0.000649591, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: breast_R.001_3 - parentName: breast_R.001 - position: {x: -0, y: 1.7229468e-10, z: 0} - rotation: {x: -0, y: -0, z: 1.8189894e-12, w: 1} - scale: {x: 1.0000031, y: 1.0000019, z: 1.0000008} - - name: breast_R.002_3_3 - parentName: breast_R.001_3 - position: {x: -2.759043e-10, y: 0.001024048, z: 0} - rotation: {x: -0.71481496, y: -0.057678334, z: -0.69439477, w: 0.059403535} - scale: {x: 1.0000014, y: 1.0000013, z: 1.000001} - - name: breast_R.002_end_3_3 - parentName: breast_R.002_3_3 - position: {x: -0, y: 0.000649591, z: -5.8789734e-10} - rotation: {x: -0.0000000037252903, y: -2.3283064e-10, z: -0.0000000037252903, w: 1} - scale: {x: 0.99999976, y: 0.9999996, z: 1.0000001} - - name: breast_R.002_end_3_3_end - parentName: breast_R.002_end_3_3 - position: {x: -0, y: 0.000649591, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: breast_R_4 - parentName: breast_R - position: {x: 7.0373063e-10, y: -1.0244548e-10, z: 0} - rotation: {x: -0, y: -0, z: -0.000000029802322, w: 1} - scale: {x: 1.0000002, y: 1.0000025, z: 1.0000005} - - name: breast_R_4_end - parentName: breast_R_4 - position: {x: -0, y: 0.000173298, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left shoulder - parentName: Chest - position: {x: -0.0004655776, y: 0.0013782585, z: -0.00013393324} - rotation: {x: -0.46096548, y: 0.46738803, z: 0.53061146, w: 0.53620034} - scale: {x: 1.0000007, y: 1.0000013, z: 0.9999996} - - name: Left arm - parentName: Left shoulder - position: {x: 1.4901161e-10, y: 0.00025396666, z: -5.9604643e-10} - rotation: {x: -0.011544556, y: 0.005611092, z: -0.018702568, w: 0.9997427} - scale: {x: 1.0000006, y: 1.0000007, z: 1.0000001} - - name: Left elbow - parentName: Left arm - position: {x: -0.0000000014156103, y: 0.0018166181, z: 5.9604643e-10} - rotation: {x: 0.0055438746, y: -0.00570693, z: 0.015348953, w: 0.99985063} - scale: {x: 1.0000019, y: 1.0000025, z: 1.0000027} - - name: Left wrist - parentName: Left elbow - position: {x: 2.9802322e-10, y: 0.0018393004, z: -5.9604643e-10} - rotation: {x: 0.044064824, y: -0.04381895, z: -0.03824111, w: -0.9973344} - scale: {x: 1.0000011, y: 1.0000005, z: 1.0000005} - - name: Index_Proximal_L - parentName: Left wrist - position: {x: -0.00015180052, y: 0.00053179264, z: 0.000018273591} - rotation: {x: -0.043906733, y: 0.043956682, z: 0.03512011, w: -0.99745005} - scale: {x: 1.0000014, y: 1.0000006, z: 1.0000007} - - name: Index_Intermediate_L - parentName: Index_Proximal_L - position: {x: -2.9802322e-10, y: 0.00019945025, z: 0.0000000011920929} - rotation: {x: 0.000018190589, y: 0.0000036358824, z: -0.014236566, w: 0.9998987} - scale: {x: 1.0000037, y: 1.0000057, z: 1.0000024} - - name: Index_Distal_L - parentName: Index_Intermediate_L - position: {x: -7.45058e-10, y: 0.00018291711, z: 0} - rotation: {x: -0.000004262243, y: 0.000004314052, z: -0.019037634, w: 0.99981874} - scale: {x: 1.0000025, y: 1.0000002, z: 1.0000013} - - name: Index_Distal_L_end_2 - parentName: Index_Distal_L - position: {x: -0, y: 0.000152134, z: -3.0564848e-10} - rotation: {x: 0.0000000019826976, y: -0.000000059573694, z: -0.000000042822684, w: 1} - scale: {x: 1.000002, y: 1.0000014, z: 1.0000026} - - name: Index_Distal_L_end_2_end - parentName: Index_Distal_L_end_2 - position: {x: -0, y: 0.000152134, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_L___SHVzaF9SdXNo;;;24 - parentName: Index_Distal_L - position: {x: -0, y: 2.3697794e-10, z: -3.056499e-10} - rotation: {x: 0.0000039414854, y: -0.0000037452419, z: 0.000000007452687, w: 1} - scale: {x: 1.0000019, y: 1.0000014, z: 1.0000023} - - name: Index_Distal_L_end_3 - parentName: Index_Distal_L___SHVzaF9SdXNo;;;24 - position: {x: -0, y: 0.000152136, z: -6.956972e-10} - rotation: {x: -0, y: -0, z: -1.5092093e-16, w: 1} - scale: {x: 0.99999976, y: 1.0000001, z: 1.000001} - - name: Index_Distal_L_end_3_end - parentName: Index_Distal_L_end_3 - position: {x: -0, y: 0.000152134, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;24 - parentName: Index_Distal_L - position: {x: -0, y: 2.3697794e-10, z: -3.056499e-10} - rotation: {x: -0.000007760601, y: 0.0000072858284, z: 0.00000006524263, w: 1} - scale: {x: 1.0000015, y: 1.0000008, z: 1.0000026} - - name: Index_Distal_L_end_4_2 - parentName: Index_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;24 - position: {x: -0, y: 0.000152136, z: -5.6445315e-10} - rotation: {x: 0.000000034499855, y: -0.000000028671813, z: -0.000000027939768, w: 1} - scale: {x: 1.0000027, y: 1.0000032, z: 1.0000039} - - name: Index_Distal_L_end_4_2_end - parentName: Index_Distal_L_end_4_2 - position: {x: -0, y: 0.000152136, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_L___MDRfUGlua0JsYWNr;;;24 - parentName: Index_Distal_L - position: {x: -0, y: 2.3697794e-10, z: -3.056499e-10} - rotation: {x: -0.000011633704, y: 0.000010880526, z: -0.0000000111101714, w: 1} - scale: {x: 1.0000013, y: 1.0000004, z: 1.0000015} - - name: Index_Distal_L_end_5 - parentName: Index_Distal_L___MDRfUGlua0JsYWNr;;;24 - position: {x: -0, y: 0.000152136, z: -1.2491909e-10} - rotation: {x: -0.000000005707078, y: 0.00000005944456, z: -0.00000004470259, w: 1} - scale: {x: 1.0000008, y: 1.0000011, z: 1.0000008} - - name: Index_Distal_L_end_5_end - parentName: Index_Distal_L_end_5 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_L___MDNfV2hpdGU=;;;24 - parentName: Index_Distal_L - position: {x: -0, y: 2.3697794e-10, z: -3.056499e-10} - rotation: {x: -0.000011633704, y: 0.000010880526, z: -0.0000000111101714, w: 1} - scale: {x: 1.0000013, y: 1.0000004, z: 1.0000015} - - name: Index_Distal_L_end_6 - parentName: Index_Distal_L___MDNfV2hpdGU=;;;24 - position: {x: -0, y: 0.000152136, z: -1.2491909e-10} - rotation: {x: -0.000000005707078, y: 0.00000005944456, z: -0.00000004470259, w: 1} - scale: {x: 1.0000008, y: 1.0000011, z: 1.0000008} - - name: Index_Distal_L_end_6_end - parentName: Index_Distal_L_end_6 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_L___SHVzaF9SdXNo;;;23 - parentName: Index_Intermediate_L - position: {x: -0, y: -3.289915e-10, z: 1.6712064e-10} - rotation: {x: 0.00000012046799, y: -0.00000008770141, z: -0.000000032660793, w: 1} - scale: {x: 1.0000027, y: 1.0000006, z: 1.0000014} - - name: Index_Intermediate_L___SHVzaF9SdXNo;;;23_end - parentName: Index_Intermediate_L___SHVzaF9SdXNo;;;23 - position: {x: -0, y: 0.000182917, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;23 - parentName: Index_Intermediate_L - position: {x: -0, y: -3.289915e-10, z: 1.6712064e-10} - rotation: {x: 0.00000012046799, y: -0.00000008770141, z: -0.000000032660793, w: 1} - scale: {x: 1.0000027, y: 1.0000006, z: 1.0000014} - - name: Index_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;23_end - parentName: Index_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;23 - position: {x: -0, y: 0.000182917, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_L___MDRfUGlua0JsYWNr;;;23 - parentName: Index_Intermediate_L - position: {x: -0, y: -3.289915e-10, z: 1.6712064e-10} - rotation: {x: 0.00000012046799, y: -0.00000008770141, z: -0.000000032660793, w: 1} - scale: {x: 1.0000027, y: 1.0000006, z: 1.0000014} - - name: Index_Intermediate_L___MDRfUGlua0JsYWNr;;;23_end - parentName: Index_Intermediate_L___MDRfUGlua0JsYWNr;;;23 - position: {x: -0, y: 0.000182917, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_L___MDNfV2hpdGU=;;;23 - parentName: Index_Intermediate_L - position: {x: -0, y: -3.289915e-10, z: 1.6712064e-10} - rotation: {x: 0.00000012046799, y: -0.00000008770141, z: -0.000000032660793, w: 1} - scale: {x: 1.0000027, y: 1.0000006, z: 1.0000014} - - name: Index_Intermediate_L___MDNfV2hpdGU=;;;23_end - parentName: Index_Intermediate_L___MDNfV2hpdGU=;;;23 - position: {x: -0, y: 0.000182917, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_L___SHVzaF9SdXNo;;;22 - parentName: Index_Proximal_L - position: {x: -0, y: 0, z: 0.0000000011581512} - rotation: {x: 0.0000023879104, y: 0.000000052154054, z: -0.00000017380803, w: 1} - scale: {x: 1.0000035, y: 1.0000052, z: 1.0000019} - - name: Index_Proximal_L___SHVzaF9SdXNo;;;22_end - parentName: Index_Proximal_L___SHVzaF9SdXNo;;;22 - position: {x: -0, y: 0.000199449, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;22 - parentName: Index_Proximal_L - position: {x: -0, y: 0, z: 0.0000000011581512} - rotation: {x: 0.0000023879104, y: 0.000000052154054, z: -0.00000017380803, w: 1} - scale: {x: 1.0000035, y: 1.0000052, z: 1.0000019} - - name: Index_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;22_end - parentName: Index_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;22 - position: {x: -0, y: 0.000199449, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_L___MDRfUGlua0JsYWNr;;;22 - parentName: Index_Proximal_L - position: {x: -0, y: 0, z: 0.0000000011581512} - rotation: {x: 0.0000023879104, y: 0.000000052154054, z: -0.00000017380803, w: 1} - scale: {x: 1.0000035, y: 1.0000052, z: 1.0000019} - - name: Index_Proximal_L___MDRfUGlua0JsYWNr;;;22_end - parentName: Index_Proximal_L___MDRfUGlua0JsYWNr;;;22 - position: {x: -0, y: 0.000199449, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_L___MDNfV2hpdGU=;;;22 - parentName: Index_Proximal_L - position: {x: -0, y: 0, z: 0.0000000011581512} - rotation: {x: 0.0000023879104, y: 0.000000052154054, z: -0.00000017380803, w: 1} - scale: {x: 1.0000035, y: 1.0000052, z: 1.0000019} - - name: Index_Proximal_L___MDNfV2hpdGU=;;;22_end - parentName: Index_Proximal_L___MDNfV2hpdGU=;;;22 - position: {x: -0, y: 0.000199449, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_L_2 - parentName: Index_Proximal_L - position: {x: -0, y: 0, z: 0.0000000011581512} - rotation: {x: 0.0000147484225, y: -0.00000295788, z: -0.00000020954755, w: 1} - scale: {x: 1.000003, y: 1.0000048, z: 1.0000024} - - name: Index_Intermediate_L_2 - parentName: Index_Proximal_L_2 - position: {x: -0, y: 0.000199449, z: 0.0000000015808155} - rotation: {x: 0.000016369282, y: -0.0000065171785, z: -0.014236591, w: 0.9998987} - scale: {x: 0.9999999, y: 1.0000002, z: 1.0000019} - - name: Index_Distal_L_2 - parentName: Index_Intermediate_L_2 - position: {x: -0, y: 0.000182916, z: 7.3219436e-10} - rotation: {x: -0.000025328789, y: 0.000024237412, z: -0.019037407, w: 0.9998188} - scale: {x: 1.0000049, y: 1.0000026, z: 1.0000038} - - name: Index_Distal_L_end_4_3 - parentName: Index_Distal_L_2 - position: {x: -0, y: 0.000152137, z: 6.2716876e-10} - rotation: {x: -0, y: -0, z: 6.139042e-10, w: 1} - scale: {x: 0.9999996, y: 0.99999917, z: 1.0000002} - - name: Index_Distal_L_end_4_3_end - parentName: Index_Distal_L_end_4_3 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L - parentName: Left wrist - position: {x: 0.00019362688, y: 0.00045720933, z: -0.0000033962726} - rotation: {x: -0.043051504, y: 0.044817515, z: 0.015388582, w: -0.99794847} - scale: {x: 1.0000013, y: 1.0000012, z: 1.0000002} - - name: Little_Intermediate_L - parentName: Little_Proximal_L - position: {x: -0.0000000011920929, y: 0.00018589853, z: 0} - rotation: {x: 0.000008791683, y: -0.000009957698, z: 0.0108184405, w: 0.99994147} - scale: {x: 0.9999989, y: 0.9999994, z: 0.99999857} - - name: Little_Distal_L - parentName: Little_Intermediate_L - position: {x: 5.9604643e-10, y: 0.00012601793, z: -0.0000000017881393} - rotation: {x: -0.000023496355, y: 0.000025499878, z: 0.02992994, w: 0.999552} - scale: {x: 1.0000027, y: 1.000002, z: 0.99999976} - - name: Little_Distal_L_end_2 - parentName: Little_Distal_L - position: {x: -0, y: 0.000130262, z: 8.326907e-10} - rotation: {x: 0.0000000095769765, y: -0.00000013088354, z: -0.00000003851945, w: 1} - scale: {x: 0.9999993, y: 0.9999996, z: 1.0000006} - - name: Little_Distal_L_end_2_end - parentName: Little_Distal_L_end_2 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_L___SHVzaF9SdXNo;;;27 - parentName: Little_Distal_L - position: {x: -0, y: 1.2807504e-10, z: 8.3270435e-10} - rotation: {x: -0.000000072392126, y: -0.000000038060524, z: -0.0000000049897246, w: 1} - scale: {x: 0.99999875, y: 0.99999946, z: 1.0000006} - - name: Little_Distal_L_end_3 - parentName: Little_Distal_L___SHVzaF9SdXNo;;;27 - position: {x: -0, y: 0.000130262, z: 0.0000000019443647} - rotation: {x: 0.000000085539774, y: -0.000000096699274, z: 0.000000011173647, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 1.000001} - - name: Little_Distal_L_end_3_end - parentName: Little_Distal_L_end_3 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;27 - parentName: Little_Distal_L - position: {x: -0, y: 1.2807504e-10, z: 8.3270435e-10} - rotation: {x: -0.0000045158313, y: 0.0000051018746, z: 0.00000002865547, w: 1} - scale: {x: 0.99999744, y: 0.99999845, z: 0.99999934} - - name: Little_Distal_L_end_4_2 - parentName: Little_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;27 - position: {x: -0, y: 0.000130262, z: 6.3925026e-10} - rotation: {x: -0.00000002871456, y: 0.000000027270282, z: -0.000000040977586, w: 1} - scale: {x: 1.0000037, y: 1.000003, z: 1.0000018} - - name: Little_Distal_L_end_4_2_end - parentName: Little_Distal_L_end_4_2 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_L___MDRfUGlua0JsYWNr;;;27 - parentName: Little_Distal_L - position: {x: -0, y: 1.2807504e-10, z: 8.3270435e-10} - rotation: {x: -0.00001824944, y: 0.00002059778, z: -0.0000000026552132, w: 1} - scale: {x: 0.9999979, y: 0.9999995, z: 1.0000006} - - name: Little_Distal_L_end_5 - parentName: Little_Distal_L___MDRfUGlua0JsYWNr;;;27 - position: {x: -0, y: 0.00013026, z: 3.1150818e-10} - rotation: {x: -0.0000000037198324, y: 1.5461406e-10, z: -0.00000005774206, w: 1} - scale: {x: 1.0000002, y: 1.0000011, z: 1.0000007} - - name: Little_Distal_L_end_5_end - parentName: Little_Distal_L_end_5 - position: {x: -0, y: 0.00013026, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_L___MDNfV2hpdGU=;;;27 - parentName: Little_Distal_L - position: {x: -0, y: 1.2807504e-10, z: 8.3270435e-10} - rotation: {x: -0.00001824944, y: 0.00002059778, z: -0.0000000026552132, w: 1} - scale: {x: 0.9999979, y: 0.9999995, z: 1.0000006} - - name: Little_Distal_L_end_6 - parentName: Little_Distal_L___MDNfV2hpdGU=;;;27 - position: {x: -0, y: 0.00013026, z: 3.1150818e-10} - rotation: {x: -0.0000000037198324, y: 1.5461406e-10, z: -0.00000005774206, w: 1} - scale: {x: 1.0000002, y: 1.0000011, z: 1.0000007} - - name: Little_Distal_L_end_6_end - parentName: Little_Distal_L_end_6 - position: {x: -0, y: 0.00013026, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_L___SHVzaF9SdXNo;;;26 - parentName: Little_Intermediate_L - position: {x: -0, y: 3.6125128e-10, z: -6.305635e-10} - rotation: {x: -0.00000006365006, y: -0.000000029115647, z: -0.000000031577155, w: 1} - scale: {x: 1.0000037, y: 1.0000029, z: 1.000001} - - name: Little_Intermediate_L___SHVzaF9SdXNo;;;26_end - parentName: Little_Intermediate_L___SHVzaF9SdXNo;;;26 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;26 - parentName: Little_Intermediate_L - position: {x: -0, y: 3.6125128e-10, z: -6.305635e-10} - rotation: {x: -0.00000006365006, y: -0.000000029115647, z: -0.000000031577155, w: 1} - scale: {x: 1.0000037, y: 1.0000029, z: 1.000001} - - name: Little_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;26_end - parentName: Little_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;26 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_L___MDRfUGlua0JsYWNr;;;26 - parentName: Little_Intermediate_L - position: {x: -0, y: 3.6125128e-10, z: -6.305635e-10} - rotation: {x: -0.00000006365006, y: -0.000000029115647, z: -0.000000031577155, w: 1} - scale: {x: 1.0000037, y: 1.0000029, z: 1.000001} - - name: Little_Intermediate_L___MDRfUGlua0JsYWNr;;;26_end - parentName: Little_Intermediate_L___MDRfUGlua0JsYWNr;;;26 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_L___MDNfV2hpdGU=;;;26 - parentName: Little_Intermediate_L - position: {x: -0, y: 3.6125128e-10, z: -6.305635e-10} - rotation: {x: -0.00000006365006, y: -0.000000029115647, z: -0.000000031577155, w: 1} - scale: {x: 1.0000037, y: 1.0000029, z: 1.000001} - - name: Little_Intermediate_L___MDNfV2hpdGU=;;;26_end - parentName: Little_Intermediate_L___MDNfV2hpdGU=;;;26 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L___SHVzaF9SdXNo;;;25 - parentName: Little_Proximal_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000009946523, y: -0.000000026077027, z: 0.000000111409435, w: 1} - scale: {x: 1.0000001, y: 0.9999998, z: 1.0000005} - - name: Little_Proximal_L___SHVzaF9SdXNo;;;25_end - parentName: Little_Proximal_L___SHVzaF9SdXNo;;;25 - position: {x: -0, y: 0.000185896, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;25 - parentName: Little_Proximal_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000009946523, y: -0.000000026077027, z: 0.000000111409435, w: 1} - scale: {x: 1.0000001, y: 0.9999998, z: 1.0000005} - - name: Little_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;25_end - parentName: Little_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;25 - position: {x: -0, y: 0.000185896, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L___MDRfUGlua0JsYWNr;;;25 - parentName: Little_Proximal_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000009946523, y: -0.000000026077027, z: 0.000000111409435, w: 1} - scale: {x: 1.0000001, y: 0.9999998, z: 1.0000005} - - name: Little_Proximal_L___MDRfUGlua0JsYWNr;;;25_end - parentName: Little_Proximal_L___MDRfUGlua0JsYWNr;;;25 - position: {x: -0, y: 0.000185896, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L___MDNfV2hpdGU=;;;25 - parentName: Little_Proximal_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000009946523, y: -0.000000026077027, z: 0.000000111409435, w: 1} - scale: {x: 1.0000001, y: 0.9999998, z: 1.0000005} - - name: Little_Proximal_L___MDNfV2hpdGU=;;;25_end - parentName: Little_Proximal_L___MDNfV2hpdGU=;;;25 - position: {x: -0, y: 0.000185896, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_L_2 - parentName: Little_Proximal_L - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.0000010654328, y: 0.000000033527606, z: 0.00000004901084, w: 1} - scale: {x: 1.0000021, y: 1.0000015, z: 1.0000017} - - name: Little_Intermediate_L_2 - parentName: Little_Proximal_L_2 - position: {x: -0, y: 0.000185896, z: 0} - rotation: {x: 0.000005047342, y: -0.0000050071376, z: 0.010818413, w: 0.9999415} - scale: {x: 1.0000008, y: 1.0000008, z: 1.0000001} - - name: Little_Distal_L_2 - parentName: Little_Intermediate_L_2 - position: {x: -0, y: 0.000126018, z: -9.682245e-10} - rotation: {x: -0.000023568364, y: 0.000025288153, z: 0.02992986, w: 0.999552} - scale: {x: 1.0000008, y: 1.0000007, z: 1.0000007} - - name: Little_Distal_L_end_4_3 - parentName: Little_Distal_L_2 - position: {x: 1.0590156e-10, y: 0.000130265, z: 0.0000000018303603} - rotation: {x: -0.000000007446941, y: 3.0559014e-10, z: 0.00000012911849, w: 1} - scale: {x: 1.0000013, y: 1.0000015, z: 1.0000023} - - name: Little_Distal_L_end_4_3_end - parentName: Little_Distal_L_end_4_3 - position: {x: -0, y: 0.000130265, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L - parentName: Left wrist - position: {x: -0.00003662288, y: 0.0005426109, z: 0.000042670963} - rotation: {x: -0.04388629, y: 0.043953184, z: 0.035121072, w: -0.99745107} - scale: {x: 1.0000023, y: 1.000003, z: 1.000003} - - name: Middle_Intermediate_L - parentName: Middle_Proximal_L - position: {x: -0, y: 0.00021855772, z: -0.0000000011920929} - rotation: {x: -0.000010143965, y: -0.0000027455387, z: 0.00000018114221, w: 1} - scale: {x: 0.9999986, y: 0.999999, z: 0.9999973} - - name: Middle_Distal_L - parentName: Middle_Intermediate_L - position: {x: -0.0000000011920929, y: 0.00018481672, z: 0.0000000011920929} - rotation: {x: 0.000031862397, y: -0.0000061355545, z: -0.00000015917303, w: 1} - scale: {x: 1.000002, y: 1.0000014, z: 1.0000017} - - name: Middle_Distal_L_end_2 - parentName: Middle_Distal_L - position: {x: -0, y: 0.00019315, z: -6.0870975e-10} - rotation: {x: -0, y: -0, z: -5.176413e-15, w: 1} - scale: {x: 1.0000012, y: 1.0000008, z: 1.0000029} - - name: Middle_Distal_L_end_2_end - parentName: Middle_Distal_L_end_2 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_L___SHVzaF9SdXNo;;;30 - parentName: Middle_Distal_L - position: {x: -0, y: -3.1837316e-10, z: -6.087093e-10} - rotation: {x: -0.0000024922117, y: 0.0000031292439, z: 0.000000112294934, w: 1} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000029} - - name: Middle_Distal_L_end_3 - parentName: Middle_Distal_L___SHVzaF9SdXNo;;;30 - position: {x: -0, y: 0.000193153, z: 8.934839e-10} - rotation: {x: 0.000000014897976, y: -0.00000013411407, z: -0.00000018428295, w: 1} - scale: {x: 1.000001, y: 1.0000006, z: 1.0000033} - - name: Middle_Distal_L_end_3_end - parentName: Middle_Distal_L_end_3 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;30 - parentName: Middle_Distal_L - position: {x: -0, y: -3.1837316e-10, z: -6.087093e-10} - rotation: {x: -0.0000073984193, y: 0.000009197742, z: 0.000000118725964, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000029} - - name: Middle_Distal_L_end_4_2 - parentName: Middle_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;30 - position: {x: -0, y: 0.000193153, z: -8.81688e-10} - rotation: {x: 0.000000055879802, y: -0.000000059603728, z: 0.000000039814925, w: 1} - scale: {x: 1.000001, y: 1.0000001, z: 1.0000013} - - name: Middle_Distal_L_end_4_2_end - parentName: Middle_Distal_L_end_4_2 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_L___MDRfUGlua0JsYWNr;;;30 - parentName: Middle_Distal_L - position: {x: -0, y: -3.1837316e-10, z: -6.087093e-10} - rotation: {x: -0.0000025331917, y: 0.000002965328, z: -0.000000044628987, w: 1} - scale: {x: 1.0000015, y: 1.0000017, z: 1.0000031} - - name: Middle_Distal_L_end_5 - parentName: Middle_Distal_L___MDRfUGlua0JsYWNr;;;30 - position: {x: -0, y: 0.000193153, z: 8.9368235e-10} - rotation: {x: 0.00000007078187, y: 0.00000010431039, z: 0.00000012223364, w: 1} - scale: {x: 1.0000004, y: 0.99999976, z: 0.9999985} - - name: Middle_Distal_L_end_5_end - parentName: Middle_Distal_L_end_5 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_L___MDNfV2hpdGU=;;;30 - parentName: Middle_Distal_L - position: {x: -0, y: -3.1837316e-10, z: -6.087093e-10} - rotation: {x: -0.0000025331917, y: 0.000002965328, z: -0.000000044628987, w: 1} - scale: {x: 1.0000015, y: 1.0000017, z: 1.0000031} - - name: Middle_Distal_L_end_6 - parentName: Middle_Distal_L___MDNfV2hpdGU=;;;30 - position: {x: -0, y: 0.000193153, z: 8.9368235e-10} - rotation: {x: 0.00000007078187, y: 0.00000010431039, z: 0.00000012223364, w: 1} - scale: {x: 1.0000004, y: 0.99999976, z: 0.9999985} - - name: Middle_Distal_L_end_6_end - parentName: Middle_Distal_L_end_6 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_L___SHVzaF9SdXNo;;;29 - parentName: Middle_Intermediate_L - position: {x: -0, y: -3.712035e-10, z: 0} - rotation: {x: -0.0000000037234704, y: -0.00000000372438, z: -0.000000048079553, w: 1} - scale: {x: 1.000002, y: 1.0000012, z: 1.0000002} - - name: Middle_Intermediate_L___SHVzaF9SdXNo;;;29_end - parentName: Middle_Intermediate_L___SHVzaF9SdXNo;;;29 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;29 - parentName: Middle_Intermediate_L - position: {x: -0, y: -3.712035e-10, z: 0} - rotation: {x: -0.0000000037234704, y: -0.00000000372438, z: -0.000000048079553, w: 1} - scale: {x: 1.000002, y: 1.0000012, z: 1.0000002} - - name: Middle_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;29_end - parentName: Middle_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;29 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_L___MDRfUGlua0JsYWNr;;;29 - parentName: Middle_Intermediate_L - position: {x: -0, y: -3.712035e-10, z: 0} - rotation: {x: -0.0000000037234704, y: -0.00000000372438, z: -0.000000048079553, w: 1} - scale: {x: 1.000002, y: 1.0000012, z: 1.0000002} - - name: Middle_Intermediate_L___MDRfUGlua0JsYWNr;;;29_end - parentName: Middle_Intermediate_L___MDRfUGlua0JsYWNr;;;29 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_L___MDNfV2hpdGU=;;;29 - parentName: Middle_Intermediate_L - position: {x: -0, y: -3.712035e-10, z: 0} - rotation: {x: -0.0000000037234704, y: -0.00000000372438, z: -0.000000048079553, w: 1} - scale: {x: 1.000002, y: 1.0000012, z: 1.0000002} - - name: Middle_Intermediate_L___MDNfV2hpdGU=;;;29_end - parentName: Middle_Intermediate_L___MDNfV2hpdGU=;;;29 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L___SHVzaF9SdXNo;;;28 - parentName: Middle_Proximal_L - position: {x: -0, y: -1.4586249e-10, z: -8.681638e-10} - rotation: {x: 0.000014454121, y: -0.000000026077023, z: 0.00000004807951, w: 1} - scale: {x: 0.9999984, y: 0.99999875, z: 0.9999982} - - name: Middle_Proximal_L___SHVzaF9SdXNo;;;28_end - parentName: Middle_Proximal_L___SHVzaF9SdXNo;;;28 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;28 - parentName: Middle_Proximal_L - position: {x: -0, y: -1.4586249e-10, z: -8.681638e-10} - rotation: {x: 0.000014454121, y: -0.000000026077023, z: 0.00000004807951, w: 1} - scale: {x: 0.9999984, y: 0.99999875, z: 0.9999982} - - name: Middle_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;28_end - parentName: Middle_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;28 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L___MDRfUGlua0JsYWNr;;;28 - parentName: Middle_Proximal_L - position: {x: -0, y: -1.4586249e-10, z: -8.681638e-10} - rotation: {x: 0.000014454121, y: -0.000000026077023, z: 0.00000004807951, w: 1} - scale: {x: 0.9999984, y: 0.99999875, z: 0.9999982} - - name: Middle_Proximal_L___MDRfUGlua0JsYWNr;;;28_end - parentName: Middle_Proximal_L___MDRfUGlua0JsYWNr;;;28 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L___MDNfV2hpdGU=;;;28 - parentName: Middle_Proximal_L - position: {x: -0, y: -1.4586249e-10, z: -8.681638e-10} - rotation: {x: 0.000014454121, y: -0.000000026077023, z: 0.00000004807951, w: 1} - scale: {x: 0.9999984, y: 0.99999875, z: 0.9999982} - - name: Middle_Proximal_L___MDNfV2hpdGU=;;;28_end - parentName: Middle_Proximal_L___MDNfV2hpdGU=;;;28 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_L_2 - parentName: Middle_Proximal_L - position: {x: -0, y: -1.4586249e-10, z: -8.681638e-10} - rotation: {x: 0.000018749384, y: -0.000005461275, z: -0.0000048839715, w: 1} - scale: {x: 0.9999986, y: 0.99999875, z: 0.99999774} - - name: Middle_Intermediate_L_2 - parentName: Middle_Proximal_L_2 - position: {x: -0, y: 0.000218557, z: -2.822822e-10} - rotation: {x: -0.000004798176, y: 0.0000059307313, z: 0.00000496561, w: 1} - scale: {x: 1.0000006, y: 1.0000021, z: 1.0000035} - - name: Middle_Distal_L_2 - parentName: Middle_Intermediate_L_2 - position: {x: -0, y: 0.000184809, z: -6.0682326e-10} - rotation: {x: 0.00000036880365, y: -0.00000021233967, z: 0.00000011781516, w: 1} - scale: {x: 1.000001, y: 1.0000011, z: 1.0000018} - - name: Middle_Distal_L_end_4_3 - parentName: Middle_Distal_L_2 - position: {x: -0, y: 0.000193153, z: -8.8151864e-10} - rotation: {x: -0.000000026080263, y: 0.000000044701636, z: -0.00000008754456, w: 1} - scale: {x: 1.0000029, y: 1.0000048, z: 1.0000025} - - name: Middle_Distal_L_end_4_3_end - parentName: Middle_Distal_L_end_4_3 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L - parentName: Left wrist - position: {x: 0.000085266525, y: 0.0005112815, z: 0.000024867653} - rotation: {x: -0.043255016, y: 0.044621125, z: 0.019927075, w: -0.99786824} - scale: {x: 1.0000017, y: 1.000001, z: 1.0000014} - - name: Ring_Intermediate_L - parentName: Ring_Proximal_L - position: {x: -0, y: 0.00019717276, z: -0.0000000011920929} - rotation: {x: -0.000010929996, y: 0.000010218467, z: 0.0077255806, w: 0.99997014} - scale: {x: 1, y: 0.99999994, z: 1.0000019} - - name: Ring_Distal_L - parentName: Ring_Intermediate_L - position: {x: -0.000000002980232, y: 0.00018007934, z: 0.0000000011920929} - rotation: {x: 0.000009687328, y: -0.000010363064, z: 0.0026077777, w: 0.99999666} - scale: {x: 1.000002, y: 1.0000021, z: 1.0000005} - - name: Ring_Distal_L_end_2 - parentName: Ring_Distal_L - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: -0, y: -0, z: 1.00390384e-10, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 0.9999993} - - name: Ring_Distal_L_end_2_end - parentName: Ring_Distal_L_end_2 - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_L___SHVzaF9SdXNo;;;33 - parentName: Ring_Distal_L - position: {x: -0, y: -4.174024e-10, z: 0} - rotation: {x: 0.00000005960191, y: -6.1572786e-10, z: 0.00000016866977, w: 1} - scale: {x: 1.0000001, y: 1.0000005, z: 0.9999993} - - name: Ring_Distal_L_end_3 - parentName: Ring_Distal_L___SHVzaF9SdXNo;;;33 - position: {x: -0, y: 0.000170379, z: 0} - rotation: {x: -0, y: -0, z: 3.6698556e-17, w: 1} - scale: {x: 1.0000005, y: 1.0000002, z: 0.99999994} - - name: Ring_Distal_L_end_3_end - parentName: Ring_Distal_L_end_3 - position: {x: -0, y: 0.000170379, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;33 - parentName: Ring_Distal_L - position: {x: -0, y: -4.174024e-10, z: 0} - rotation: {x: 0.000003757335, y: -0.0000037680406, z: 0.0000000557833, w: 1} - scale: {x: 1.0000002, y: 1.0000004, z: 0.9999993} - - name: Ring_Distal_L_end_4_2 - parentName: Ring_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;33 - position: {x: -0, y: 0.000170379, z: 1.3490602e-10} - rotation: {x: -0, y: -0, z: 2.3245287e-16, w: 1} - scale: {x: 1.0000021, y: 1.000001, z: 1.0000021} - - name: Ring_Distal_L_end_4_2_end - parentName: Ring_Distal_L_end_4_2 - position: {x: -0, y: 0.000170379, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_L___MDRfUGlua0JsYWNr;;;33 - parentName: Ring_Distal_L - position: {x: -0, y: -4.174024e-10, z: 0} - rotation: {x: 0.0000036529145, y: -0.0000037781383, z: 0.0000000779023, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000007} - - name: Ring_Distal_L_end_5 - parentName: Ring_Distal_L___MDRfUGlua0JsYWNr;;;33 - position: {x: -0, y: 0.00017038001, z: 0.0000000013274559} - rotation: {x: 0.00000002638466, y: 0.0000000295306, z: -0.00000007986137, w: 1} - scale: {x: 1.000002, y: 1.000001, z: 1.0000027} - - name: Ring_Distal_L_end_5_end - parentName: Ring_Distal_L_end_5 - position: {x: -0, y: 0.00017038001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_L___MDNfV2hpdGU=;;;33 - parentName: Ring_Distal_L - position: {x: -0, y: -4.174024e-10, z: 0} - rotation: {x: 0.0000036529145, y: -0.0000037781383, z: 0.0000000779023, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000007} - - name: Ring_Distal_L_end_6 - parentName: Ring_Distal_L___MDNfV2hpdGU=;;;33 - position: {x: -0, y: 0.00017038001, z: 0.0000000013274559} - rotation: {x: 0.00000002638466, y: 0.0000000295306, z: -0.00000007986137, w: 1} - scale: {x: 1.000002, y: 1.000001, z: 1.0000027} - - name: Ring_Distal_L_end_6_end - parentName: Ring_Distal_L_end_6 - position: {x: -0, y: 0.00017038001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_L___SHVzaF9SdXNo;;;32 - parentName: Ring_Intermediate_L - position: {x: -0, y: 1.8919308e-10, z: 9.0849095e-10} - rotation: {x: -0.000000026277108, y: -0.00000002587693, z: 0.000000031310694, w: 1} - scale: {x: 1.0000015, y: 1.0000011, z: 1.0000004} - - name: Ring_Intermediate_L___SHVzaF9SdXNo;;;32_end - parentName: Ring_Intermediate_L___SHVzaF9SdXNo;;;32 - position: {x: -0, y: 0.000180079, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;32 - parentName: Ring_Intermediate_L - position: {x: -0, y: 1.8919308e-10, z: 9.0849095e-10} - rotation: {x: -0.000000026277108, y: -0.00000002587693, z: 0.000000031310694, w: 1} - scale: {x: 1.0000015, y: 1.0000011, z: 1.0000004} - - name: Ring_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;32_end - parentName: Ring_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;32 - position: {x: -0, y: 0.000180079, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_L___MDRfUGlua0JsYWNr;;;32 - parentName: Ring_Intermediate_L - position: {x: -0, y: 1.8919308e-10, z: 9.0849095e-10} - rotation: {x: -0.000000026277108, y: -0.00000002587693, z: 0.000000031310694, w: 1} - scale: {x: 1.0000015, y: 1.0000011, z: 1.0000004} - - name: Ring_Intermediate_L___MDRfUGlua0JsYWNr;;;32_end - parentName: Ring_Intermediate_L___MDRfUGlua0JsYWNr;;;32 - position: {x: -0, y: 0.000180079, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_L___MDNfV2hpdGU=;;;32 - parentName: Ring_Intermediate_L - position: {x: -0, y: 1.8919308e-10, z: 9.0849095e-10} - rotation: {x: -0.000000026277108, y: -0.00000002587693, z: 0.000000031310694, w: 1} - scale: {x: 1.0000015, y: 1.0000011, z: 1.0000004} - - name: Ring_Intermediate_L___MDNfV2hpdGU=;;;32_end - parentName: Ring_Intermediate_L___MDNfV2hpdGU=;;;32 - position: {x: -0, y: 0.000180079, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L___SHVzaF9SdXNo;;;31 - parentName: Ring_Proximal_L - position: {x: -0, y: -1.0147597e-10, z: -1.1568884e-10} - rotation: {x: -0.0000011660156, y: -0.000000029802315, z: 0.00000000197906, w: 1} - scale: {x: 1.0000005, y: 1.0000005, z: 1.0000007} - - name: Ring_Proximal_L___SHVzaF9SdXNo;;;31_end - parentName: Ring_Proximal_L___SHVzaF9SdXNo;;;31 - position: {x: -0, y: 0.00019717, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;31 - parentName: Ring_Proximal_L - position: {x: -0, y: -1.0147597e-10, z: -1.1568884e-10} - rotation: {x: -0.0000011660156, y: -0.000000029802315, z: 0.00000000197906, w: 1} - scale: {x: 1.0000005, y: 1.0000005, z: 1.0000007} - - name: Ring_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;31_end - parentName: Ring_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;31 - position: {x: -0, y: 0.00019717, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L___MDRfUGlua0JsYWNr;;;31 - parentName: Ring_Proximal_L - position: {x: -0, y: -1.0147597e-10, z: -1.1568884e-10} - rotation: {x: -0.0000011660156, y: -0.000000029802315, z: 0.00000000197906, w: 1} - scale: {x: 1.0000005, y: 1.0000005, z: 1.0000007} - - name: Ring_Proximal_L___MDRfUGlua0JsYWNr;;;31_end - parentName: Ring_Proximal_L___MDRfUGlua0JsYWNr;;;31 - position: {x: -0, y: 0.00019717, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L___MDNfV2hpdGU=;;;31 - parentName: Ring_Proximal_L - position: {x: -0, y: -1.0147597e-10, z: -1.1568884e-10} - rotation: {x: -0.0000011660156, y: -0.000000029802315, z: 0.00000000197906, w: 1} - scale: {x: 1.0000005, y: 1.0000005, z: 1.0000007} - - name: Ring_Proximal_L___MDNfV2hpdGU=;;;31_end - parentName: Ring_Proximal_L___MDNfV2hpdGU=;;;31 - position: {x: -0, y: 0.00019717, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_L_2 - parentName: Ring_Proximal_L - position: {x: -0, y: -1.0147597e-10, z: -1.1568884e-10} - rotation: {x: 0.000005133448, y: -0.000006392596, z: -0.0000048321654, w: 1} - scale: {x: 1.0000001, y: 1.0000001, z: 1.0000019} - - name: Ring_Intermediate_L_2 - parentName: Ring_Proximal_L_2 - position: {x: -0, y: 0.000197174, z: -0.0000000010185477} - rotation: {x: -0.000022734415, y: 0.000023486355, z: 0.0077303685, w: 0.99997014} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000005} - - name: Ring_Distal_L_2 - parentName: Ring_Intermediate_L_2 - position: {x: -0, y: 0.000180079, z: 6.922836e-10} - rotation: {x: 0.000020048605, y: -0.000020951346, z: 0.0026078303, w: 0.99999666} - scale: {x: 1.0000011, y: 1.0000007, z: 1.0000017} - - name: Ring_Distal_L_end_4_3 - parentName: Ring_Distal_L_2 - position: {x: -0, y: 0.000170379, z: 1.3484303e-10} - rotation: {x: -0.00000004931096, y: -0.000000085175955, z: 0.00000006980525, w: 1} - scale: {x: 1.000001, y: 1.0000002, z: 1.0000008} - - name: Ring_Distal_L_end_4_3_end - parentName: Ring_Distal_L_end_4_3 - position: {x: -0, y: 0.000170379, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L - parentName: Left wrist - position: {x: -0.0000904727, y: 0.00017549544, z: -0.000082408784} - rotation: {x: 0.115839034, y: -0.12843531, z: -0.3428976, w: -0.923313} - scale: {x: 1.0000005, y: 1.0000007, z: 0.9999999} - - name: Thumb_Intermediate_L - parentName: Thumb_Proximal_L - position: {x: -0, y: 0.00020116984, z: -0.0000000011920929} - rotation: {x: 0.013212442, y: -0.094409056, z: -0.028671242, w: 0.99503285} - scale: {x: 1.0000032, y: 1.0000013, z: 1.0000037} - - name: Thumb_Distal_L - parentName: Thumb_Intermediate_L - position: {x: -5.9604643e-10, y: 0.00020206034, z: 0.0000000011920929} - rotation: {x: 0.020854631, y: -0.0300798, z: 0.014794385, w: 0.9992204} - scale: {x: 1.0000002, y: 1.0000017, z: 1.0000014} - - name: Thumb_Distal_L_end_2 - parentName: Thumb_Distal_L - position: {x: -0, y: 0.000157327, z: 6.2631444e-10} - rotation: {x: -0.000010916958, y: 0.00000003911553, z: 0.00000007799823, w: 1} - scale: {x: 1.0000025, y: 1.0000001, z: 1.0000011} - - name: Thumb_Distal_L_end_2_end - parentName: Thumb_Distal_L_end_2 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_L___SHVzaF9SdXNo;;;36 - parentName: Thumb_Distal_L - position: {x: -0, y: -1.6763806e-10, z: 5.424954e-10} - rotation: {x: -0.000000005587935, y: -0.000000016763805, z: 0.000000044936307, w: 1} - scale: {x: 1.0000001, y: 0.9999994, z: 1.0000008} - - name: Thumb_Distal_L_end_3 - parentName: Thumb_Distal_L___SHVzaF9SdXNo;;;36 - position: {x: 2.6309863e-10, y: 0.000157327, z: 7.0780515e-10} - rotation: {x: 0.000000078231075, y: -0.000000027939672, z: -0.000000027357599, w: 1} - scale: {x: 1.0000024, y: 1.0000021, z: 1.0000015} - - name: Thumb_Distal_L_end_3_end - parentName: Thumb_Distal_L_end_3 - position: {x: -0, y: 0.000157327, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;36 - parentName: Thumb_Distal_L - position: {x: -0, y: -1.6763806e-10, z: 5.424954e-10} - rotation: {x: 0.000007532536, y: 0.0000020638106, z: 0.000000039290168, w: 1} - scale: {x: 1.0000006, y: 0.9999995, z: 1.0000011} - - name: Thumb_Distal_L_end_4_2 - parentName: Thumb_Distal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;36 - position: {x: 1.3969838e-10, y: 0.000157327, z: -0.000000001064036} - rotation: {x: 0.000000063330845, y: -0.00000008381812, z: 0.000000100408975, w: 1} - scale: {x: 1.0000001, y: 1.0000005, z: 0.9999999} - - name: Thumb_Distal_L_end_4_2_end - parentName: Thumb_Distal_L_end_4_2 - position: {x: -0, y: 0.000157327, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_L___MDRfUGlua0JsYWNr;;;36 - parentName: Thumb_Distal_L - position: {x: -0, y: -1.6763806e-10, z: 5.424954e-10} - rotation: {x: 0.00000003352761, y: 0.00000006146728, z: 0.0000000357395, w: 1} - scale: {x: 0.99999946, y: 0.99999976, z: 0.99999994} - - name: Thumb_Distal_L_end_5 - parentName: Thumb_Distal_L___MDRfUGlua0JsYWNr;;;36 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: -0.000000033527606, y: -0.000000026077032, z: -0.000000057101705, w: 1} - scale: {x: 1.0000005, y: 1.0000002, z: 0.99999946} - - name: Thumb_Distal_L_end_5_end - parentName: Thumb_Distal_L_end_5 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_L___MDNfV2hpdGU=;;;36 - parentName: Thumb_Distal_L - position: {x: -0, y: -1.6763806e-10, z: 5.424954e-10} - rotation: {x: 0.00000003352761, y: 0.00000006146728, z: 0.0000000357395, w: 1} - scale: {x: 0.99999946, y: 0.99999976, z: 0.99999994} - - name: Thumb_Distal_L_end_6 - parentName: Thumb_Distal_L___MDNfV2hpdGU=;;;36 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: -0.000000033527606, y: -0.000000026077032, z: -0.000000057101705, w: 1} - scale: {x: 1.0000005, y: 1.0000002, z: 0.99999946} - - name: Thumb_Distal_L_end_6_end - parentName: Thumb_Distal_L_end_6 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_L___SHVzaF9SdXNo;;;35 - parentName: Thumb_Intermediate_L - position: {x: 1.862645e-10, y: 0, z: 9.103678e-10} - rotation: {x: -0.000000037252896, y: -0.00000010430811, z: 0.000000071711824, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000002} - - name: Thumb_Intermediate_L___SHVzaF9SdXNo;;;35_end - parentName: Thumb_Intermediate_L___SHVzaF9SdXNo;;;35 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;35 - parentName: Thumb_Intermediate_L - position: {x: 1.862645e-10, y: 0, z: 9.103678e-10} - rotation: {x: -0.000000037252896, y: -0.00000010430811, z: 0.000000071711824, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000002} - - name: Thumb_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;35_end - parentName: Thumb_Intermediate_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;35 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_L___MDRfUGlua0JsYWNr;;;35 - parentName: Thumb_Intermediate_L - position: {x: 1.862645e-10, y: 0, z: 9.103678e-10} - rotation: {x: -0.000000037252896, y: -0.00000010430811, z: 0.000000071711824, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000002} - - name: Thumb_Intermediate_L___MDRfUGlua0JsYWNr;;;35_end - parentName: Thumb_Intermediate_L___MDRfUGlua0JsYWNr;;;35 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_L___MDNfV2hpdGU=;;;35 - parentName: Thumb_Intermediate_L - position: {x: 1.862645e-10, y: 0, z: 9.103678e-10} - rotation: {x: -0.000000037252896, y: -0.00000010430811, z: 0.000000071711824, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000002} - - name: Thumb_Intermediate_L___MDNfV2hpdGU=;;;35_end - parentName: Thumb_Intermediate_L___MDNfV2hpdGU=;;;35 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L___SHVzaF9SdXNo;;;34 - parentName: Thumb_Proximal_L - position: {x: -0, y: 0, z: -1.7695129e-10} - rotation: {x: 0.000000029802315, y: -0.000000029802315, z: -0.0000000875443, w: 1} - scale: {x: 1.000006, y: 1.0000051, z: 1.000005} - - name: Thumb_Proximal_L___SHVzaF9SdXNo;;;34_end - parentName: Thumb_Proximal_L___SHVzaF9SdXNo;;;34 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;34 - parentName: Thumb_Proximal_L - position: {x: -0, y: 0, z: -1.7695129e-10} - rotation: {x: 0.000000029802315, y: -0.000000029802315, z: -0.0000000875443, w: 1} - scale: {x: 1.000006, y: 1.0000051, z: 1.000005} - - name: Thumb_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;34_end - parentName: Thumb_Proximal_L___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;34 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L___MDRfUGlua0JsYWNr;;;34 - parentName: Thumb_Proximal_L - position: {x: -0, y: 0, z: -1.7695129e-10} - rotation: {x: 0.000000029802315, y: -0.000000029802315, z: -0.0000000875443, w: 1} - scale: {x: 1.000006, y: 1.0000051, z: 1.000005} - - name: Thumb_Proximal_L___MDRfUGlua0JsYWNr;;;34_end - parentName: Thumb_Proximal_L___MDRfUGlua0JsYWNr;;;34 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L___MDNfV2hpdGU=;;;34 - parentName: Thumb_Proximal_L - position: {x: -0, y: 0, z: -1.7695129e-10} - rotation: {x: 0.000000029802315, y: -0.000000029802315, z: -0.0000000875443, w: 1} - scale: {x: 1.000006, y: 1.0000051, z: 1.000005} - - name: Thumb_Proximal_L___MDNfV2hpdGU=;;;34_end - parentName: Thumb_Proximal_L___MDNfV2hpdGU=;;;34 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_L_2 - parentName: Thumb_Proximal_L - position: {x: -0, y: 0, z: -1.7695129e-10} - rotation: {x: -0.000013917681, y: 0.000027522437, z: -0.000007862223, w: 1} - scale: {x: 1.0000042, y: 1.0000036, z: 1.0000036} - - name: Thumb_Intermediate_L_2 - parentName: Thumb_Proximal_L_2 - position: {x: -0, y: 0.000201168, z: -5.3085386e-10} - rotation: {x: 0.098531805, y: -0.09184777, z: -0.21355058, w: 0.96760094} - scale: {x: 1.000001, y: 0.99999845, z: 1.0000023} - - name: Thumb_Distal_L_2 - parentName: Thumb_Intermediate_L_2 - position: {x: -0, y: 0.00020206001, z: -3.1432137e-10} - rotation: {x: 0.020843154, y: -0.030056395, z: 0.0148019465, w: 0.9992212} - scale: {x: 1.0000017, y: 1.0000036, z: 1.000002} - - name: Thumb_Distal_L_end_4_3 - parentName: Thumb_Distal_L_2 - position: {x: -0, y: 0.000157325, z: -0.0000000014458783} - rotation: {x: 0.000000033527606, y: 0.000000009313224, z: 0.0000000578584, w: 1} - scale: {x: 1.0000023, y: 0.999999, z: 1.0000012} - - name: Thumb_Distal_L_end_4_3_end - parentName: Thumb_Distal_L_end_4_3 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left wrist_2 - parentName: Left wrist - position: {x: -0, y: -5.499169e-10, z: 0} - rotation: {x: -0, y: -0, z: 6.9849176e-10, w: 1} - scale: {x: 1.000001, y: 1.0000014, z: 1.0000002} - - name: Left wrist_2_end - parentName: Left wrist_2 - position: {x: -0, y: 0.00021395201, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_L - parentName: Left elbow - position: {x: 0.0000041509998, y: 0.001839289, z: 0.000000061} - rotation: {x: 0.0000008754431, y: -0.0000006635673, z: 0.0031300122, w: 0.9999952} - scale: {x: 1.0000005, y: 0.9999999, z: 1.000002} - - name: Twist wrist_L_end_2 - parentName: Twist wrist_L - position: {x: -0, y: 0.000166742, z: 0} - rotation: {x: 5.6843405e-14, y: -0, z: 5.809153e-13, w: 1} - scale: {x: 0.9999992, y: 1.0000002, z: 0.99999917} - - name: Twist wrist_L_end_2_end - parentName: Twist wrist_L_end_2 - position: {x: -0, y: 0.000166742, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_L_3 - parentName: Twist wrist_L - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0000032647004, y: -0.0000035907096, z: -0.0000050559124, w: 1} - scale: {x: 0.9999988, y: 1.0000001, z: 0.9999989} - - name: Twist wrist_L_end_4_3 - parentName: Twist wrist_L_3 - position: {x: -0, y: 0.000166742, z: -4.4725634e-10} - rotation: {x: 0.00000011953531, y: -0.000000045076366, z: 0.00000008963937, w: 1} - scale: {x: 1.0000002, y: 0.99999976, z: 1.0000019} - - name: Twist wrist_L_end_4_3_end - parentName: Twist wrist_L_end_4_3 - position: {x: -0, y: 0.000166742, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left elbow_2 - parentName: Left elbow - position: {x: -0, y: 0, z: -2.9582292e-10} - rotation: {x: 0.000008627771, y: -0.000008400529, z: -0.00057013886, w: 0.9999999} - scale: {x: 1.0000013, y: 1.0000011, z: 1.000002} - - name: Left elbow_2_end - parentName: Left elbow_2 - position: {x: -0, y: 0.001839295, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist elbow_L_2 - parentName: Left arm - position: {x: 0.000006755, y: 0.001816906, z: 0.000000141} - rotation: {x: 0.0055257534, y: -0.005726011, z: 0.018668378, w: 0.99979407} - scale: {x: 1.0000005, y: 1.0000005, z: 1.0000013} - - name: Twist elbow_L_end_2 - parentName: Twist elbow_L_2 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: -0, y: -0, z: -2.2919266e-10, w: 1} - scale: {x: 0.99999934, y: 1.0000008, z: 0.9999991} - - name: Twist elbow_L_end_2_end - parentName: Twist elbow_L_end_2 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist elbow_L_4_3 - parentName: Twist elbow_L_2 - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.0002601193, y: 0.00000012200324, z: -0.0000028161955, w: 1} - scale: {x: 1.0000002, y: 1.000002, z: 1.0000006} - - name: Twist elbow_L_end_4_3 - parentName: Twist elbow_L_4_3 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: -0.000020146364, y: -0.00000013465244, z: -0.00000007538268, w: 1} - scale: {x: 1.000002, y: 1.0000019, z: 1.0000043} - - name: Twist elbow_L_end_4_3_end - parentName: Twist elbow_L_end_4_3 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left arm_2 - parentName: Left arm - position: {x: -0, y: -1.580338e-10, z: 4.8050425e-10} - rotation: {x: 0.13872267, y: -0.1316476, z: -0.19751889, w: 0.96146303} - scale: {x: 1.0000008, y: 1.0000004, z: 1.0000019} - - name: Himo.L_2 - parentName: Left arm_2 - position: {x: -1.6763806e-10, y: 0.000746167, z: -3.306195e-10} - rotation: {x: -0.18355405, y: -0.0008497387, z: -0.5296557, w: 0.82811356} - scale: {x: 0.9999996, y: 1.0000011, z: 1.0000023} - - name: Himo.L.001_2 - parentName: Himo.L_2 - position: {x: -0, y: 0.000438955, z: -5.0864324e-10} - rotation: {x: -0.0000013113021, y: 0.0000000066356725, z: 0.0046400265, w: 0.9999892} - scale: {x: 1.0000001, y: 0.9999984, z: 0.9999983} - - name: Himo.L.002_2 - parentName: Himo.L.001_2 - position: {x: -0, y: 0.000943963, z: 0} - rotation: {x: 0.000000019093884, y: 1, z: 0.0000010963729, w: 0.0000013630864} - scale: {x: 1.0000001, y: 0.9999987, z: 0.9999983} - - name: Himo.L_3 - parentName: Himo.L.002_2 - position: {x: -0, y: 0.000943963, z: 4.970221e-10} - rotation: {x: -0.0000029564706, y: 0.09330341, z: 0.00000036310763, w: -0.9956377} - scale: {x: 1.000003, y: 1.0000015, z: 1.0000027} - - name: Himo.L.004_2 - parentName: Himo.L_3 - position: {x: -0, y: 0.001257666, z: -3.3159495e-10} - rotation: {x: 0.0000013462648, y: 0.6380457, z: -0.0000015249209, w: -0.7699985} - scale: {x: 1.0000007, y: 1.0000012, z: 0.99999964} - - name: Himo.L.005_2 - parentName: Himo.L.004_2 - position: {x: -1.2223535e-10, y: 0.0013800891, z: 0} - rotation: {x: 0.000000031939294, y: 0.000000029802322, z: 0.000000074086245, w: -1} - scale: {x: 1.0000015, y: 0.9999988, z: 1.000001} - - name: Himo.L.006_2 - parentName: Himo.L.005_2 - position: {x: -1.0322015e-10, y: 0.001335586, z: 0} - rotation: {x: 0.0000016500967, y: -0.8858286, z: -0.0000018538786, w: -0.4640126} - scale: {x: 1.0000024, y: 1.0000013, z: 0.99999875} - - name: Himo.L.006_end_2 - parentName: Himo.L.006_2 - position: {x: -3.686273e-10, y: 0.000487096, z: -4.744106e-10} - rotation: {x: 0.000000071920056, y: 0.00000011920929, z: 0.000000068822146, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.0000004} - - name: Himo.L.006_end_2_end - parentName: Himo.L.006_end_2 - position: {x: -0, y: 0.000487096, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: UpperArm_L_2 - parentName: Left arm - position: {x: 0.000034451, y: 0.000034062, z: -0.0000049} - rotation: {x: 0.15188418, y: -0.14446159, z: -0.18601324, w: 0.9599277} - scale: {x: 1.0000011, y: 0.9999998, z: 1.0000014} - - name: Himo.L - parentName: UpperArm_L_2 - position: {x: 2.7939676e-10, y: 0.000706856, z: 0} - rotation: {x: -0.20193937, y: -0.00092704606, z: -0.5369348, w: 0.8190975} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000039} - - name: Himo.L.001_3 - parentName: Himo.L - position: {x: -0, y: 0.00043901202, z: 0} - rotation: {x: 0.0000027716158, y: -0.00000001513399, z: 0.004640117, w: 0.9999893} - scale: {x: 0.9999996, y: 1.000002, z: 1.0000015} - - name: Himo.L.002_3 - parentName: Himo.L.001_3 - position: {x: -0, y: 0.000944086, z: 0} - rotation: {x: -0.00000005087984, y: 0.9980527, z: 0.0000013354137, w: 0.06237695} - scale: {x: 1.0000049, y: 1.0000029, z: 1.0000031} - - name: Himo.L.003 - parentName: Himo.L.002_3 - position: {x: -0, y: 0.000944086, z: 4.6376897e-10} - rotation: {x: -0.0000032771788, y: -0.031211741, z: 0.00000023139297, w: -0.99951285} - scale: {x: 1.0000043, y: 1.0000013, z: 1.000003} - - name: Himo.L.004_3 - parentName: Himo.L.003 - position: {x: -0, y: 0.001257835, z: 4.4236456e-10} - rotation: {x: -0.0000017224784, y: -0.41908836, z: 0.000001032686, w: 0.9079455} - scale: {x: 1.0000001, y: 1.000004, z: 1.0000048} - - name: Himo.L.005_3 - parentName: Himo.L.004_3 - position: {x: -1.1664596e-10, y: 0.001380272, z: 5.833902e-10} - rotation: {x: -0.0000001193766, y: -0.3162334, z: 0.00000004435138, w: 0.9486815} - scale: {x: 0.99999744, y: 0.99999887, z: 1.0000002} - - name: Himo.L.006_3 - parentName: Himo.L.005_3 - position: {x: 2.4450497e-10, y: 0.00133576, z: 0} - rotation: {x: 0.0000025103473, y: -0.8574915, z: -0.000002697694, w: -0.51449823} - scale: {x: 1.0000014, y: 1.0000014, z: 1.000004} - - name: Himo.L.006_end_3 - parentName: Himo.L.006_3 - position: {x: -0, y: 0.000487158, z: 5.903894e-10} - rotation: {x: 0.00000008086406, y: -0.000000089406946, z: -0.00000007626384, w: 1} - scale: {x: 1.0000027, y: 1.0000027, z: 1.0000025} - - name: Himo.L.006_end_3_end - parentName: Himo.L.006_end_3 - position: {x: -0, y: 0.000487154, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Left shoulder_2 - parentName: Left shoulder - position: {x: -0, y: 0, z: -4.8665055e-10} - rotation: {x: -0.03334334, y: 0.025733855, z: -0.31675765, w: 0.9475709} - scale: {x: 1.0000013, y: 1.0000002, z: 1.0000018} - - name: Left shoulder_2_end - parentName: Left shoulder_2 - position: {x: -0, y: 0.000085899, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Shoulder_L_2 - parentName: Left shoulder - position: {x: 0.000035639, y: -0.000077948, z: -0.0000056880003} - rotation: {x: -0.03334341, y: 0.025733888, z: -0.31675774, w: 0.94757086} - scale: {x: 0.9999999, y: 0.9999988, z: 1.0000011} - - name: Shoulder_L_2_end - parentName: Shoulder_L_2 - position: {x: -0, y: 0.000085899, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Shoulder_L_3 - parentName: Left shoulder - position: {x: 0.000038, y: -0.00007784, z: -0.000002911} - rotation: {x: -0.014469817, y: -0.0000040978193, z: -0.00000011920929, w: 0.99989533} - scale: {x: 1.0000013, y: 1.0000014, z: 1.0000021} - - name: UpperArm_L_3 - parentName: Shoulder_L_3 - position: {x: -0, y: 0.000364707, z: 0} - rotation: {x: -0, y: -0, z: -3.5527137e-15, w: 1} - scale: {x: 1.0000026, y: 1.0000019, z: 1.000002} - - name: UpperArm_L_3_end - parentName: UpperArm_L_3 - position: {x: -0, y: 0.000364703, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Neck - parentName: Chest - position: {x: -7.660128e-10, y: 0.0016401588, z: -0.0000000010803342} - rotation: {x: 0.069232814, y: 2.6511243e-10, z: 1.2094745e-10, w: 0.99760056} - scale: {x: 1, y: 0.9999984, z: 0.99999875} - - name: Head - parentName: Neck - position: {x: -2.2962922e-10, y: 0.00028820513, z: -2.9802322e-10} - rotation: {x: 0.1767696, y: -6.5386246e-10, z: 4.755169e-10, w: 0.9842523} - scale: {x: 0.99999994, y: 1.0000013, z: 1.0000013} - - name: LeftEye - parentName: Head - position: {x: -0.000294288, y: 0.000556861, z: 0.000022064} - rotation: {x: -0, y: 6.7424677e-10, z: -2.7451397e-10, w: 1} - scale: {x: 0.9999999, y: 1, z: 0.9999997} - - name: LeftEye_end - parentName: LeftEye - position: {x: -0, y: 0.000126815, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: RightEye - parentName: Head - position: {x: 0.000294288, y: 0.000556861, z: 0.000022064} - rotation: {x: -0, y: 6.7424677e-10, z: -2.7451397e-10, w: 1} - scale: {x: 0.9999999, y: 1, z: 0.9999997} - - name: RightEye_end - parentName: RightEye - position: {x: -0, y: 0.000126815, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Head_4 - parentName: Head - position: {x: -0, y: 0.000118888, z: -0.000044128} - rotation: {x: -0.07689743, y: 0.006353978, z: 0.0044197054, w: 0.99700904} - scale: {x: 1.0000001, y: 0.9999999, z: 0.9999989} - - name: Eye_L1 - parentName: Head_4 - position: {x: -0.00031549402, y: 0.000467673, z: 0.00029977498} - rotation: {x: 0.0000004597864, y: 0.7746043, z: 0.6323988, w: 0.007739949} - scale: {x: 1.0000024, y: 1.000002, z: 1.0000014} - - name: Eye_L1_end - parentName: Eye_L1 - position: {x: -0, y: 0.0003125, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Eye_R1 - parentName: Head_4 - position: {x: 0.000317309, y: 0.000461473, z: 0.000307369} - rotation: {x: 0.0000004597864, y: 0.7746043, z: 0.6323988, w: 0.007739949} - scale: {x: 1.0000024, y: 1.0000013, z: 1.0000014} - - name: Eye_R1_end - parentName: Eye_R1 - position: {x: -0, y: 0.0003125, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - parentName: Head_4 - position: {x: -0.000030541, y: 0.000044059998, z: 0.000023994} - rotation: {x: -0.17833854, y: -0.030140787, z: -0.02638955, w: 0.98315334} - scale: {x: 1.0000005, y: 1.0000006, z: 1.0000013} - - name: Above01_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000616802, y: 0.00133634, z: 0.0002683} - rotation: {x: 0.9240709, y: 0.24680123, z: 0.24285108, w: -0.16188073} - scale: {x: 0.99999845, y: 0.9999987, z: 0.999999} - - name: Above01_L.001 - parentName: Above01_L - position: {x: 5.401671e-10, y: 0.000289427, z: 0} - rotation: {x: 0.056165434, y: 0.13344188, z: -0.12510528, w: 0.98152304} - scale: {x: 1.0000008, y: 1.0000023, z: 1.0000005} - - name: Above01_L.002 - parentName: Above01_L.001 - position: {x: 5.0291415e-10, y: 0.000164126, z: 0.0000000011734664} - rotation: {x: 0.25291985, y: 0.27225026, z: -0.1151621, w: 0.9212215} - scale: {x: 1, y: 0.99999934, z: 0.9999986} - - name: Above01_L.002_end - parentName: Above01_L.002 - position: {x: -0, y: 0.000156778, z: 0.0000000020768494} - rotation: {x: -0.000000014901159, y: -0, z: -0, w: 1} - scale: {x: 1.0000002, y: 1.0000007, z: 1.0000001} - - name: Above01_L.002_end_end - parentName: Above01_L.002_end - position: {x: -0, y: 0.000156778, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above01_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00064786297, y: 0.001268765, z: 0.000320997} - rotation: {x: 0.92322356, y: -0.20885181, z: -0.2907195, w: -0.13971929} - scale: {x: 0.9999992, y: 0.99999946, z: 1.0000001} - - name: Above01_R.001 - parentName: Above01_R - position: {x: -5.401671e-10, y: 0.000291325, z: -1.862645e-10} - rotation: {x: 0.055286944, y: -0.13158014, z: 0.1233913, w: 0.98204106} - scale: {x: 1.0000005, y: 1.0000045, z: 1.0000035} - - name: Above01_R.002 - parentName: Above01_R.001 - position: {x: -3.72529e-10, y: 0.00016537201, z: -5.9604643e-10} - rotation: {x: 0.24942806, y: -0.26936466, z: 0.11472097, w: 0.923075} - scale: {x: 1.0000036, y: 1.0000013, z: 1.0000014} - - name: Above01_R.002_end - parentName: Above01_R.002 - position: {x: -0, y: 0.000157286, z: 0.0000000019790605} - rotation: {x: -0.000000014901159, y: -0, z: -0.0000000074505797, w: 1} - scale: {x: 1.0000004, y: 1.0000029, z: 1.0000019} - - name: Above01_R.002_end_end - parentName: Above01_R.002_end - position: {x: -0, y: 0.000157286, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above02_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.00064115, y: 0.001366135, z: 0.000112992995} - rotation: {x: 0.9451711, y: 0.21794659, z: 0.20803688, w: -0.12598266} - scale: {x: 0.9999984, y: 0.9999999, z: 0.9999993} - - name: Above02_L.001 - parentName: Above02_L - position: {x: -1.11758706e-10, y: 0.000356694, z: 0} - rotation: {x: -0.024849374, y: -0.08836503, z: 0.08470441, w: 0.992169} - scale: {x: 1.0000007, y: 1.0000056, z: 1.0000074} - - name: Above02_L.002 - parentName: Above02_L.001 - position: {x: 4.2142345e-10, y: 0.000289341, z: -1.0244548e-10} - rotation: {x: -0.033503383, y: -0.124286965, z: 0.11951659, w: 0.9844521} - scale: {x: 0.99999845, y: 0.9999993, z: 0.999999} - - name: Above02_L.003 - parentName: Above02_L.002 - position: {x: -0, y: 0.000329472, z: 0} - rotation: {x: 0.015412727, y: -0.17048322, z: 0.16503917, w: 0.9713187} - scale: {x: 0.9999909, y: 1.0000024, z: 1.0000031} - - name: Above02_L.003_end - parentName: Above02_L.003 - position: {x: -2.0489097e-10, y: 0.000212219, z: 0} - rotation: {x: -0.000000052154057, y: -0.000000059604638, z: -0.000000028405335, w: 1} - scale: {x: 1.0000001, y: 1.0000021, z: 1.0000015} - - name: Above02_L.003_end_end - parentName: Above02_L.003_end - position: {x: -0, y: 0.000212219, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above02_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000687915, y: 0.001295118, z: 0.000168376} - rotation: {x: 0.9441885, y: -0.17801829, z: -0.25566208, w: -0.10702555} - scale: {x: 0.99999785, y: 0.9999998, z: 0.99999964} - - name: Above02_R.001 - parentName: Above02_R - position: {x: -1.3504177e-10, y: 0.000358791, z: -3.72529e-10} - rotation: {x: -0.024993993, y: 0.087520264, z: -0.0837776, w: 0.9923189} - scale: {x: 0.9999998, y: 1.000002, z: 1.0000011} - - name: Above02_R.002 - parentName: Above02_R.001 - position: {x: -3.608875e-10, y: 0.000290456, z: 1.0244548e-10} - rotation: {x: -0.034199815, y: 0.12380252, z: -0.11878108, w: 0.9845783} - scale: {x: 0.9999976, y: 1.0000045, z: 1.0000049} - - name: Above02_R.003 - parentName: Above02_R.002 - position: {x: -0, y: 0.000329581, z: 0} - rotation: {x: 0.014396835, y: 0.17116131, z: -0.16582696, w: 0.9710809} - scale: {x: 0.99999297, y: 1.0000043, z: 1.0000058} - - name: Above02_R.003_end - parentName: Above02_R.003 - position: {x: -0, y: 0.000211286, z: 0} - rotation: {x: 0.000000007450579, y: -0.000000014901158, z: -0.000000035855912, w: 1} - scale: {x: 1.0000002, y: 1.0000024, z: 1.0000015} - - name: Above02_R.003_end_end - parentName: Above02_R.003_end - position: {x: -0, y: 0.000211286, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above03_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000454001, y: 0.001561255, z: -0.000211922} - rotation: {x: 0.88198453, y: 0.30996868, z: 0.3189906, w: -0.15578075} - scale: {x: 0.99999785, y: 0.99999857, z: 0.9999988} - - name: Above03_L.001 - parentName: Above03_L - position: {x: 7.636845e-10, y: 0.000391548, z: -2.6077032e-10} - rotation: {x: -0.07754568, y: -0.126107, z: 0.08803574, w: 0.985055} - scale: {x: 0.99999964, y: 1.0000025, z: 1.0000023} - - name: Above03_L.002 - parentName: Above03_L.001 - position: {x: 1.9092113e-10, y: 0.000382489, z: -2.7939676e-10} - rotation: {x: 0.15228644, y: -0.1806803, z: 0.24583536, w: 0.94006836} - scale: {x: 0.9999969, y: 1.0000005, z: 1.0000023} - - name: Above03_L.003 - parentName: Above03_L.002 - position: {x: -0, y: 0.000288427, z: 5.448237e-10} - rotation: {x: 0.35955012, y: -0.19179296, z: 0.2623877, w: 0.8746953} - scale: {x: 0.9999917, y: 1.000012, z: 0.9999974} - - name: Above03_L.003_end - parentName: Above03_L.003 - position: {x: -0, y: 0.000151268, z: 0} - rotation: {x: -0.000000089406946, y: 0.000000029802315, z: -0.00000007450579, w: 1} - scale: {x: 1.0000001, y: 1.0000037, z: 1.0000025} - - name: Above03_L.003_end_end - parentName: Above03_L.003_end - position: {x: -0, y: 0.00015127, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above03_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000547771, y: 0.0015077271, z: -0.000170178} - rotation: {x: 0.88153, y: -0.27289852, z: -0.36365232, w: -0.1272331} - scale: {x: 0.99999875, y: 0.99999976, z: 1.0000011} - - name: Above03_R.001 - parentName: Above03_R - position: {x: -4.842877e-10, y: 0.00039441802, z: 4.4703483e-10} - rotation: {x: -0.07698468, y: 0.12443191, z: -0.086569436, w: 0.985442} - scale: {x: 1.0000008, y: 1.0000046, z: 1.0000057} - - name: Above03_R.002 - parentName: Above03_R.001 - position: {x: 2.2351741e-10, y: 0.000384657, z: -1.6763806e-10} - rotation: {x: 0.1509543, y: 0.17960414, z: -0.24547943, w: 0.9405823} - scale: {x: 0.99999833, y: 1.0000007, z: 1.0000008} - - name: Above03_R.003 - parentName: Above03_R.002 - position: {x: -0, y: 0.000288465, z: 0} - rotation: {x: 0.36151347, y: 0.19236791, z: -0.26564303, w: 0.87277514} - scale: {x: 0.99999, y: 1.0000147, z: 0.99999875} - - name: Above03_R.003_end - parentName: Above03_R.003 - position: {x: -0, y: 0.000150728, z: 2.0489097e-10} - rotation: {x: -0.000000029802315, y: -0.000000029802315, z: -0.000000052154054, w: 1} - scale: {x: 1.0000006, y: 1.0000025, z: 1.0000018} - - name: Above03_R.003_end_end - parentName: Above03_R.003_end - position: {x: -0, y: 0.000150728, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above04_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000462853, y: 0.001478347, z: -0.00033043802} - rotation: {x: 0.9527445, y: 0.16809878, z: 0.14927246, w: -0.20429997} - scale: {x: 0.9999993, y: 0.99999845, z: 0.99999934} - - name: Above04_L.001 - parentName: Above04_L - position: {x: -5.587935e-10, y: 0.000398879, z: 0} - rotation: {x: -0.10099031, y: -0.12916441, z: 0.12752797, w: 0.97818923} - scale: {x: 0.9999996, y: 1.0000001, z: 1.0000024} - - name: Above04_L.002 - parentName: Above04_L.001 - position: {x: -0, y: 0.000285017, z: 0} - rotation: {x: 0.104873985, y: 0.13897118, z: -0.13750657, w: 0.97507966} - scale: {x: 0.99999994, y: 1.0000032, z: 1.0000037} - - name: Above04_L.003 - parentName: Above04_L.002 - position: {x: 2.7939676e-10, y: 0.00020888301, z: 2.9802322e-10} - rotation: {x: 0.3037054, y: 0.22203767, z: -0.1637538, w: 0.91194683} - scale: {x: 0.99999756, y: 1.0000026, z: 1.0000045} - - name: Above04_L.003_end - parentName: Above04_L.003 - position: {x: -0, y: 0.000153198, z: 3.72529e-10} - rotation: {x: -0.000000059604645, y: 0.000000044703484, z: -0.000000067055225, w: 1} - scale: {x: 1.0000013, y: 1.0000018, z: 1.0000008} - - name: Above04_L.003_end_end - parentName: Above04_L.003_end - position: {x: -0, y: 0.000153198, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above04_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000559022, y: 0.001423746, z: -0.000287854} - rotation: {x: 0.9519299, y: -0.13143234, z: -0.2014916, w: -0.18962109} - scale: {x: 0.99999905, y: 0.99999857, z: 1.0000002} - - name: Above04_R.001 - parentName: Above04_R - position: {x: -3.1664968e-10, y: 0.000400829, z: 2.0489097e-10} - rotation: {x: -0.10112516, y: 0.12839489, z: -0.12612008, w: 0.9784591} - scale: {x: 1.0000006, y: 1.0000005, z: 1.0000019} - - name: Above04_R.002 - parentName: Above04_R.001 - position: {x: 1.5366822e-10, y: 0.000285333, z: 0} - rotation: {x: 0.10499029, y: -0.13811836, z: 0.13597187, w: 0.9754035} - scale: {x: 0.9999993, y: 1.0000006, z: 0.9999972} - - name: Above04_R.003 - parentName: Above04_R.002 - position: {x: 4.4703483e-10, y: 0.000209954, z: -2.0489097e-10} - rotation: {x: 0.30058268, y: -0.22003222, z: 0.16105284, w: 0.9139463} - scale: {x: 0.9999996, y: 1.0000013, z: 1.0000035} - - name: Above04_R.003_end - parentName: Above04_R.003 - position: {x: -3.72529e-10, y: 0.000153972, z: 7.0780515e-10} - rotation: {x: -0.00000008940696, y: -0.000000029802319, z: 0.00000008940696, w: 1} - scale: {x: 0.9999991, y: 1, z: 0.99999946} - - name: Above04_R.003_end_end - parentName: Above04_R.003_end - position: {x: -0, y: 0.000153972, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above05_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000250629, y: 0.001337523, z: -0.000601424} - rotation: {x: 0.9609845, y: 0.111083776, z: 0.08203688, w: -0.23966461} - scale: {x: 0.9999994, y: 0.99999774, z: 0.99999917} - - name: Above05_L.001 - parentName: Above05_L - position: {x: -2.6077032e-10, y: 0.000401223, z: -3.5390257e-10} - rotation: {x: -0.1272403, y: -0.088953204, z: 0.09226131, w: 0.98355734} - scale: {x: 0.9999992, y: 1.0000015, z: 1.0000014} - - name: Above05_L.002 - parentName: Above05_L.001 - position: {x: -0, y: 0.000306122, z: 1.6822013e-10} - rotation: {x: 0.09396919, y: 0.052666005, z: -0.054213487, w: 0.9927018} - scale: {x: 1, y: 1.0000007, z: 1} - - name: Above05_L.003 - parentName: Above05_L.002 - position: {x: -0, y: 0.000193527, z: 0} - rotation: {x: 0.3602553, y: 0.14138158, z: -0.12968019, w: 0.9129132} - scale: {x: 0.99999964, y: 1.0000044, z: 1.0000019} - - name: Above05_L.003_end - parentName: Above05_L.003 - position: {x: -0, y: 0.000153184, z: 0} - rotation: {x: 0.0000030398362, y: -0.00000424683, z: 0.0000000037252894, w: 1} - scale: {x: 1.0000005, y: 1.000004, z: 1.0000032} - - name: Above05_L.003_end_end - parentName: Above05_L.003_end - position: {x: -0, y: 0.000153184, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above05_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00039473802, y: 0.001356315, z: -0.000492504} - rotation: {x: 0.93921876, y: -0.07423869, z: -0.13381843, w: -0.3073263} - scale: {x: 0.99999946, y: 0.99999845, z: 0.9999994} - - name: Above05_R.001 - parentName: Above05_R - position: {x: -2.7939676e-10, y: 0.000389873, z: -2.0954757e-10} - rotation: {x: -0.06576872, y: 0.08733168, z: -0.1266782, w: 0.9859008} - scale: {x: 1.0000008, y: 1.0000021, z: 1.0000039} - - name: Above05_R.002 - parentName: Above05_R.001 - position: {x: -0, y: 0.000270629, z: 1.2514646e-10} - rotation: {x: -0.065238014, y: 0.05090048, z: -0.07442344, w: 0.99378794} - scale: {x: 1, y: 1.0000088, z: 1.0000069} - - name: Above05_R.003 - parentName: Above05_R.002 - position: {x: 1.6763806e-10, y: 0.000226172, z: 3.9115547e-10} - rotation: {x: 0.28331417, y: -0.116941884, z: 0.19339167, w: 0.9320179} - scale: {x: 1.0000013, y: 1.0000052, z: 1.0000021} - - name: Above05_R.003_end - parentName: Above05_R.003 - position: {x: -1.11758706e-10, y: 0.000165454, z: 1.9557773e-10} - rotation: {x: -0.00000020861613, y: 0.000000052154032, z: -0.000000007450576, w: 1} - scale: {x: 1.0000006, y: 1.0000031, z: 1.0000021} - - name: Above05_R.003_end_end - parentName: Above05_R.003_end - position: {x: -0, y: 0.000165454, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Above06 - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00005063, y: 0.0014396571, z: -0.000704888} - rotation: {x: 0.9684627, y: 0.021050889, z: -0.023739662, w: -0.24713002} - scale: {x: 0.99999917, y: 0.9999962, z: 0.9999995} - - name: Above06.001 - parentName: Above06 - position: {x: -0, y: 0.000404274, z: -2.447632e-10} - rotation: {x: -0.117424995, y: -0.011863729, z: 0.016091004, w: 0.9928805} - scale: {x: 1.0000006, y: 0.9999982, z: 0.99999803} - - name: Above06.002 - parentName: Above06.001 - position: {x: -0, y: 0.000289066, z: 1.3838872e-10} - rotation: {x: -0.065453365, y: -0.00090179115, z: 0.0026410555, w: 0.9978517} - scale: {x: 0.9999996, y: 0.999999, z: 1.0000002} - - name: Above06.003 - parentName: Above06.002 - position: {x: -0, y: 0.0002039, z: 0} - rotation: {x: 0.50167704, y: -0.007205703, z: -0.0062590893, w: 0.8650024} - scale: {x: 1.0000008, y: 1.0000049, z: 0.99999607} - - name: Above06.003_end - parentName: Above06.003 - position: {x: -0, y: 0.000157308, z: -0.0000000015269733} - rotation: {x: -0, y: -0.0000000013969838, z: 4.6566123e-10, w: 1} - scale: {x: 0.9999998, y: 1.0000008, z: 1.0000031} - - name: Above06.003_end_end - parentName: Above06.003_end - position: {x: -0, y: 0.000157308, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: apoge - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00001618, y: 0.00145868, z: 0.000572207} - rotation: {x: 0.5105035, y: -0.3617613, z: -0.44918108, w: 0.6377706} - scale: {x: 0.99999946, y: 0.99999857, z: 1.0000002} - - name: apoge.001 - parentName: apoge - position: {x: 6.239861e-10, y: 0.000091599, z: -1.3969838e-10} - rotation: {x: 0.32832107, y: 0.7779949, z: -0.111222476, w: 0.5239835} - scale: {x: 0.99999976, y: 1.000001, z: 0.9999991} - - name: apoge.002 - parentName: apoge.001 - position: {x: -2.4680047e-10, y: 0.00027386702, z: 2.863817e-10} - rotation: {x: 0.1283998, y: -0.168662, z: 0.08597668, w: 0.9734858} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000044} - - name: apoge.003 - parentName: apoge.002 - position: {x: -1.11758706e-10, y: 0.000306483, z: 5.250331e-10} - rotation: {x: 0.18738917, y: -0.15995368, z: 0.088860005, w: 0.9650928} - scale: {x: 0.9999972, y: 1.0000031, z: 1.0000052} - - name: apoge.004 - parentName: apoge.003 - position: {x: -2.1420418e-10, y: 0.000311226, z: 2.2759195e-10} - rotation: {x: 0.25157148, y: -0.19004907, z: 0.10261953, w: 0.9434312} - scale: {x: 1.0000002, y: 1.0000039, z: 1.0000062} - - name: apoge.005 - parentName: apoge.004 - position: {x: 2.0489097e-10, y: 0.00029112698, z: 2.933666e-10} - rotation: {x: 0.30601254, y: -0.21334481, z: 0.10418073, w: 0.92194724} - scale: {x: 0.9999907, y: 1.0000147, z: 1.0000046} - - name: apoge.005_end - parentName: apoge.005 - position: {x: 7.0780515e-10, y: 0.000264075, z: -5.0291415e-10} - rotation: {x: 0.000000089406946, y: -0.00000014901158, z: 0.000000022351736, w: 1} - scale: {x: 0.99999934, y: 0.9999997, z: 0.9999996} - - name: apoge.005_end_end - parentName: apoge.005_end - position: {x: -0, y: 0.000264075, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: apoge01 - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000019873001, y: 0.00136764, z: 0.000780074} - rotation: {x: 0.8997148, y: -0.12638927, z: -0.19297454, w: 0.37054005} - scale: {x: 0.9999993, y: 1.0000008, z: 0.99999887} - - name: apoge01.001 - parentName: apoge01 - position: {x: -0.0000000010360963, y: 0.000273381, z: -5.419133e-10} - rotation: {x: 0.27661994, y: -0.20473823, z: -0.003711848, w: 0.9389089} - scale: {x: 1.0000002, y: 1.0000012, z: 1.0000027} - - name: apoge01.002 - parentName: apoge01.001 - position: {x: -6.426126e-10, y: 0.0002456, z: 3.0267983e-10} - rotation: {x: 0.37857974, y: -0.31380898, z: 0.020092128, w: 0.87051576} - scale: {x: 0.9999995, y: 1.0000038, z: 0.99999917} - - name: apoge01.002_end - parentName: apoge01.002 - position: {x: -6.0535965e-10, y: 0.000201667, z: 3.9115547e-10} - rotation: {x: -0, y: -0, z: -0.000000007450579, w: 1} - scale: {x: 1.0000025, y: 1.0000035, z: 1.0000033} - - name: apoge01.002_end_end - parentName: apoge01.002_end - position: {x: -0, y: 0.000201667, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: apoge02 - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000227304, y: 0.001298401, z: 0.000808364} - rotation: {x: 0.95232147, y: 0.20441252, z: 0.19181624, w: 0.1204407} - scale: {x: 0.9999993, y: 0.9999991, z: 0.9999992} - - name: apoge02.001 - parentName: apoge02 - position: {x: -0, y: 0.000298657, z: 1.5832484e-10} - rotation: {x: 0.13654198, y: -0.06531342, z: 0.08838763, w: 0.9845192} - scale: {x: 1.000001, y: 0.9999985, z: 0.99999946} - - name: apoge02.002 - parentName: apoge02.001 - position: {x: 4.842877e-10, y: 0.0002803, z: 0} - rotation: {x: 0.06736578, y: -0.1279924, z: 0.12698416, w: 0.9813027} - scale: {x: 0.9999991, y: 1.000003, z: 1.0000038} - - name: apoge02.003 - parentName: apoge02.002 - position: {x: -0, y: 0.000304192, z: 0} - rotation: {x: 0.15414292, y: -0.21723068, z: 0.21504974, w: 0.9395768} - scale: {x: 1.0000021, y: 1.0000017, z: 1.0000088} - - name: apoge02.003_end - parentName: apoge02.003 - position: {x: -0, y: 0.00023311599, z: -5.9604643e-10} - rotation: {x: -0, y: 0.000000029802315, z: 0.000000037252896, w: 1} - scale: {x: 1.0000013, y: 1.000005, z: 1.0000036} - - name: apoge02.003_end_end - parentName: apoge02.003_end - position: {x: -0, y: 0.000233117, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: apoge03_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000525745, y: 0.001416727, z: 0.00056487} - rotation: {x: 0.9240427, y: 0.25354695, z: 0.25076628, w: -0.13775052} - scale: {x: 0.99999905, y: 1.0000001, z: 1.0000001} - - name: apoge03_L.001 - parentName: apoge03_L - position: {x: -0, y: 0.0002896, z: -2.0489097e-10} - rotation: {x: -0.073271096, y: -0.12148556, z: 0.09377159, w: 0.98543364} - scale: {x: 0.99999917, y: 1.0000027, z: 1.0000019} - - name: apoge03_L.002 - parentName: apoge03_L.001 - position: {x: -5.7742e-10, y: 0.000312136, z: 0} - rotation: {x: -0.08396864, y: -0.17726313, z: 0.14375852, w: 0.96997964} - scale: {x: 0.99999875, y: 1.0000025, z: 1.0000045} - - name: apoge03_L.003 - parentName: apoge03_L.002 - position: {x: -0, y: 0.000246379, z: 0} - rotation: {x: -0.06313593, y: -0.16669716, z: 0.13484234, w: 0.97470176} - scale: {x: 0.9999927, y: 1.0000035, z: 1.0000073} - - name: apoge03_L.003_end - parentName: apoge03_L.003 - position: {x: -2.0489097e-10, y: 0.000202782, z: 0} - rotation: {x: -0.00000001117587, y: 0.000000014901159, z: 0.00000003445893, w: 1} - scale: {x: 1.0000001, y: 1.0000019, z: 1.0000014} - - name: apoge03_L.003_end_end - parentName: apoge03_L.003_end - position: {x: -0, y: 0.000202785, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: apoge03_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00053974503, y: 0.001359795, z: 0.000609273} - rotation: {x: 0.92316467, y: -0.21457906, z: -0.29742467, w: -0.115158066} - scale: {x: 0.9999982, y: 0.9999973, z: 1.0000004} - - name: apoge03_R.001 - parentName: apoge03_R - position: {x: 4.0978193e-10, y: 0.000291504, z: 1.6763806e-10} - rotation: {x: -0.07309302, y: 0.12016192, z: -0.09233735, w: 0.98574454} - scale: {x: 0.9999998, y: 0.99999744, z: 0.99999833} - - name: apoge03_R.002 - parentName: apoge03_R.001 - position: {x: -0, y: 0.00031344598, z: 0} - rotation: {x: -0.084968165, y: 0.17651622, z: -0.14256492, w: 0.97020495} - scale: {x: 1.0000011, y: 0.9999977, z: 1.0000013} - - name: apoge03_R.003 - parentName: apoge03_R.002 - position: {x: -0, y: 0.000246321, z: 4.551839e-10} - rotation: {x: -0.06457487, y: 0.16745606, z: -0.13500339, w: 0.974455} - scale: {x: 1.0000033, y: 0.9999955, z: 1.0000011} - - name: apoge03_R.003_end - parentName: apoge03_R.003 - position: {x: -0, y: 0.00020208799, z: 8.5681673e-10} - rotation: {x: -0, y: -0, z: 0.000000039115548, w: 1} - scale: {x: 0.9999991, y: 0.99999803, z: 0.99999666} - - name: apoge03_R.003_end_end - parentName: apoge03_R.003_end - position: {x: -0, y: 0.000202086, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back01_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.00077287096, y: 0.00054441, z: -0.000070317} - rotation: {x: 0.9873773, y: 0.10582894, z: 0.074602, w: -0.09121934} - scale: {x: 0.9999972, y: 0.9999986, z: 0.9999988} - - name: Back01_L.001 - parentName: Back01_L - position: {x: -0, y: 0.000260802, z: 1.0710209e-10} - rotation: {x: 0.21785432, y: 0.34348577, z: -0.30965587, w: 0.8594593} - scale: {x: 0.9999994, y: 1, z: 0.9999993} - - name: Back01_L.001_end - parentName: Back01_L.001 - position: {x: 3.213063e-10, y: 0.000187538, z: 3.1432137e-10} - rotation: {x: -0.00000008940696, y: -0.000000029802319, z: 0.00000006705522, w: 1} - scale: {x: 1.0000005, y: 1.0000011, z: 1.0000001} - - name: Back01_L.001_end_end - parentName: Back01_L.001_end - position: {x: -0, y: 0.000187538, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back01_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00075894303, y: 0.000462559, z: -0.0000064789997} - rotation: {x: 0.98672897, y: -0.06376129, z: -0.12393622, w: -0.08330853} - scale: {x: 1.0000006, y: 0.9999982, z: 0.99999964} - - name: Back01_R.001 - parentName: Back01_R - position: {x: -2.6659108e-10, y: 0.00026151098, z: 0} - rotation: {x: 0.21582721, y: -0.34018448, z: 0.30563676, w: 0.8627162} - scale: {x: 1.0000011, y: 1.0000006, z: 1.0000011} - - name: Back01_R.001_end - parentName: Back01_R.001 - position: {x: 4.33065e-10, y: 0.00018887401, z: 0.0000000014249235} - rotation: {x: -0.000000119209275, y: 0.000000059604638, z: -0.000000029802319, w: 1} - scale: {x: 1.0000007, y: 1.0000008, z: 1.0000004} - - name: Back01_R.001_end_end - parentName: Back01_R.001_end - position: {x: -0, y: 0.00018887299, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back02_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000714427, y: 0.00074020104, z: -0.000382427} - rotation: {x: 0.975684, y: 0.107390784, z: 0.0769787, w: -0.17487769} - scale: {x: 0.99999934, y: 0.9999984, z: 0.9999996} - - name: Back02_L.001 - parentName: Back02_L - position: {x: -2.7474015e-10, y: 0.000224552, z: -2.1420418e-10} - rotation: {x: 0.37862766, y: 0.30395204, z: -0.2872044, w: 0.82569236} - scale: {x: 1.0000014, y: 1.0000004, z: 1.0000007} - - name: Back02_L.001_end - parentName: Back02_L.001 - position: {x: 1.4901161e-10, y: 0.000184438, z: -7.729977e-10} - rotation: {x: -0.000000029802322, y: -0, z: 0.000000022351742, w: 1} - scale: {x: 1.0000005, y: 1.0000015, z: 1.0000005} - - name: Back02_L.001_end_end - parentName: Back02_L.001_end - position: {x: -0, y: 0.000184438, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back02_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000745391, y: 0.00066219905, z: -0.000321598} - rotation: {x: 0.9750768, y: -0.06905923, z: -0.129555, w: -0.16634808} - scale: {x: 0.99999934, y: 0.9999998, z: 0.99999976} - - name: Back02_R.001 - parentName: Back02_R - position: {x: -1.2107193e-10, y: 0.00022523, z: -1.5832484e-10} - rotation: {x: 0.3750753, y: -0.3020574, z: 0.2834846, w: 0.8292867} - scale: {x: 1.0000007, y: 1.0000011, z: 1.0000012} - - name: Back02_R.001_end - parentName: Back02_R.001 - position: {x: -0, y: 0.000185186, z: -5.0291415e-10} - rotation: {x: 0.000000029802315, y: 0.00000005960463, z: 0.000000037252896, w: 1} - scale: {x: 1.0000005, y: 1.0000025, z: 1.0000033} - - name: Back02_R.001_end_end - parentName: Back02_R.001_end - position: {x: -0, y: 0.000185186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back03_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000446584, y: 0.00065956597, z: -0.000724932} - rotation: {x: 0.9778461, y: 0.07652396, z: 0.04072549, w: -0.19053264} - scale: {x: 0.999999, y: 0.9999992, z: 1.0000015} - - name: Back03_L.001 - parentName: Back03_L - position: {x: -1.4901161e-10, y: 0.000225236, z: 1.4901161e-10} - rotation: {x: 0.34611586, y: 0.13658819, z: -0.12251968, w: 0.9200741} - scale: {x: 1.0000002, y: 0.99999905, z: 1} - - name: Back03_L.001_end - parentName: Back03_L.001 - position: {x: 1.4901161e-10, y: 0.000165573, z: -6.0535965e-10} - rotation: {x: 0.000000029802319, y: -0, z: -0.0000000037252899, w: 1} - scale: {x: 1.0000007, y: 0.9999996, z: 0.9999993} - - name: Back03_L.001_end_end - parentName: Back03_L.001_end - position: {x: -0, y: 0.000165573, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back03_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000501508, y: 0.000608906, z: -0.000685425} - rotation: {x: 0.97744274, y: -0.038866706, z: -0.0943418, w: -0.18491821} - scale: {x: 0.9999995, y: 0.9999966, z: 0.9999987} - - name: Back03_R.001 - parentName: Back03_R - position: {x: -0, y: 0.000225687, z: -1.2107193e-10} - rotation: {x: 0.34438136, y: -0.1358554, z: 0.11969417, w: 0.92120475} - scale: {x: 1.0000007, y: 1.0000019, z: 1.0000024} - - name: Back03_R.001_end - parentName: Back03_R.001 - position: {x: -3.352761e-10, y: 0.000166196, z: -2.5145708e-10} - rotation: {x: -0.000000059604638, y: 0.000000029802319, z: -0.00000001117587, w: 1} - scale: {x: 1.0000007, y: 1.000005, z: 1.0000045} - - name: Back03_R.001_end_end - parentName: Back03_R.001_end - position: {x: -0, y: 0.000166193, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back04_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000195402, y: 0.000648109, z: -0.000910464} - rotation: {x: 0.9793611, y: 0.03357665, z: -0.009620848, w: -0.19907774} - scale: {x: 1, y: 0.9999987, z: 0.9999999} - - name: Back04_L.001 - parentName: Back04_L - position: {x: -0, y: 0.000283537, z: -2.9802322e-10} - rotation: {x: 0.3665573, y: 0.046019576, z: -0.04633916, w: 0.92810065} - scale: {x: 0.99999994, y: 1.0000018, z: 1.0000018} - - name: Back04_L.001_end - parentName: Back04_L.001 - position: {x: -0, y: 0.000194329, z: 0} - rotation: {x: 0.0000001490116, y: 0.000000014901159, z: -0.000000005587935, w: 1} - scale: {x: 0.9999995, y: 0.9999997, z: 1.0000012} - - name: Back04_L.001_end_end - parentName: Back04_L.001_end - position: {x: -0, y: 0.000194329, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Back04_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000267145, y: 0.000623396, z: -0.00089119} - rotation: {x: 0.9792557, y: 0.0036486583, z: -0.044683002, w: -0.19760688} - scale: {x: 0.9999998, y: 1.0000015, z: 1.0000032} - - name: Back04_R.001 - parentName: Back04_R - position: {x: -0, y: 0.00028368802, z: 2.9394867e-10} - rotation: {x: 0.36598772, y: -0.04588514, z: 0.043674726, w: 0.92846113} - scale: {x: 1.0000004, y: 1.0000033, z: 1.0000033} - - name: Back04_R.001_end - parentName: Back04_R.001 - position: {x: 1.6763806e-10, y: 0.000194578, z: 2.3050233e-10} - rotation: {x: -0.000000059604638, y: 0.0000000074505797, z: 0.0000000074505797, w: 1} - scale: {x: 0.9999995, y: 0.9999975, z: 0.9999966} - - name: Back04_R.001_end_end - parentName: Back04_R.001_end - position: {x: -0, y: 0.000194575, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Banks01_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.00021660101, y: 0.000691915, z: 0.00097273197} - rotation: {x: 0.9989332, y: 0.014475845, z: -0.03295196, w: -0.028931953} - scale: {x: 0.9999997, y: 0.99999845, z: 1.0000025} - - name: Banks01_L.001 - parentName: Banks01_L - position: {x: -0, y: 0.00015788, z: 2.0198059e-10} - rotation: {x: 0.10307182, y: -0.06178349, z: 0.05393869, w: 0.9912869} - scale: {x: 0.99999887, y: 1.0000037, z: 1.0000019} - - name: Banks01_L.002 - parentName: Banks01_L.001 - position: {x: -1.4901161e-10, y: 0.00018779101, z: 0} - rotation: {x: 0.24610506, y: -0.07469589, z: 0.04752827, w: 0.9651911} - scale: {x: 0.9999996, y: 0.9999959, z: 1.000009} - - name: Banks01_L.002_end - parentName: Banks01_L.002 - position: {x: 1.9557773e-10, y: 0.00015471, z: 7.9046003e-10} - rotation: {x: -0.00000013411044, y: 0.0000000372529, z: 0.00000002235174, w: 1} - scale: {x: 1.0000006, y: 1.0000006, z: 1.0000007} - - name: Banks01_L.002_end_end - parentName: Banks01_L.002_end - position: {x: -0, y: 0.00015471, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Banks01_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000007744, y: 0.000686224, z: 0.001019444} - rotation: {x: 0.99656886, y: -0.015828129, z: -0.06834191, w: -0.04392564} - scale: {x: 1.0000024, y: 0.9999998, z: 1.0000155} - - name: Banks01_R.001 - parentName: Banks01_R - position: {x: -0, y: 0.000166832, z: 0} - rotation: {x: 0.13531919, y: -0.024298217, z: 0.011444273, w: 0.990438} - scale: {x: 0.99999815, y: 1.0000013, z: 1.0000018} - - name: Banks01_R.002 - parentName: Banks01_R.001 - position: {x: -2.1420418e-10, y: 0.000183476, z: 0} - rotation: {x: 0.11950745, y: -0.06176989, z: 0.059857547, w: 0.98910034} - scale: {x: 0.9999981, y: 0.9999896, z: 1.0000201} - - name: Banks01_R.002_end - parentName: Banks01_R.002 - position: {x: 2.9802322e-10, y: 0.000151829, z: 2.0489097e-10} - rotation: {x: -0.00000006705521, y: -0, z: 0.000000019092107, w: 1} - scale: {x: 0.9999992, y: 1.0000035, z: 1.0000021} - - name: Banks01_R.002_end_end - parentName: Banks01_R.002_end - position: {x: -0, y: 0.000151829, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Banks02_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000362094, y: 0.000712926, z: 0.000874371} - rotation: {x: 0.9899033, y: 0.1042858, z: 0.07263931, w: -0.06276556} - scale: {x: 1.0000027, y: 0.99999875, z: 1} - - name: Banks02_L.001 - parentName: Banks02_L - position: {x: -0, y: 0.000183524, z: 1.0244548e-10} - rotation: {x: 0.20462778, y: 0.02817011, z: 0.008687422, w: 0.9783959} - scale: {x: 0.9999999, y: 1.0000015, z: 1.0000025} - - name: Banks02_L.002 - parentName: Banks02_L.001 - position: {x: -0, y: 0.000169562, z: 1.1641532e-10} - rotation: {x: 0.15613124, y: 0.022935431, z: 0.004459079, w: 0.98746} - scale: {x: 1, y: 0.9999998, z: 1.0000044} - - name: Banks02_L.002_end - parentName: Banks02_L.002 - position: {x: -0, y: 0.00016588, z: -9.592622e-10} - rotation: {x: 0.000000014901158, y: 0.000000033527606, z: -0.000000060768784, w: 1} - scale: {x: 1, y: 0.99999994, z: 0.9999999} - - name: Banks02_L.002_end_end - parentName: Banks02_L.002_end - position: {x: -0, y: 0.00016588, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Banks02_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000306093, y: 0.000664718, z: 0.000940918} - rotation: {x: 0.9904213, y: -0.03136713, z: -0.08617462, w: -0.103226736} - scale: {x: 1.0000006, y: 0.9999981, z: 1.0000024} - - name: Banks02_R.001 - parentName: Banks02_R - position: {x: -2.3283064e-10, y: 0.00017447899, z: 0} - rotation: {x: 0.1422065, y: -0.05806351, z: 0.044256613, w: 0.987141} - scale: {x: 0.9999994, y: 1.0000051, z: 1.0000044} - - name: Banks02_R.002 - parentName: Banks02_R.001 - position: {x: -0, y: 0.000161323, z: 0} - rotation: {x: 0.16815282, y: -0.021268679, z: -0.015143277, w: 0.98541516} - scale: {x: 1.0000001, y: 0.99999994, z: 1.0000095} - - name: Banks02_R.002_end - parentName: Banks02_R.002 - position: {x: -0, y: 0.000155408, z: -9.452924e-10} - rotation: {x: 0.0000000745058, y: 0.0000000074505797, z: -0.000000016530974, w: 1} - scale: {x: 0.99999905, y: 1.0000035, z: 1.0000031} - - name: Banks02_R.002_end_end - parentName: Banks02_R.002_end - position: {x: -0, y: 0.000155408, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side01_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000652462, y: 0.000517706, z: 0.000671987} - rotation: {x: 0.98294854, y: -0.058610965, z: -0.117708825, w: -0.12853652} - scale: {x: 0.9999998, y: 1.0000005, z: 1.0000026} - - name: Side01_L.001 - parentName: Side01_L - position: {x: -3.1664968e-10, y: 0.000278846, z: -1.5832484e-10} - rotation: {x: 0.0023621614, y: -0.13671958, z: 0.15228492, w: 0.9788317} - scale: {x: 1.000001, y: 1.0000021, z: 1.0000039} - - name: Side01_L.001_end - parentName: Side01_L.001 - position: {x: -3.352761e-10, y: 0.000270811, z: 0} - rotation: {x: 0.0000000037252894, y: 0.00000005960463, z: -0.000000029016512, w: 1} - scale: {x: 1, y: 1.000003, z: 1.0000015} - - name: Side01_L.001_end_end - parentName: Side01_L.001_end - position: {x: -0, y: 0.000270811, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side01_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000574087, y: 0.00045216602, z: 0.000723097} - rotation: {x: 0.98353285, y: 0.09874437, z: 0.0665004, w: -0.13597985} - scale: {x: 0.9999997, y: 0.9999987, z: 1.0000002} - - name: Side01_R.001 - parentName: Side01_R - position: {x: -3.8184225e-10, y: 0.000278111, z: 0} - rotation: {x: 0.0019491757, y: 0.13787855, z: -0.153531, w: 0.97847533} - scale: {x: 1.0000008, y: 1.0000001, z: 1.0000005} - - name: Side01_R.001_end - parentName: Side01_R.001 - position: {x: -0, y: 0.000269156, z: 1.11758706e-10} - rotation: {x: 0.00000004877801, y: 0.000000044703473, z: 0.00000014182294, w: 1} - scale: {x: 0.9999992, y: 1.0000027, z: 1.0000017} - - name: Side01_R.001_end_end - parentName: Side01_R.001_end - position: {x: -0, y: 0.000269153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side02_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000783886, y: 0.000813245, z: 0.000397005} - rotation: {x: 0.99836415, y: 0.021957705, z: -0.024148699, w: -0.046943963} - scale: {x: 1.0000043, y: 0.9999982, z: 1.0000223} - - name: Side02_L.001 - parentName: Side02_L - position: {x: -0, y: 0.000247862, z: 0} - rotation: {x: 0.014957247, y: -0.11673635, z: 0.109529115, w: 0.9869916} - scale: {x: 1.0000005, y: 1.0000042, z: 1.0000045} - - name: Side02_L.002 - parentName: Side02_L.001 - position: {x: 1.3969838e-10, y: 0.000266175, z: 0} - rotation: {x: -0.0074914447, y: -0.059843816, z: 0.059618525, w: 0.9963977} - scale: {x: 0.99999356, y: 0.9999967, z: 1.0000063} - - name: Side02_L.003 - parentName: Side02_L.002 - position: {x: 2.7939676e-10, y: 0.000236188, z: 0} - rotation: {x: 0.01163682, y: -0.101086974, z: 0.09219666, w: 0.9905281} - scale: {x: 0.9999862, y: 1.0000042, z: 1.0000292} - - name: Side02_L.003_end - parentName: Side02_L.003 - position: {x: 1.3038516e-10, y: 0.00018191, z: 0} - rotation: {x: -0.0000018849962, y: -0.0000035241233, z: -0.000000005937179, w: 1} - scale: {x: 0.9999998, y: 1.0000001, z: 1.0000002} - - name: Side02_L.003_end_end - parentName: Side02_L.003_end - position: {x: -0, y: 0.00018191, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side02_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000754778, y: 0.000731031, z: 0.000461121} - rotation: {x: 0.99836415, y: 0.022010246, z: -0.024096202, w: -0.04694658} - scale: {x: 1.0000043, y: 0.99999684, z: 1.0000211} - - name: Side02_R.001 - parentName: Side02_R - position: {x: -0, y: 0.000247862, z: 1.2631061e-10} - rotation: {x: 0.014196619, y: 0.11712226, z: -0.109978855, w: 0.986907} - scale: {x: 0.99999976, y: 1.0000019, z: 1.000002} - - name: Side02_R.002 - parentName: Side02_R.001 - position: {x: 1.0244548e-10, y: 0.000265308, z: 0} - rotation: {x: -0.0078155, y: 0.06033068, z: -0.060028102, w: 0.99634117} - scale: {x: 0.9999948, y: 0.9999996, z: 1.0000087} - - name: Side02_R.003 - parentName: Side02_R.002 - position: {x: -4.0978193e-10, y: 0.000235101, z: 0} - rotation: {x: 0.011421788, y: 0.102262504, z: -0.09325086, w: 0.9903112} - scale: {x: 0.9999846, y: 0.9999955, z: 1.0000211} - - name: Side02_R.003_end - parentName: Side02_R.003 - position: {x: 8.754432e-10, y: 0.000180762, z: -1.11758706e-10} - rotation: {x: 0.00000006798654, y: 0.0000000074505797, z: 0.00000006647314, w: 1} - scale: {x: 1.0000012, y: 1.0000042, z: 1.0000044} - - name: Side02_R.003_end_end - parentName: Side02_R.003_end - position: {x: -0, y: 0.000180762, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side03_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000725333, y: 0.001015812, z: 0.000364044} - rotation: {x: 0.98606, y: 0.10480016, z: 0.0734698, w: -0.1063242} - scale: {x: 1.0000002, y: 0.99999964, z: 1.0000002} - - name: Side03_L.001 - parentName: Side03_L - position: {x: 4.4237822e-10, y: 0.000304106, z: 0} - rotation: {x: -0.02127099, y: 0.04320989, z: -0.049335428, w: 0.9976204} - scale: {x: 1.0000007, y: 1.0000008, z: 1.0000015} - - name: Side03_L.002 - parentName: Side03_L.001 - position: {x: -0, y: 0.000260243, z: 0} - rotation: {x: 0.02670199, y: 0.052903622, z: -0.04579185, w: 0.9971917} - scale: {x: 0.99999964, y: 1.0000026, z: 1.0000027} - - name: Side03_L.002_end - parentName: Side03_L.002 - position: {x: -0, y: 0.000222609, z: -1.11758706e-10} - rotation: {x: 0.00000008009372, y: 0.000000011175868, z: 0.000000045867626, w: 1} - scale: {x: 1.0000008, y: 1.0000045, z: 1.0000031} - - name: Side03_L.002_end_end - parentName: Side03_L.002_end - position: {x: -0, y: 0.000222609, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Side03_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000718038, y: 0.000938687, z: 0.000424194} - rotation: {x: 0.9854256, y: -0.063360125, z: -0.12342717, w: -0.09842601} - scale: {x: 0.9999991, y: 0.99999756, z: 1.0000006} - - name: Side03_R.001 - parentName: Side03_R - position: {x: 1.0244548e-10, y: 0.000304946, z: 0} - rotation: {x: -0.020991078, y: -0.04291938, z: 0.049175736, w: 0.99764675} - scale: {x: 1.0000011, y: 1.0000037, z: 1.0000035} - - name: Side03_R.002 - parentName: Side03_R.001 - position: {x: -2.5145708e-10, y: 0.00026126902, z: 0} - rotation: {x: 0.026815511, y: -0.05244008, z: 0.045201834, w: 0.99724007} - scale: {x: 0.9999994, y: 0.9999995, z: 0.9999972} - - name: Side03_R.002_end - parentName: Side03_R.002 - position: {x: -3.1664968e-10, y: 0.00022376601, z: 1.4901161e-10} - rotation: {x: -0.000000014901163, y: -0.00000005215407, z: -0.00000003247988, w: 1} - scale: {x: 1.0000012, y: 1.0000015, z: 1.0000033} - - name: Side03_R.002_end_end - parentName: Side03_R.002_end - position: {x: -0, y: 0.00022376601, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twin_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000466011, y: -0.000060665, z: -0.000200315} - rotation: {x: 0.9409596, y: 0.173751, z: 0.15652043, w: 0.24475914} - scale: {x: 0.9999998, y: 0.99999994, z: 0.9999979} - - name: Twin_L.001 - parentName: Twin_L - position: {x: 4.9592924e-10, y: 0.000285321, z: 3.5390257e-10} - rotation: {x: -0.28356, y: -0.36857107, z: 0.10360227, w: 0.87921304} - scale: {x: 0.9999997, y: 1.0000018, z: 0.9999987} - - name: Twin_L.002 - parentName: Twin_L.001 - position: {x: -2.2118911e-10, y: 0.000275426, z: 0} - rotation: {x: 0.1918986, y: 0.19651276, z: -0.062364023, w: 0.95951474} - scale: {x: 1.0000001, y: 1.0000017, z: 1.000009} - - name: Twin_L.003 - parentName: Twin_L.002 - position: {x: -0, y: 0.000287196, z: -7.706694e-10} - rotation: {x: 0.10041283, y: -0.13689332, z: 0.052514035, w: 0.98408324} - scale: {x: 0.9999992, y: 1.0000044, z: 1.0000017} - - name: Twin_L.004 - parentName: Twin_L.003 - position: {x: -0, y: 0.000256679, z: 7.1711836e-10} - rotation: {x: -0.02037593, y: 0.0152983535, z: -0.004729771, w: 0.9996641} - scale: {x: 1, y: 0.9999993, z: 0.9999998} - - name: Twin_L.005 - parentName: Twin_L.004 - position: {x: -0, y: 0.000150936, z: 0.0000000010011717} - rotation: {x: 0.035286408, y: -0.010651085, z: 0.0010512058, w: 0.9993199} - scale: {x: 0.9999992, y: 1.0000006, z: 1.0000011} - - name: Twin_L.006 - parentName: Twin_L.005 - position: {x: -0, y: 0.000155915, z: -3.5390257e-10} - rotation: {x: 0.03200952, y: -0.1877833, z: 0.08878239, w: 0.97766584} - scale: {x: 0.9999962, y: 1.0000043, z: 1.0000063} - - name: Twin_L.006_end - parentName: Twin_L.006 - position: {x: 5.587935e-10, y: 0.000169884, z: 0} - rotation: {x: -0, y: -0, z: 4.656613e-10, w: 1} - scale: {x: 1.0000005, y: 1.0000013, z: 1.0000024} - - name: Twin_L.006_end_end - parentName: Twin_L.006_end - position: {x: -0, y: 0.000169884, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twin_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000410371, y: -0.000107492, z: -0.000163796} - rotation: {x: 0.9401325, y: -0.12028547, z: -0.18784146, w: 0.25767785} - scale: {x: 0.99999934, y: 0.9999991, z: 0.9999986} - - name: Twin_R.001 - parentName: Twin_R - position: {x: -0, y: 0.000285946, z: 2.0489097e-10} - rotation: {x: -0.28543803, y: 0.36761037, z: -0.101510786, w: 0.8792516} - scale: {x: 0.9999999, y: 1.0000029, z: 1.0000004} - - name: Twin_R.002 - parentName: Twin_R.001 - position: {x: -0, y: 0.000275365, z: 2.7939676e-10} - rotation: {x: 0.19286188, y: -0.19648798, z: 0.060999345, w: 0.95941436} - scale: {x: 0.9999991, y: 1.0000044, z: 1.0000031} - - name: Twin_R.003 - parentName: Twin_R.002 - position: {x: -0, y: 0.000287276, z: -7.1246176e-10} - rotation: {x: 0.09942595, y: 0.13710693, z: -0.053324554, w: 0.98411006} - scale: {x: 1.0000006, y: 1.0000005, z: 0.9999983} - - name: Twin_R.004 - parentName: Twin_R.003 - position: {x: -0, y: 0.000256401, z: -2.8871e-10} - rotation: {x: 0.012579946, y: 0.18091317, z: -0.08411673, w: 0.9798145} - scale: {x: 0.9999976, y: 1.0000001, z: 1.0000018} - - name: Twin_R.005 - parentName: Twin_R.004 - position: {x: 3.5390257e-10, y: 0.000155344, z: -1.4901161e-10} - rotation: {x: -0.0014672016, y: -0.24123263, z: 0.11756181, w: 0.96331924} - scale: {x: 1.0000069, y: 0.99999976, z: 0.9999982} - - name: Twin_R.006 - parentName: Twin_R.005 - position: {x: -0, y: 0.000155255, z: 1.5832484e-10} - rotation: {x: 0.05627567, y: 0.31176916, z: -0.1499093, w: 0.9365684} - scale: {x: 1.0000083, y: 1.0000042, z: 0.9999998} - - name: Twin_R.006_end - parentName: Twin_R.006 - position: {x: -1.3038516e-10, y: 0.000173445, z: -1.6763806e-10} - rotation: {x: 0.000000026077029, y: 0.000000059604638, z: 0.0000000074505797, w: 1} - scale: {x: 0.9999998, y: 0.9999981, z: 0.9999975} - - name: Twin_R.006_end_end - parentName: Twin_R.006_end - position: {x: -0, y: 0.000173445, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under01_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.00067845, y: 0.000290034, z: -0.000238348} - rotation: {x: 0.9548178, y: 0.19181798, z: 0.17692126, w: -0.14222473} - scale: {x: 0.99999857, y: 0.9999997, z: 1.000001} - - name: Under01_L.001 - parentName: Under01_L - position: {x: -1.5832484e-10, y: 0.000185946, z: -1.9092113e-10} - rotation: {x: 0.18031332, y: 0.21068045, z: -0.16349803, w: 0.94676775} - scale: {x: 1.0000011, y: 1.0000018, z: 1.0000011} - - name: Under01_L.001_end - parentName: Under01_L.001 - position: {x: 3.678724e-10, y: 0.000150714, z: 2.840534e-10} - rotation: {x: -0.000000014901161, y: -0, z: 0.00000010430813, w: 1} - scale: {x: 0.99999875, y: 0.9999991, z: 1} - - name: Under01_L.001_end_end - parentName: Under01_L.001_end - position: {x: -0, y: 0.000150714, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under01_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.00065632, y: 0.000218713, z: -0.000182725} - rotation: {x: 0.953868, y: -0.15236607, z: -0.22609772, w: -0.12569968} - scale: {x: 0.99999815, y: 1.0000005, z: 1.000002} - - name: Under01_R.001 - parentName: Under01_R - position: {x: -0, y: 0.000186941, z: 1.2107193e-10} - rotation: {x: 0.17833039, y: -0.20817597, z: 0.16091223, w: 0.9481394} - scale: {x: 1.0000024, y: 1.0000062, z: 1.0000051} - - name: Under01_R.001_end - parentName: Under01_R.001 - position: {x: -1.5832484e-10, y: 0.000151808, z: 4.377216e-10} - rotation: {x: 0.000003069638, y: 0.00000004470347, z: 0.0000025033942, w: 1} - scale: {x: 1.0000002, y: 1.0000023, z: 1.0000027} - - name: Under01_R.001_end_end - parentName: Under01_R.001_end - position: {x: -0, y: 0.000151808, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under02_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000608436, y: 0.000369618, z: -0.000523587} - rotation: {x: 0.9647837, y: 0.13553825, z: 0.11053498, w: -0.1964782} - scale: {x: 0.9999994, y: 0.9999985, z: 1.0000001} - - name: Under02_L.001 - parentName: Under02_L - position: {x: 1.2107193e-10, y: 0.000183885, z: 0} - rotation: {x: 0.16247447, y: 0.1533135, z: -0.14646338, w: 0.96366256} - scale: {x: 1.0000005, y: 1.0000001, z: 1.0000001} - - name: Under02_L.001_end - parentName: Under02_L.001 - position: {x: -0, y: 0.000153799, z: 2.4214386e-10} - rotation: {x: 0.000000014901159, y: -0.000000029802319, z: 0.000000005587935, w: 1} - scale: {x: 0.9999997, y: 1.0000005, z: 1.0000021} - - name: Under02_L.001_end_end - parentName: Under02_L.001_end - position: {x: -0, y: 0.000153799, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under02_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000618387, y: 0.00030406698, z: -0.000472465} - rotation: {x: 0.96405447, y: -0.09833837, z: -0.16332693, w: -0.18507533} - scale: {x: 0.9999985, y: 0.99999696, z: 0.9999985} - - name: Under02_R.001 - parentName: Under02_R - position: {x: -1.3038516e-10, y: 0.00018461101, z: -3.0733643e-10} - rotation: {x: 0.16108282, y: -0.15188418, z: 0.14420357, w: 0.96446306} - scale: {x: 1.0000004, y: 1.0000032, z: 1.0000021} - - name: Under02_R.001_end - parentName: Under02_R.001 - position: {x: 3.72529e-10, y: 0.000154811, z: -3.72529e-10} - rotation: {x: -0.000000044703473, y: 0.000000029802315, z: 0.00000014342365, w: 1} - scale: {x: 1.0000008, y: 1.0000014, z: 1.0000021} - - name: Under02_R.001_end_end - parentName: Under02_R.001_end - position: {x: -0, y: 0.00015481199, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under03_L - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: 0.000319761, y: 0.00035500102, z: -0.000828597} - rotation: {x: 0.965399, y: 0.081247196, z: 0.04687186, w: -0.24332446} - scale: {x: 0.9999996, y: 0.9999984, z: 1.0000005} - - name: Under03_L.001 - parentName: Under03_L - position: {x: -0, y: 0.000184908, z: 1.3038516e-10} - rotation: {x: 0.20348515, y: 0.08754573, z: -0.08872569, w: 0.97111136} - scale: {x: 0.99999946, y: 1.000004, z: 1.0000021} - - name: Under03_L.001_end - parentName: Under03_L.001 - position: {x: 1.862645e-10, y: 0.000157235, z: 4.377216e-10} - rotation: {x: -0, y: -0, z: 0.00000006519257, w: 1} - scale: {x: 1.0000008, y: 0.9999992, z: 0.9999999} - - name: Under03_L.001_end_end - parentName: Under03_L.001_end - position: {x: -0, y: 0.000157235, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under03_R - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000356701, y: 0.000318856, z: -0.000800409} - rotation: {x: 0.9650008, y: -0.04622068, z: -0.1022969, w: -0.23700729} - scale: {x: 0.9999995, y: 0.99999857, z: 0.99999934} - - name: Under03_R.001 - parentName: Under03_R - position: {x: 2.6077032e-10, y: 0.000185323, z: 0} - rotation: {x: 0.20246407, y: -0.08707266, z: 0.08690955, w: 0.97153145} - scale: {x: 1.0000013, y: 1.0000036, z: 1.0000025} - - name: Under03_R.001_end - parentName: Under03_R.001 - position: {x: -3.352761e-10, y: 0.000157865, z: 3.72529e-10} - rotation: {x: -0.000000059604638, y: -0.0000000372529, z: 0.000000016763805, w: 1} - scale: {x: 0.9999996, y: 0.9999998, z: 0.99999934} - - name: Under03_R.001_end_end - parentName: Under03_R.001_end - position: {x: -0, y: 0.000157865, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Under04 - parentName: "\u30BD\u30C8\u30CF\u30CD\u2613\u30B7\u30B0\u30DEjooin_2" - position: {x: -0.000021287, y: 0.00035467502, z: -0.000852067} - rotation: {x: 0.9948318, y: 0.044060636, z: 0.001887976, w: -0.09146008} - scale: {x: 0.9999986, y: 1.0000002, z: 0.99999565} - - name: Under04.001 - parentName: Under04 - position: {x: -0, y: 0.00019548301, z: 0} - rotation: {x: 0.2928579, y: -0.014040528, z: 0.028222691, w: 0.95563626} - scale: {x: 1.000001, y: 1.0000055, z: 1.0000061} - - name: Under04.001_end - parentName: Under04.001 - position: {x: -0, y: 0.00014096299, z: 0} - rotation: {x: -0, y: -0, z: -4.6566123e-10, w: 1} - scale: {x: 1.0000001, y: 0.9999988, z: 0.9999989} - - name: Under04.001_end_end - parentName: Under04.001_end - position: {x: -0, y: 0.00014096299, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Head_3 - parentName: Head_4 - position: {x: 0.0000000025337192, y: 0.000000332, z: 0.00000006} - rotation: {x: -0.15533732, y: -0.30504936, z: -0.25060025, w: 0.90554667} - scale: {x: 1.0000004, y: 1.0000002, z: 1.0000014} - - name: xRing-_2 - parentName: Head_3 - position: {x: -0.000002575, y: 0.001861546, z: -0.000008905} - rotation: {x: -0.000000029802315, y: 0.000000029802315, z: -0.00000005587934, w: 1} - scale: {x: 1.0000001, y: 1.0000011, z: 0.99999994} - - name: Ring-_2 - parentName: xRing-_2 - position: {x: 0.000008305, y: 0.0000065659997, z: 0.00003805} - rotation: {x: 0.82533586, y: 0.49770132, z: 0.042682596, w: -0.26323444} - scale: {x: 1.0000014, y: 1.000005, z: 1.000005} - - name: Ring-_end_2 - parentName: Ring-_2 - position: {x: -4.4703483e-10, y: 0.000140954, z: -3.1664968e-10} - rotation: {x: -0.000000029802315, y: 0.00000011920926, z: -0, w: 1} - scale: {x: 1, y: 0.99999785, z: 1.0000005} - - name: Ring-_end_2_end - parentName: Ring-_end_2 - position: {x: -0, y: 0.000140954, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: xRing__2 - parentName: Head_3 - position: {x: 0.000002574, y: 0.001800065, z: 0.000008905} - rotation: {x: -0.24581647, y: 0.5052309, z: 0.73713267, w: -0.37543494} - scale: {x: 1.0000038, y: 1.0000021, z: 0.99999994} - - name: Ring__2 - parentName: xRing__2 - position: {x: -3.72529e-10, y: 0.000042043, z: 7.9395246e-10} - rotation: {x: -0.023084117, y: -0.70094055, z: 0.712258, w: -0.028952044} - scale: {x: 0.9999992, y: 1.0000013, z: 1.0000032} - - name: Ring__end_2 - parentName: Ring__2 - position: {x: -4.1909515e-10, y: 0.000147991, z: 0} - rotation: {x: 0.0000046819905, y: 0.0000015385446, z: -0.00000010803339, w: 1} - scale: {x: 0.99999934, y: 0.9999998, z: 0.9999983} - - name: Ring__end_2_end - parentName: Ring__end_2 - position: {x: -0, y: 0.000147991, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Head_2 - parentName: Head_4 - position: {x: 0.000000641, y: 0.000016712, z: -0.000039837} - rotation: {x: -0.14801496, y: -0.31056905, z: -0.25502434, w: 0.9036598} - scale: {x: 1.0000008, y: 1.0000015, z: 1.0000015} - - name: xRing-_3 - parentName: Head_2 - position: {x: -0.0000030869999, y: 0.0018471511, z: -0.000009282} - rotation: {x: -0.000000029802319, y: -0.00000008940696, z: -0.00000009313224, w: 1} - scale: {x: 1.0000006, y: 0.99999976, z: 0.9999996} - - name: Ring-_3 - parentName: xRing-_3 - position: {x: 0.00000844, y: 0.000007187, z: 0.000037924} - rotation: {x: 0.8233354, y: 0.5033908, z: 0.034995575, w: -0.2597917} - scale: {x: 1.0000007, y: 0.9999979, z: 0.9999995} - - name: Ring-_end_3 - parentName: Ring-_3 - position: {x: 7.543713e-10, y: 0.000141013, z: -1.4901161e-10} - rotation: {x: -0, y: 0.000000014901161, z: 0.000000059604645, w: 1} - scale: {x: 1.0000006, y: 1.000001, z: 1.0000019} - - name: Ring-_end_3_end - parentName: Ring-_end_3 - position: {x: -0, y: 0.000141013, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: xRing__3 - parentName: Head_2 - position: {x: 0.000003097, y: 0.00178596, z: 0.000009282} - rotation: {x: -0.24526957, y: 0.50665915, z: 0.73175484, w: -0.38428393} - scale: {x: 1.0000002, y: 1.0000007, z: 0.9999987} - - name: Ring__3 - parentName: xRing__3 - position: {x: 7.8231094e-10, y: 0.000042058, z: -4.656613e-10} - rotation: {x: -0.023333939, y: -0.7010018, z: 0.7121768, w: -0.029262464} - scale: {x: 1.0000008, y: 1.0000018, z: 1.0000026} - - name: Ring__end_3 - parentName: Ring__3 - position: {x: -3.0733643e-10, y: 0.00014804999, z: 0} - rotation: {x: 0.0000000016298142, y: 0.000000044703473, z: 0.0000000037252894, w: 1} - scale: {x: 0.99999917, y: 1.0000023, z: 1.0000012} - - name: Ring__end_3_end - parentName: Ring__end_3 - position: {x: -0, y: 0.000148048, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Root_L - parentName: Head_4 - position: {x: -0.000367426, y: 0.00130785, z: -0.000285701} - rotation: {x: -0.20298329, y: 0.3542916, z: 0.28721845, w: 0.8664761} - scale: {x: 1.0000006, y: 1.0000004, z: 1.0000013} - - name: Kemono_Ear_L - parentName: Kemono_Ear_Root_L - position: {x: -4.749745e-10, y: 0.000071106995, z: -1.2107193e-10} - rotation: {x: 0.02854684, y: -0.036574394, z: -0.0231684, w: 0.9986545} - scale: {x: 1.0000002, y: 1.0000001, z: 1.0000006} - - name: Kemono_Ear_Fur_Root_L - parentName: Kemono_Ear_L - position: {x: -6.519258e-10, y: 0.000086762, z: 1.2107193e-10} - rotation: {x: 0.46740118, y: -0.0086499, z: 0.33512518, w: 0.81801736} - scale: {x: 0.99999875, y: 1.0000011, z: 0.99999815} - - name: Kemono_Ear_Fur_01_L - parentName: Kemono_Ear_Fur_Root_L - position: {x: 0.000120793, y: 0.00020918, z: 0.000023102999} - rotation: {x: -0.47662044, y: 0.010016322, z: -0.34147906, w: 0.8100153} - scale: {x: 1.000001, y: 1.0000017, z: 0.999998} - - name: Kemono_Ear_Fur_01_L.end - parentName: Kemono_Ear_Fur_01_L - position: {x: -0, y: 0.000277699, z: 2.0489097e-10} - rotation: {x: -0.00000005960463, y: -0.000000004656612, z: -0.000000013969835, w: 1} - scale: {x: 1.0000007, y: 1.0000011, z: 1.0000002} - - name: Kemono_Ear_Fur_01_L.end_end - parentName: Kemono_Ear_Fur_01_L.end - position: {x: -0, y: 0.000277699, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_02_L - parentName: Kemono_Ear_Fur_Root_L - position: {x: -0.000000721, y: 0.00017343501, z: -0.000079161} - rotation: {x: -0.53500295, y: 0.19918522, z: -0.34618387, w: 0.7444822} - scale: {x: 1.0000007, y: 1.0000007, z: 0.99999803} - - name: Kemono_Ear_Fur_02_L.end - parentName: Kemono_Ear_Fur_02_L - position: {x: 6.891787e-10, y: 0.000196186, z: -1.6763806e-10} - rotation: {x: -0.000000059604638, y: 0.00000004470348, z: -0.00000004470348, w: 1} - scale: {x: 0.9999996, y: 0.9999993, z: 1.0000011} - - name: Kemono_Ear_Fur_02_L.end_end - parentName: Kemono_Ear_Fur_02_L.end - position: {x: -0, y: 0.000196186, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_03_L - parentName: Kemono_Ear_Fur_Root_L - position: {x: -0.000051083, y: 0.000125938, z: -0.000053309002} - rotation: {x: 0.6888752, y: -0.61608076, z: 0.37472734, w: -0.0739934} - scale: {x: 1.000001, y: 1.0000005, z: 1.0000026} - - name: Kemono_Ear_Fur_03_L.end - parentName: Kemono_Ear_Fur_03_L - position: {x: 3.1664968e-10, y: 0.000179149, z: -7.636845e-10} - rotation: {x: 0.000000014901158, y: -0.000000037252896, z: 0.000000029802315, w: 1} - scale: {x: 1, y: 1.000002, z: 1.0000029} - - name: Kemono_Ear_Fur_03_L.end_end - parentName: Kemono_Ear_Fur_03_L.end - position: {x: -0, y: 0.000179149, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_04_L - parentName: Kemono_Ear_Fur_Root_L - position: {x: -0.000079827, y: 0.00018489201, z: 0.000012651999} - rotation: {x: 0.6817796, y: -0.6294805, z: 0.3669725, w: 0.0652842} - scale: {x: 1.0000002, y: 0.99999976, z: 1.0000024} - - name: Kemono_Ear_Fur_04_L.end - parentName: Kemono_Ear_Fur_04_L - position: {x: 1.6763806e-10, y: 0.00016114101, z: -3.72529e-10} - rotation: {x: -0.000000085681656, y: -0.000000089406946, z: -0.000000089406946, w: 1} - scale: {x: 0.99999946, y: 0.9999997, z: 0.99999994} - - name: Kemono_Ear_Fur_04_L.end_end - parentName: Kemono_Ear_Fur_04_L.end - position: {x: -0, y: 0.00016114101, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_05_L - parentName: Kemono_Ear_Fur_Root_L - position: {x: 0.000010829999, y: 0.000222523, z: 0.000096712} - rotation: {x: 0.546036, y: -0.7189196, z: 0.25147253, w: 0.34894267} - scale: {x: 1.0000006, y: 1.0000026, z: 0.9999994} - - name: Kemono_Ear_Fur_05_L.end - parentName: Kemono_Ear_Fur_05_L - position: {x: -3.352761e-10, y: 0.000149811, z: -3.72529e-10} - rotation: {x: -0.000000029802322, y: -0.000000059604645, z: 0.00000008940697, w: 1} - scale: {x: 0.99999964, y: 1.0000027, z: 1.0000043} - - name: Kemono_Ear_Fur_05_L.end_end - parentName: Kemono_Ear_Fur_05_L.end - position: {x: -0, y: 0.000149814, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_L.001 - parentName: Kemono_Ear_L - position: {x: -6.519258e-10, y: 0.000086762, z: 1.2107193e-10} - rotation: {x: 0.0704002, y: -0.06564818, z: -0.027392589, w: 0.9949793} - scale: {x: 0.9999996, y: 0.9999991, z: 1.0000005} - - name: Kemono_Ear_L.002 - parentName: Kemono_Ear_L.001 - position: {x: 6.239861e-10, y: 0.000230567, z: 1.9557773e-10} - rotation: {x: 0.11736702, y: -0.11177493, z: -0.04800093, w: 0.9856101} - scale: {x: 1.0000001, y: 1.0000008, z: 1.0000024} - - name: Kemono_Ear_L.003 - parentName: Kemono_Ear_L.002 - position: {x: -2.9802322e-10, y: 0.000259949, z: 0} - rotation: {x: 0.16665705, y: -0.16478334, z: -0.07294018, w: 0.96940786} - scale: {x: 0.99999845, y: 0.9999986, z: 1.0000015} - - name: Kemono_Ear_L.003_end - parentName: Kemono_Ear_L.003 - position: {x: 1.6763806e-10, y: 0.000306681, z: -2.8871e-10} - rotation: {x: -0.000000014901154, y: -0, z: -0, w: 1} - scale: {x: 0.99999994, y: 0.999998, z: 0.9999988} - - name: Kemono_Ear_L.003_end_end - parentName: Kemono_Ear_L.003_end - position: {x: -0, y: 0.000306681, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Root_R - parentName: Head_4 - position: {x: 0.000399723, y: 0.001300334, z: -0.000276497} - rotation: {x: -0.20297965, y: -0.3626501, z: -0.29810002, w: 0.8593141} - scale: {x: 1.0000004, y: 1.0000007, z: 1.0000017} - - name: Kemono_Ear_R - parentName: Kemono_Ear_Root_R - position: {x: -6.891787e-10, y: 0.000071106995, z: 3.0733643e-10} - rotation: {x: 0.028540663, y: 0.036571972, z: 0.023168573, w: 0.99865466} - scale: {x: 0.99999934, y: 0.9999991, z: 1.0000005} - - name: Kemono_Ear_Fur_Root_R - parentName: Kemono_Ear_R - position: {x: -1.4901161e-10, y: 0.000086762, z: 1.6763806e-10} - rotation: {x: 0.4674072, y: 0.0086608585, z: -0.33511934, w: 0.8180163} - scale: {x: 0.99999845, y: 1.0000015, z: 1.0000004} - - name: Kemono_Ear_Fur_01_R - parentName: Kemono_Ear_Fur_Root_R - position: {x: -0.000120796, y: 0.00020918, z: 0.000023098999} - rotation: {x: -0.47662282, y: -0.010025688, z: 0.34147328, w: 0.8100162} - scale: {x: 1.000004, y: 1.0000026, z: 0.9999961} - - name: Kemono_Ear_Fur_01_R.end - parentName: Kemono_Ear_Fur_01_R - position: {x: 1.862645e-10, y: 0.000277699, z: -2.9802322e-10} - rotation: {x: 0.000000029802315, y: 0.00000004377215, z: -0.00000017369162, w: 1} - scale: {x: 0.9999997, y: 1.0000001, z: 0.99999964} - - name: Kemono_Ear_Fur_01_R.end_end - parentName: Kemono_Ear_Fur_01_R.end - position: {x: -0, y: 0.000277699, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_02_R - parentName: Kemono_Ear_Fur_Root_R - position: {x: 0.000000721, y: 0.00017343501, z: -0.000079161} - rotation: {x: -0.5350297, y: -0.1991993, z: 0.34616828, w: 0.74446654} - scale: {x: 1.000004, y: 1.0000024, z: 0.99999624} - - name: Kemono_Ear_Fur_02_R.end - parentName: Kemono_Ear_Fur_02_R - position: {x: -8.0093737e-10, y: 0.000196186, z: -0.0000000017508864} - rotation: {x: -0, y: 0.000000029802315, z: 0.00000015646215, w: 1} - scale: {x: 1.0000023, y: 0.9999995, z: 1.0000006} - - name: Kemono_Ear_Fur_02_R.end_end - parentName: Kemono_Ear_Fur_02_R.end - position: {x: -0, y: 0.00019618499, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_03_R - parentName: Kemono_Ear_Fur_Root_R - position: {x: 0.000051083, y: 0.000125938, z: -0.000053308} - rotation: {x: 0.68888485, y: 0.6160783, z: -0.37471914, w: -0.07396489} - scale: {x: 1.0000033, y: 1.0000004, z: 1.0000044} - - name: Kemono_Ear_Fur_03_R.end - parentName: Kemono_Ear_Fur_03_R - position: {x: -2.6077032e-10, y: 0.000179152, z: -0.0000000010244549} - rotation: {x: -0.00000013783571, y: 0.000000033527606, z: -0.00000011920926, w: 1} - scale: {x: 1.0000019, y: 1.000003, z: 1.0000033} - - name: Kemono_Ear_Fur_03_R.end_end - parentName: Kemono_Ear_Fur_03_R.end - position: {x: -0, y: 0.000179149, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_04_R - parentName: Kemono_Ear_Fur_Root_R - position: {x: 0.000079824, y: 0.00018489201, z: 0.000012652999} - rotation: {x: 0.68179005, y: 0.6294757, z: -0.3669583, w: 0.065300904} - scale: {x: 1.0000036, y: 1.0000011, z: 1.0000048} - - name: Kemono_Ear_Fur_04_R.end - parentName: Kemono_Ear_Fur_04_R - position: {x: -1.862645e-10, y: 0.00016114101, z: -1.4901161e-10} - rotation: {x: 0.000000059604638, y: -0.000000029802319, z: -0.000000059604638, w: 1} - scale: {x: 0.9999995, y: 1.000001, z: 0.99999964} - - name: Kemono_Ear_Fur_04_R.end_end - parentName: Kemono_Ear_Fur_04_R.end - position: {x: -0, y: 0.00016114101, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_Fur_05_R - parentName: Kemono_Ear_Fur_Root_R - position: {x: -0.000010833, y: 0.00022252499, z: 0.000096709} - rotation: {x: 0.5460392, y: 0.7189152, z: -0.25146553, w: 0.3489516} - scale: {x: 1.0000037, y: 1.0000064, z: 1} - - name: Kemono_Ear_Fur_05_R.end - parentName: Kemono_Ear_Fur_05_R - position: {x: 2.7939676e-10, y: 0.000149811, z: 0} - rotation: {x: -0, y: -0, z: -0.00000014901158, w: 1} - scale: {x: 0.99999934, y: 0.9999987, z: 0.99999845} - - name: Kemono_Ear_Fur_05_R.end_end - parentName: Kemono_Ear_Fur_05_R.end - position: {x: -0, y: 0.000149814, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Ear_R.001 - parentName: Kemono_Ear_R - position: {x: -1.4901161e-10, y: 0.000086762, z: 1.6763806e-10} - rotation: {x: 0.0704004, y: 0.06564334, z: 0.027387626, w: 0.9949797} - scale: {x: 0.9999991, y: 0.9999993, z: 1.0000006} - - name: Kemono_Ear_R.002 - parentName: Kemono_Ear_R.001 - position: {x: 4.0046869e-10, y: 0.000230567, z: 1.5832484e-10} - rotation: {x: 0.1173686, y: 0.11178036, z: 0.0480053, w: 0.9856091} - scale: {x: 0.9999998, y: 1.0000002, z: 1.0000019} - - name: Kemono_Ear_R.003 - parentName: Kemono_Ear_R.002 - position: {x: -4.9360094e-10, y: 0.000259949, z: 0} - rotation: {x: 0.16665709, y: 0.16478333, z: 0.07294017, w: 0.96940786} - scale: {x: 0.99999917, y: 0.9999982, z: 1.0000039} - - name: Kemono_Ear_R.003_end - parentName: Kemono_Ear_R.003 - position: {x: -1.9790604e-10, y: 0.000306675, z: 1.6763806e-10} - rotation: {x: -0, y: -0, z: 0.000000027939667, w: 1} - scale: {x: 0.9999995, y: 0.9999983, z: 0.99999857} - - name: Kemono_Ear_R.003_end_end - parentName: Kemono_Ear_R.003_end - position: {x: -0, y: 0.000306675, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BobHair_Root - parentName: Head_4 - position: {x: -0.000004213, y: 0.000427218, z: -0.000029102} - rotation: {x: -0.8570541, y: 0.15733182, z: 0.119885, w: 0.47574428} - scale: {x: 0.99999994, y: 1.0000024, z: 1.0000014} - - name: BackHair2_01_L - parentName: BobHair_Root - position: {x: -0.000474384, y: 0.000634272, z: -0.000231905} - rotation: {x: 0.5798809, y: -0.21636707, z: 0.52524847, w: -0.58398426} - scale: {x: 0.99999905, y: 1.000003, z: 1.0000049} - - name: BackHair2_01_L_end - parentName: BackHair2_01_L - position: {x: -2.1420418e-10, y: 0.00036483, z: -2.7939676e-10} - rotation: {x: -0.000000029802319, y: 0.00000004470348, z: 0.00000004470348, w: 1} - scale: {x: 0.99999905, y: 1.0000018, z: 1.0000018} - - name: BackHair2_01_L_end_end - parentName: BackHair2_01_L_end - position: {x: -0, y: 0.000364831, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair2_01_R - parentName: BobHair_Root - position: {x: 0.000749216, y: 0.000117405, z: -0.000325597} - rotation: {x: 0.57988197, y: -0.06735487, z: -0.29677474, w: -0.7557281} - scale: {x: 0.9999997, y: 0.9999998, z: 0.9999998} - - name: BackHair2_01_R_end - parentName: BackHair2_01_R - position: {x: 2.6542693e-10, y: 0.000364831, z: 2.9802322e-10} - rotation: {x: -0, y: 0.00000010430813, z: -0, w: 1} - scale: {x: 1.0000008, y: 1.0000032, z: 1.0000037} - - name: BackHair2_01_R_end_end - parentName: BackHair2_01_R_end - position: {x: -0, y: 0.000364831, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair3_01_L - parentName: BobHair_Root - position: {x: -0.000115791, y: 0.000838313, z: -0.00020647} - rotation: {x: 0.6893087, y: -0.22645864, z: 0.45482212, w: -0.5164366} - scale: {x: 0.99999845, y: 0.99999917, z: 1.0000006} - - name: BackHair3_01_L_end - parentName: BackHair3_01_L - position: {x: -0, y: 0.000371996, z: 0} - rotation: {x: -0.000000029802319, y: 0.00000020116565, z: -0.000000104308114, w: 1} - scale: {x: 0.9999995, y: 1.0000018, z: 1.0000035} - - name: BackHair3_01_L_end_end - parentName: BackHair3_01_L_end - position: {x: -0, y: 0.000371996, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair3_01_R - parentName: BobHair_Root - position: {x: 0.000651073, y: 0.000514376, z: -0.000265187} - rotation: {x: 0.6893068, y: -0.09580152, z: -0.26597467, w: -0.66703504} - scale: {x: 1.0000001, y: 1.0000023, z: 1.0000012} - - name: BackHair3_01_R_end - parentName: BackHair3_01_R - position: {x: -0.0000000010989606, y: 0.00037199998, z: 0} - rotation: {x: -0.000000119209275, y: -0.00000008940696, z: 0.00000009685753, w: 1} - scale: {x: 1.0000001, y: 1.0000012, z: 1.0000015} - - name: BackHair3_01_R_end_end - parentName: BackHair3_01_R_end - position: {x: -0, y: 0.000372001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair4_01_L - parentName: BobHair_Root - position: {x: 0.000219247, y: 0.000821434, z: -0.000194827} - rotation: {x: 0.7775384, y: -0.19619259, z: 0.18603104, w: -0.56774545} - scale: {x: 0.9999987, y: 0.9999992, z: 0.9999996} - - name: BackHair4_01_L_end - parentName: BackHair4_01_L - position: {x: -0, y: 0.000343316, z: 9.58098e-10} - rotation: {x: -0.000000029802322, y: -0.000000022351742, z: 0.000000014901161, w: 1} - scale: {x: 0.9999994, y: 1.0000006, z: 0.99999934} - - name: BackHair4_01_L_end_end - parentName: BackHair4_01_L_end - position: {x: -0, y: 0.000343316, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair4_01_R - parentName: BobHair_Root - position: {x: 0.00040977102, y: 0.000740951, z: -0.000209416} - rotation: {x: 0.77754676, y: -0.1614733, z: -0.0052773133, w: -0.6077168} - scale: {x: 1.0000001, y: 1.000002, z: 1.000001} - - name: BackHair4_01_R_end - parentName: BackHair4_01_R - position: {x: -0, y: 0.000343316, z: 1.2805686e-10} - rotation: {x: -0, y: 0.0000000074505797, z: -0.000000029802319, w: 1} - scale: {x: 1.0000005, y: 1.0000032, z: 1.0000042} - - name: BackHair4_01_R_end_end - parentName: BackHair4_01_R_end - position: {x: -0, y: 0.000343316, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_01_L - parentName: BobHair_Root - position: {x: -0.000716563, y: 0.000552764, z: 0.000132814} - rotation: {x: 0.5786015, y: -0.14602073, z: 0.13865992, w: -0.7903618} - scale: {x: 0.99999934, y: 1.000001, z: 1.0000024} - - name: BackHair_01_L.001 - parentName: BackHair_01_L - position: {x: -0, y: 0.000355953, z: 0} - rotation: {x: -0.0593246, y: 0.17534938, z: -0.16651186, w: 0.9685076} - scale: {x: 0.99999684, y: 1.0000004, z: 1.0000029} - - name: BackHair_01_L.001_end - parentName: BackHair_01_L.001 - position: {x: -0, y: 0.000344447, z: -1.1641532e-10} - rotation: {x: -0.000000011175867, y: 0.000000029802312, z: 0.000000036321566, w: 1} - scale: {x: 1.0000005, y: 1.0000021, z: 1.0000025} - - name: BackHair_01_L.001_end_end - parentName: BackHair_01_L.001_end - position: {x: -0, y: 0.000344446, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_01_R - parentName: BobHair_Root - position: {x: 0.00090503896, y: -0.000132221, z: 0.000008647} - rotation: {x: 0.5786015, y: -0.14602073, z: 0.13865992, w: -0.7903618} - scale: {x: 0.99999934, y: 1.000001, z: 1.0000024} - - name: BackHair_01_R.001 - parentName: BackHair_01_R - position: {x: -0, y: 0.000355953, z: 0} - rotation: {x: -0.059324726, y: -0.17534946, z: 0.16651195, w: 0.96850765} - scale: {x: 1.0000029, y: 1.0000037, z: 1.0000018} - - name: BackHair_01_R.001_end - parentName: BackHair_01_R.001 - position: {x: -6.7986544e-10, y: 0.000344447, z: 1.816079e-10} - rotation: {x: -0.000000007450578, y: -0.000000014901156, z: -0.000000015832478, w: 1} - scale: {x: 1.0000002, y: 1.0000068, z: 1.0000054} - - name: BackHair_01_R.001_end_end - parentName: BackHair_01_R.001_end - position: {x: -0, y: 0.000344446, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_02_L - parentName: BobHair_Root - position: {x: -0.000408925, y: 0.000916313, z: 0.000228131} - rotation: {x: 0.57043284, y: -0.1595686, z: 0.22282045, w: -0.7742708} - scale: {x: 0.99999905, y: 1, z: 1.0000019} - - name: BackHair_02_L.001 - parentName: BackHair_02_L - position: {x: -0, y: 0.00038917002, z: 0} - rotation: {x: -0.12989461, y: 0.1688303, z: -0.17848603, w: 0.96060735} - scale: {x: 0.9999968, y: 1.0000002, z: 1.0000027} - - name: BackHair_02_L.001_end - parentName: BackHair_02_L.001 - position: {x: -2.7008354e-10, y: 0.000316598, z: 0} - rotation: {x: -0.0000000372529, y: -0.00000008940696, z: 0.00000001117587, w: 1} - scale: {x: 1.0000006, y: 1.0000031, z: 1.000003} - - name: BackHair_02_L.001_end_end - parentName: BackHair_02_L.001_end - position: {x: -0, y: 0.000316599, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_02_R - parentName: BobHair_Root - position: {x: 0.000964813, y: 0.000336024, z: 0.000122942} - rotation: {x: 0.57043254, y: -0.12926865, z: 0.05565341, w: -0.80919653} - scale: {x: 1, y: 1.0000004, z: 1.0000008} - - name: BackHair_02_R.001 - parentName: BackHair_02_R - position: {x: -2.0023434e-10, y: 0.00038917002, z: 0} - rotation: {x: -0.12989455, y: -0.16883029, z: 0.17848596, w: 0.9606074} - scale: {x: 1.0000012, y: 1.0000013, z: 0.9999989} - - name: BackHair_02_R.001_end - parentName: BackHair_02_R.001 - position: {x: 2.3283064e-10, y: 0.000316599, z: 2.0489097e-10} - rotation: {x: 0.000000044703484, y: 0.000000044703484, z: 0.000000044703484, w: 1} - scale: {x: 1.0000006, y: 1.0000057, z: 1.0000046} - - name: BackHair_02_R.001_end_end - parentName: BackHair_02_R.001_end - position: {x: -0, y: 0.000316599, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_03_L - parentName: BobHair_Root - position: {x: 0.00016324, y: 0.001022171, z: 0.00028494} - rotation: {x: 0.5793098, y: -0.15169904, z: 0.16931224, w: -0.78276485} - scale: {x: 0.9999997, y: 1.000001, z: 1.0000033} - - name: BackHair_03_L.001 - parentName: BackHair_03_L - position: {x: -0, y: 0.00039689202, z: 0} - rotation: {x: -0.2165904, y: 0.23700812, z: -0.2340245, w: 0.9176864} - scale: {x: 0.99999636, y: 1.0000008, z: 1.0000035} - - name: BackHair_03_L.001_end - parentName: BackHair_03_L.001 - position: {x: -1.4901161e-10, y: 0.00032402002, z: 0} - rotation: {x: -0.00000008940696, y: -0.00000008940696, z: -0.00000006705522, w: 1} - scale: {x: 1, y: 1.0000015, z: 1.0000015} - - name: BackHair_03_L.001_end_end - parentName: BackHair_03_L.001_end - position: {x: -0, y: 0.000324025, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: BackHair_03_R - parentName: BobHair_Root - position: {x: 0.00065358396, y: 0.000815043, z: 0.000247396} - rotation: {x: 0.57929975, y: -0.14054333, z: 0.107494764, w: -0.7956785} - scale: {x: 0.99999994, y: 1.000001, z: 1.0000029} - - name: BackHair_03_R.001 - parentName: BackHair_03_R - position: {x: -0, y: 0.00039689202, z: 0} - rotation: {x: -0.21659037, y: -0.23700792, z: 0.23402445, w: 0.91768646} - scale: {x: 1.0000011, y: 1.0000023, z: 0.999997} - - name: BackHair_03_R.001_end - parentName: BackHair_03_R.001 - position: {x: -0, y: 0.000324025, z: -1.7229468e-10} - rotation: {x: -0.0000000745058, y: -0.0000000745058, z: 0.00000007078051, w: 1} - scale: {x: 1.0000015, y: 1.0000036, z: 1.0000015} - - name: BackHair_03_R.001_end_end - parentName: BackHair_03_R.001_end - position: {x: -0, y: 0.000324025, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: FrontHair01 - parentName: BobHair_Root - position: {x: -0.000387072, y: -0.000938436, z: 0.000121943} - rotation: {x: 0.5723214, y: -0.14491755, z: 0.13981244, w: -0.7949211} - scale: {x: 0.99999976, y: 0.99999845, z: 1.0000006} - - name: FrontHair01.001 - parentName: FrontHair01 - position: {x: -0, y: 0.00037117102, z: 0} - rotation: {x: 0.15978496, y: 0.000000014901159, z: -0, w: 0.9871519} - scale: {x: 1.0000007, y: 1.000003, z: 1.000004} - - name: FrontHair01.001_end - parentName: FrontHair01.001 - position: {x: -0, y: 0.00033564, z: 1.4594034e-10} - rotation: {x: -0, y: -0, z: -0, w: 1} - scale: {x: 0.9999997, y: 1.0000012, z: 1.0000012} - - name: FrontHair01.001_end_end - parentName: FrontHair01.001_end - position: {x: -0, y: 0.00033564, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: FrontHair02 - parentName: BobHair_Root - position: {x: -0.00068343896, y: -0.000615574, z: 0.000053186002} - rotation: {x: 0.42348185, y: -0.07925455, z: -0.050907798, w: -0.900994} - scale: {x: 1.0000004, y: 0.9999996, z: 1.000001} - - name: FrontHair02.001 - parentName: FrontHair02 - position: {x: -4.4703483e-10, y: 0.00034457998, z: -1.11758706e-10} - rotation: {x: 0.14507127, y: -0.10870805, z: 0.0925335, w: 0.97906816} - scale: {x: 0.99999934, y: 0.99999857, z: 1.0000002} - - name: FrontHair02.001_end - parentName: FrontHair02.001 - position: {x: 2.6077032e-10, y: 0.000292955, z: 0.0000000010989606} - rotation: {x: 0.000000029802322, y: -0.000000052154064, z: -0.000000014901161, w: 1} - scale: {x: 1.0000002, y: 1.000002, z: 1.0000004} - - name: FrontHair02.001_end_end - parentName: FrontHair02.001_end - position: {x: -0, y: 0.000292955, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: FrontHair03 - parentName: BobHair_Root - position: {x: -0.00096436497, y: -0.000377825, z: 0.00026937} - rotation: {x: 0.55699563, y: -0.14551967, z: 0.16080034, w: -0.8017002} - scale: {x: 0.99999917, y: 1.0000025, z: 1.000004} - - name: FrontHair03.001 - parentName: FrontHair03 - position: {x: -0, y: 0.000472568, z: 0} - rotation: {x: -0.017393466, y: 0.10460004, z: -0.10529228, w: 0.98877186} - scale: {x: 0.99999833, y: 1.0000011, z: 1.000003} - - name: FrontHair03.002 - parentName: FrontHair03.001 - position: {x: -0, y: 0.00040105902, z: 0} - rotation: {x: 0.038469274, y: 0.19188592, z: -0.17654637, w: 0.9646405} - scale: {x: 0.9999918, y: 1.0000037, z: 1.0000058} - - name: FrontHair03.002_end - parentName: FrontHair03.002 - position: {x: 6.1467287e-10, y: 0.000357263, z: -2.9802322e-10} - rotation: {x: -0.000000026077032, y: -0.00000011920929, z: 0.00000007357448, w: 1} - scale: {x: 0.99999976, y: 0.99999934, z: 0.9999995} - - name: FrontHair03.002_end_end - parentName: FrontHair03.002_end - position: {x: -0, y: 0.000357263, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: SideHair01 - parentName: BobHair_Root - position: {x: -0.000858896, y: -0.000032003, z: -0.000110852} - rotation: {x: 0.5842936, y: -0.1691108, z: 0.25960594, w: -0.7500716} - scale: {x: 0.99999964, y: 1.000003, z: 1.0000043} - - name: SideHair01.001 - parentName: SideHair01 - position: {x: 2.1420418e-10, y: 0.000406562, z: 0} - rotation: {x: 0.013351349, y: 0.043246236, z: -0.0375784, w: 0.9982682} - scale: {x: 0.99999833, y: 1.0000057, z: 1.000006} - - name: SideHair01.001_end - parentName: SideHair01.001 - position: {x: 4.4703483e-10, y: 0.000366447, z: 0} - rotation: {x: -0.0000000018626449, y: 0.000000029802319, z: 0.000000012805684, w: 1} - scale: {x: 1.0000005, y: 1.0000004, z: 0.99999946} - - name: SideHair01.001_end_end - parentName: SideHair01.001_end - position: {x: -0, y: 0.000366447, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: SideHair02 - parentName: BobHair_Root - position: {x: -0.000842856, y: 0.000241263, z: -0.000022025999} - rotation: {x: 0.57536733, y: -0.14892904, z: 0.15844461, w: -0.7884592} - scale: {x: 0.99999946, y: 0.99999994, z: 1.000003} - - name: SideHair02.001 - parentName: SideHair02 - position: {x: -0, y: 0.000396438, z: 0} - rotation: {x: -0.018414106, y: 0.17425378, z: -0.16728672, w: 0.9702122} - scale: {x: 0.999997, y: 1.0000021, z: 1.0000052} - - name: SideHair02.001_end - parentName: SideHair02.001 - position: {x: -0, y: 0.000288574, z: 0} - rotation: {x: 0.000000026077023, y: 0.000000029802312, z: 0.0000000023283055, w: 1} - scale: {x: 1.0000011, y: 1.000005, z: 1.0000038} - - name: SideHair02.001_end_end - parentName: SideHair02.001_end - position: {x: -0, y: 0.000288574, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: SideHair03 - parentName: BobHair_Root - position: {x: 0.000736301, y: -0.00042792902, z: 0.000096888} - rotation: {x: 0.577229, y: -0.13224992, z: 0.064265534, w: -0.8032351} - scale: {x: 0.9999997, y: 1.0000018, z: 1.0000056} - - name: BobHair_Root.003 - parentName: SideHair03 - position: {x: -0, y: 0.0005056, z: -1.2107193e-10} - rotation: {x: -0.01255697, y: -0.12021469, z: 0.11537583, w: 0.9859408} - scale: {x: 1.0000007, y: 0.9999981, z: 0.9999966} - - name: BobHair_Root.003_end - parentName: BobHair_Root.003 - position: {x: 2.8871e-10, y: 0.00043083102, z: 0} - rotation: {x: -0.000000040978193, y: -0.000000029802322, z: -0.00000005995389, w: 1} - scale: {x: 0.9999999, y: 1.0000011, z: 1.0000001} - - name: BobHair_Root.003_end_end - parentName: BobHair_Root.003_end - position: {x: -0, y: 0.00043083102, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Neck_3 - parentName: Neck - position: {x: -0, y: 0.000000199, z: -0.000000122} - rotation: {x: -0.09767794, y: -3.60946e-10, z: -4.684266e-11, w: 0.99521804} - scale: {x: 0.99999994, y: 0.99999994, z: 1.0000018} - - name: Neck_3_end - parentName: Neck_3 - position: {x: -0, y: 0.000056238, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Neck_2 - parentName: Neck - position: {x: -0, y: -0.000006204, z: -0.000055892} - rotation: {x: -0.09767794, y: -3.60946e-10, z: -4.684266e-11, w: 0.99521804} - scale: {x: 0.99999994, y: 0.99999994, z: 1.0000018} - - name: Neck_2_end - parentName: Neck_2 - position: {x: -0, y: 0.000056238, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right shoulder - parentName: Chest - position: {x: 0.00046557648, y: 0.001378259, z: -0.00013393264} - rotation: {x: -0.46092921, y: -0.46742633, z: -0.5305777, w: 0.53623146} - scale: {x: 0.9999994, y: 1.0000019, z: 1.0000011} - - name: Right arm - parentName: Right shoulder - position: {x: 7.4505804e-11, y: 0.00025396742, z: 0} - rotation: {x: -0.011614412, y: -0.0056075454, z: 0.018702999, w: 0.9997419} - scale: {x: 1.0000018, y: 1.0000006, z: 1.0000007} - - name: Right elbow - parentName: Right arm - position: {x: 0.0000000013783574, y: 0.0018166208, z: 0} - rotation: {x: 0.005544773, y: 0.00570769, z: -0.015348942, w: 0.9998506} - scale: {x: 1.0000023, y: 1.0000039, z: 1.0000008} - - name: Right wrist - parentName: Right elbow - position: {x: 0.0000000032782554, y: 0.0018392893, z: 5.9604643e-10} - rotation: {x: 0.044065613, y: 0.04381969, z: 0.038241126, w: -0.9973343} - scale: {x: 1.0000001, y: 0.99999994, z: 1.0000014} - - name: Index_Proximal_R - parentName: Right wrist - position: {x: 0.0001518008, y: 0.0005317938, z: 0.000018271206} - rotation: {x: -0.043880437, y: -0.043955598, z: -0.035121363, w: -0.99745125} - scale: {x: 1.000003, y: 1.0000026, z: 1.000002} - - name: Index_Intermediate_R - parentName: Index_Proximal_R - position: {x: -4.842877e-10, y: 0.00019945383, z: 0} - rotation: {x: 0.000051029016, y: 0.000002574175, z: 0.014236519, w: 0.9998987} - scale: {x: 1.0000007, y: 1.000002, z: 1.0000032} - - name: Index_Distal_R - parentName: Index_Intermediate_R - position: {x: 4.4703483e-10, y: 0.00018291443, z: -0.0000000023841857} - rotation: {x: -0.000007129429, y: -0.0000067838937, z: 0.019037489, w: 0.99981874} - scale: {x: 1.0000014, y: 0.9999987, z: 1.0000004} - - name: Index_Distal_R_end_2 - parentName: Index_Distal_R - position: {x: -0, y: 0.000152136, z: -7.4706286e-10} - rotation: {x: -0.000000011404607, y: -0.0000001188955, z: 0.0000000129893, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000024} - - name: Index_Distal_R_end_2_end - parentName: Index_Distal_R_end_2 - position: {x: -0, y: 0.000152136, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_R___SHVzaF9SdXNo;;;39 - parentName: Index_Distal_R - position: {x: -0, y: 3.0808223e-10, z: -7.470631e-10} - rotation: {x: 0.0000039923775, y: 0.0000035944556, z: 0.0000000130163125, w: 1} - scale: {x: 1.0000015, y: 1.0000021, z: 1.0000012} - - name: Index_Distal_R_end_3 - parentName: Index_Distal_R___SHVzaF9SdXNo;;;39 - position: {x: -0, y: 0.000152136, z: -0.0000000012628563} - rotation: {x: -0, y: -0, z: -1.266348e-16, w: 1} - scale: {x: 1.0000008, y: 1.0000018, z: 1.0000013} - - name: Index_Distal_R_end_3_end - parentName: Index_Distal_R_end_3 - position: {x: -0, y: 0.000152134, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;39 - parentName: Index_Distal_R - position: {x: -0, y: 3.0808223e-10, z: -7.470631e-10} - rotation: {x: -0.000015611666, y: -0.000014714013, z: -0.000000029957683, w: 1} - scale: {x: 1.0000008, y: 1.000002, z: 1.0000024} - - name: Index_Distal_R_end_4_2 - parentName: Index_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;39 - position: {x: -0, y: 0.000152134, z: 9.448934e-10} - rotation: {x: -0.000000025071126, y: 0.00000003066088, z: 0.00000012293562, w: 1} - scale: {x: 1.0000027, y: 1.0000021, z: 1.0000042} - - name: Index_Distal_R_end_4_2_end - parentName: Index_Distal_R_end_4_2 - position: {x: -0, y: 0.000152134, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_R___MDRfUGlua0JsYWNr;;;39 - parentName: Index_Distal_R - position: {x: -0, y: 3.0808223e-10, z: -7.470631e-10} - rotation: {x: -0.000007763564, y: -0.0000073751844, z: 0.000000070678524, w: 1} - scale: {x: 1.0000023, y: 1.0000035, z: 1.0000042} - - name: Index_Distal_R_end_5 - parentName: Index_Distal_R___MDRfUGlua0JsYWNr;;;39 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: -0.000000029785042, y: 9.913492e-10, z: 0.000000007450813, w: 1} - scale: {x: 0.9999973, y: 0.9999977, z: 0.9999972} - - name: Index_Distal_R_end_5_end - parentName: Index_Distal_R_end_5 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Distal_R___MDNfV2hpdGU=;;;39 - parentName: Index_Distal_R - position: {x: -0, y: 3.0808223e-10, z: -7.470631e-10} - rotation: {x: -0.000007763564, y: -0.0000073751844, z: 0.000000070678524, w: 1} - scale: {x: 1.0000023, y: 1.0000035, z: 1.0000042} - - name: Index_Distal_R_end_6 - parentName: Index_Distal_R___MDNfV2hpdGU=;;;39 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: -0.000000029785042, y: 9.913492e-10, z: 0.000000007450813, w: 1} - scale: {x: 0.9999973, y: 0.9999977, z: 0.9999972} - - name: Index_Distal_R_end_6_end - parentName: Index_Distal_R_end_6 - position: {x: -0, y: 0.000152137, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_R___SHVzaF9SdXNo;;;38 - parentName: Index_Intermediate_R - position: {x: -0, y: 1.096987e-10, z: -1.6280836e-10} - rotation: {x: -0.00000003479726, y: -0.00000008891923, z: 0.000000026881553, w: 1} - scale: {x: 1.0000023, y: 1.0000005, z: 0.9999999} - - name: Index_Intermediate_R___SHVzaF9SdXNo;;;38_end - parentName: Index_Intermediate_R___SHVzaF9SdXNo;;;38 - position: {x: -0, y: 0.00018291401, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;38 - parentName: Index_Intermediate_R - position: {x: -0, y: 1.096987e-10, z: -1.6280836e-10} - rotation: {x: -0.00000003479726, y: -0.00000008891923, z: 0.000000026881553, w: 1} - scale: {x: 1.0000023, y: 1.0000005, z: 0.9999999} - - name: Index_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;38_end - parentName: Index_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;38 - position: {x: -0, y: 0.00018291401, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_R___MDRfUGlua0JsYWNr;;;38 - parentName: Index_Intermediate_R - position: {x: -0, y: 1.096987e-10, z: -1.6280836e-10} - rotation: {x: -0.00000003479726, y: -0.00000008891923, z: 0.000000026881553, w: 1} - scale: {x: 1.0000023, y: 1.0000005, z: 0.9999999} - - name: Index_Intermediate_R___MDRfUGlua0JsYWNr;;;38_end - parentName: Index_Intermediate_R___MDRfUGlua0JsYWNr;;;38 - position: {x: -0, y: 0.00018291401, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Intermediate_R___MDNfV2hpdGU=;;;38 - parentName: Index_Intermediate_R - position: {x: -0, y: 1.096987e-10, z: -1.6280836e-10} - rotation: {x: -0.00000003479726, y: -0.00000008891923, z: 0.000000026881553, w: 1} - scale: {x: 1.0000023, y: 1.0000005, z: 0.9999999} - - name: Index_Intermediate_R___MDNfV2hpdGU=;;;38_end - parentName: Index_Intermediate_R___MDNfV2hpdGU=;;;38 - position: {x: -0, y: 0.00018291401, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_R___SHVzaF9SdXNo;;;37 - parentName: Index_Proximal_R - position: {x: -0, y: 0, z: 0.0000000011606732} - rotation: {x: 0.000028889626, y: 0.00000014528632, z: -0.000000012805685, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000019} - - name: Index_Proximal_R___SHVzaF9SdXNo;;;37_end - parentName: Index_Proximal_R___SHVzaF9SdXNo;;;37 - position: {x: -0, y: 0.000199452, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;37 - parentName: Index_Proximal_R - position: {x: -0, y: 0, z: 0.0000000011606732} - rotation: {x: 0.000028889626, y: 0.00000014528632, z: -0.000000012805685, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000019} - - name: Index_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;37_end - parentName: Index_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;37 - position: {x: -0, y: 0.000199452, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_R___MDRfUGlua0JsYWNr;;;37 - parentName: Index_Proximal_R - position: {x: -0, y: 0, z: 0.0000000011606732} - rotation: {x: 0.000028889626, y: 0.00000014528632, z: -0.000000012805685, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000019} - - name: Index_Proximal_R___MDRfUGlua0JsYWNr;;;37_end - parentName: Index_Proximal_R___MDRfUGlua0JsYWNr;;;37 - position: {x: -0, y: 0.000199452, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_R___MDNfV2hpdGU=;;;37 - parentName: Index_Proximal_R - position: {x: -0, y: 0, z: 0.0000000011606732} - rotation: {x: 0.000028889626, y: 0.00000014528632, z: -0.000000012805685, w: 1} - scale: {x: 1.0000006, y: 1.0000017, z: 1.0000019} - - name: Index_Proximal_R___MDNfV2hpdGU=;;;37_end - parentName: Index_Proximal_R___MDNfV2hpdGU=;;;37 - position: {x: -0, y: 0.000199452, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Index_Proximal_R_2 - parentName: Index_Proximal_R - position: {x: -0, y: 0, z: 0.0000000011606732} - rotation: {x: 0.00004026666, y: 0.0000029988582, z: 0.00000011280643, w: 1} - scale: {x: 1.0000001, y: 1.0000008, z: 1.0000007} - - name: Index_Intermediate_R_2 - parentName: Index_Proximal_R_2 - position: {x: -0, y: 0.000199452, z: 0.0000000015392487} - rotation: {x: 0.000013905146, y: 0.000003281839, z: 0.014236371, w: 0.9998987} - scale: {x: 1.0000019, y: 1.0000014, z: 1.000001} - - name: Index_Distal_R_2 - parentName: Index_Intermediate_R_2 - position: {x: -0, y: 0.00018291401, z: 8.1857365e-10} - rotation: {x: -0.000025742023, y: -0.000024817835, z: 0.019037556, w: 0.99981874} - scale: {x: 0.9999998, y: 0.9999985, z: 0.9999997} - - name: Index_Distal_R_end_4_3 - parentName: Index_Distal_R_2 - position: {x: -0, y: 0.000152134, z: 9.455209e-10} - rotation: {x: -0.000000025069307, y: 0.00000003065542, z: 0.000000060829194, w: 1} - scale: {x: 1.0000018, y: 1.0000017, z: 1.0000026} - - name: Index_Distal_R_end_4_3_end - parentName: Index_Distal_R_end_4_3 - position: {x: -0, y: 0.000152134, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R - parentName: Right wrist - position: {x: -0.00019362762, y: 0.00045721172, z: -0.0000033986569} - rotation: {x: 0.04304763, y: 0.044814136, z: 0.015388634, w: 0.99794877} - scale: {x: 1.0000025, y: 1.000002, z: 1.0000024} - - name: Little_Intermediate_R - parentName: Little_Proximal_R - position: {x: -0, y: 0.00018589913, z: -8.9406965e-10} - rotation: {x: -0.000011410564, y: -0.0000115484, z: -0.010818402, w: 0.99994147} - scale: {x: 0.999999, y: 0.99999875, z: 1.0000002} - - name: Little_Distal_R - parentName: Little_Intermediate_R - position: {x: -2.9802322e-10, y: 0.00012601954, z: -5.9604643e-10} - rotation: {x: 0.000008984544, y: 0.000010399358, z: -0.029934958, w: 0.9995519} - scale: {x: 1.0000014, y: 1.0000027, z: 1} - - name: Little_Distal_R_end_2 - parentName: Little_Distal_R - position: {x: -0, y: 0.000130262, z: -1.2402324e-10} - rotation: {x: -0.00000005636865, y: -0.00000008059394, z: -0.00000004852149, w: 1} - scale: {x: 1.0000008, y: 1, z: 1.0000023} - - name: Little_Distal_R_end_2_end - parentName: Little_Distal_R_end_2 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_R___SHVzaF9SdXNo;;;42 - parentName: Little_Distal_R - position: {x: -1.03000275e-10, y: 1.5579645e-10, z: -1.240241e-10} - rotation: {x: 0.0000045732363, y: 0.00000515644, z: -0.000000028078185, w: 1} - scale: {x: 1.000002, y: 1.000001, z: 1.0000023} - - name: Little_Distal_R_end_3 - parentName: Little_Distal_R___SHVzaF9SdXNo;;;42 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: -0.00000011971767, y: 0.00000001002945, z: -0.00000008754508, w: 1} - scale: {x: 1.0000002, y: 0.9999997, z: 1.0000005} - - name: Little_Distal_R_end_3_end - parentName: Little_Distal_R_end_3 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;42 - parentName: Little_Distal_R - position: {x: -1.03000275e-10, y: 1.5579645e-10, z: -1.240241e-10} - rotation: {x: 0.000004423294, y: 0.000005176414, z: 0.0000048203856, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000003} - - name: Little_Distal_R_end_4_2 - parentName: Little_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;42 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: -0.000000014281792, y: -0.000000015497786, z: 0.000000014901067, w: 1} - scale: {x: 1.0000017, y: 1.0000007, z: 1.0000013} - - name: Little_Distal_R_end_4_2_end - parentName: Little_Distal_R_end_4_2 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_R___MDRfUGlua0JsYWNr;;;42 - parentName: Little_Distal_R - position: {x: -1.03000275e-10, y: 1.5579645e-10, z: -1.240241e-10} - rotation: {x: 0.0000045452794, y: 0.0000051105576, z: -0.000000035528362, w: 1} - scale: {x: 1.0000012, y: 1.0000002, z: 1.0000013} - - name: Little_Distal_R_end_5 - parentName: Little_Distal_R___MDRfUGlua0JsYWNr;;;42 - position: {x: -1.0637762e-10, y: 0.000130262, z: 0} - rotation: {x: -0.0000000142799745, y: -0.00000001549415, z: 0.000000011176004, w: 1} - scale: {x: 1.0000007, y: 1.0000013, z: 1.0000017} - - name: Little_Distal_R_end_5_end - parentName: Little_Distal_R_end_5 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Distal_R___MDNfV2hpdGU=;;;42 - parentName: Little_Distal_R - position: {x: -1.03000275e-10, y: 1.5579645e-10, z: -1.240241e-10} - rotation: {x: 0.0000045452794, y: 0.0000051105576, z: -0.000000035528362, w: 1} - scale: {x: 1.0000012, y: 1.0000002, z: 1.0000013} - - name: Little_Distal_R_end_6 - parentName: Little_Distal_R___MDNfV2hpdGU=;;;42 - position: {x: -1.0637762e-10, y: 0.000130262, z: 0} - rotation: {x: -0.0000000142799745, y: -0.00000001549415, z: 0.000000011176004, w: 1} - scale: {x: 1.0000007, y: 1.0000013, z: 1.0000017} - - name: Little_Distal_R_end_6_end - parentName: Little_Distal_R_end_6 - position: {x: -0, y: 0.000130262, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_R___SHVzaF9SdXNo;;;41 - parentName: Little_Intermediate_R - position: {x: -0, y: 0, z: 3.1743524e-10} - rotation: {x: 0.000000009222276, y: -0.0000001638191, z: -0.00000016497773, w: 1} - scale: {x: 1.0000017, y: 1.0000026, z: 0.99999905} - - name: Little_Intermediate_R___SHVzaF9SdXNo;;;41_end - parentName: Little_Intermediate_R___SHVzaF9SdXNo;;;41 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;41 - parentName: Little_Intermediate_R - position: {x: -0, y: 0, z: 3.1743524e-10} - rotation: {x: 0.000000009222276, y: -0.0000001638191, z: -0.00000016497773, w: 1} - scale: {x: 1.0000017, y: 1.0000026, z: 0.99999905} - - name: Little_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;41_end - parentName: Little_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;41 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_R___MDRfUGlua0JsYWNr;;;41 - parentName: Little_Intermediate_R - position: {x: -0, y: 0, z: 3.1743524e-10} - rotation: {x: 0.000000009222276, y: -0.0000001638191, z: -0.00000016497773, w: 1} - scale: {x: 1.0000017, y: 1.0000026, z: 0.99999905} - - name: Little_Intermediate_R___MDRfUGlua0JsYWNr;;;41_end - parentName: Little_Intermediate_R___MDRfUGlua0JsYWNr;;;41 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Intermediate_R___MDNfV2hpdGU=;;;41 - parentName: Little_Intermediate_R - position: {x: -0, y: 0, z: 3.1743524e-10} - rotation: {x: 0.000000009222276, y: -0.0000001638191, z: -0.00000016497773, w: 1} - scale: {x: 1.0000017, y: 1.0000026, z: 0.99999905} - - name: Little_Intermediate_R___MDNfV2hpdGU=;;;41_end - parentName: Little_Intermediate_R___MDNfV2hpdGU=;;;41 - position: {x: -0, y: 0.000126018, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R___SHVzaF9SdXNo;;;40 - parentName: Little_Proximal_R - position: {x: -0, y: -2.068964e-10, z: 0} - rotation: {x: -0.00000010058284, y: -0.00000012293458, z: -0.0000000038417056, w: 1} - scale: {x: 0.99999946, y: 0.9999993, z: 1.0000005} - - name: Little_Proximal_R___SHVzaF9SdXNo;;;40_end - parentName: Little_Proximal_R___SHVzaF9SdXNo;;;40 - position: {x: -0, y: 0.000185898, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;40 - parentName: Little_Proximal_R - position: {x: -0, y: -2.068964e-10, z: 0} - rotation: {x: -0.00000010058284, y: -0.00000012293458, z: -0.0000000038417056, w: 1} - scale: {x: 0.99999946, y: 0.9999993, z: 1.0000005} - - name: Little_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;40_end - parentName: Little_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;40 - position: {x: -0, y: 0.000185898, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R___MDRfUGlua0JsYWNr;;;40 - parentName: Little_Proximal_R - position: {x: -0, y: -2.068964e-10, z: 0} - rotation: {x: -0.00000010058284, y: -0.00000012293458, z: -0.0000000038417056, w: 1} - scale: {x: 0.99999946, y: 0.9999993, z: 1.0000005} - - name: Little_Proximal_R___MDRfUGlua0JsYWNr;;;40_end - parentName: Little_Proximal_R___MDRfUGlua0JsYWNr;;;40 - position: {x: -0, y: 0.000185898, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R___MDNfV2hpdGU=;;;40 - parentName: Little_Proximal_R - position: {x: -0, y: -2.068964e-10, z: 0} - rotation: {x: -0.00000010058284, y: -0.00000012293458, z: -0.0000000038417056, w: 1} - scale: {x: 0.99999946, y: 0.9999993, z: 1.0000005} - - name: Little_Proximal_R___MDNfV2hpdGU=;;;40_end - parentName: Little_Proximal_R___MDNfV2hpdGU=;;;40 - position: {x: -0, y: 0.000185898, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Little_Proximal_R_2 - parentName: Little_Proximal_R - position: {x: -0, y: -2.068964e-10, z: 0} - rotation: {x: 0.0000027976923, y: 0.0000033006065, z: -0.00000008358618, w: 1} - scale: {x: 0.9999996, y: 0.9999992, z: 1.0000014} - - name: Little_Intermediate_R_2 - parentName: Little_Proximal_R_2 - position: {x: -0, y: 0.000185898, z: -0.0000000011521363} - rotation: {x: -0.000009355584, y: -0.000010043654, z: -0.010818462, w: 0.99994147} - scale: {x: 1.0000002, y: 1.0000002, z: 0.99999917} - - name: Little_Distal_R_2 - parentName: Little_Intermediate_R_2 - position: {x: -0, y: 0.000126018, z: -5.230521e-10} - rotation: {x: 0.000009063577, y: 0.000010481649, z: -0.029924968, w: 0.9995522} - scale: {x: 1.0000035, y: 1.0000039, z: 1.0000021} - - name: Little_Distal_R_end_4_3 - parentName: Little_Distal_R_2 - position: {x: -0, y: 0.000130265, z: 0} - rotation: {x: -9.094945e-13, y: -9.094945e-13, z: -0.000000001957646, w: 1} - scale: {x: 0.9999986, y: 0.99999774, z: 1} - - name: Little_Distal_R_end_4_3_end - parentName: Little_Distal_R_end_4_3 - position: {x: -0, y: 0.000130265, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R - parentName: Right wrist - position: {x: 0.00003662318, y: 0.0005426127, z: 0.000042667984} - rotation: {x: -0.04388108, y: -0.043958273, z: -0.035126556, w: -0.9974509} - scale: {x: 1.0000025, y: 1.0000014, z: 1.000002} - - name: Middle_Intermediate_R - parentName: Middle_Proximal_R - position: {x: -5.9604643e-10, y: 0.00021856009, z: -5.9604643e-10} - rotation: {x: 0.00002392754, y: -0.0000060088933, z: -0.000005133217, w: 1} - scale: {x: 1.0000011, y: 1.0000018, z: 1.000001} - - name: Middle_Distal_R - parentName: Middle_Intermediate_R - position: {x: 8.9406965e-10, y: 0.00018481254, z: 0} - rotation: {x: -0.000020355003, y: 0.0000031663947, z: 0.000000097951926, w: 1} - scale: {x: 1.0000008, y: 1.0000017, z: 1.0000017} - - name: Middle_Distal_R_end_2 - parentName: Middle_Distal_R - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0.000000059604645, y: 0.00000005960487, z: 0.000000008614254, w: 1} - scale: {x: 1.0000004, y: 1.0000013, z: 1.0000024} - - name: Middle_Distal_R_end_2_end - parentName: Middle_Distal_R_end_2 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_R___SHVzaF9SdXNo;;;45 - parentName: Middle_Distal_R - position: {x: -0, y: 3.5505693e-10, z: 0} - rotation: {x: 0.00000003352579, y: -0.000000044703253, z: -0.00000009150218, w: 1} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000025} - - name: Middle_Distal_R_end_3 - parentName: Middle_Distal_R___SHVzaF9SdXNo;;;45 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0.000000026077021, y: 0.0000000856819, z: 0.000000037252676, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 0.9999989} - - name: Middle_Distal_R_end_3_end - parentName: Middle_Distal_R_end_3 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;45 - parentName: Middle_Distal_R - position: {x: -0, y: 3.5505693e-10, z: 0} - rotation: {x: 0.000020727528, y: -0.0000030471824, z: -0.00000004032734, w: 1} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000035} - - name: Middle_Distal_R_end_4_2 - parentName: Middle_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;45 - position: {x: -0, y: 0.000193153, z: -8.942055e-10} - rotation: {x: -0, y: -0, z: 4.2327248e-16, w: 1} - scale: {x: 1.0000013, y: 1, z: 1.0000017} - - name: Middle_Distal_R_end_4_2_end - parentName: Middle_Distal_R_end_4_2 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_R___MDRfUGlua0JsYWNr;;;45 - parentName: Middle_Distal_R - position: {x: -0, y: 3.5505693e-10, z: 0} - rotation: {x: 0.00000003352579, y: -0.000000044703253, z: -0.00000009150218, w: 1} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000025} - - name: Middle_Distal_R_end_5 - parentName: Middle_Distal_R___MDRfUGlua0JsYWNr;;;45 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0.00000005960463, y: 0.00000005587981, z: 0.000000016065298, w: 1} - scale: {x: 1.0000012, y: 1.0000008, z: 0.99999875} - - name: Middle_Distal_R_end_5_end - parentName: Middle_Distal_R_end_5 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Distal_R___MDNfV2hpdGU=;;;45 - parentName: Middle_Distal_R - position: {x: -0, y: 3.5505693e-10, z: 0} - rotation: {x: 0.00000003352579, y: -0.000000044703253, z: -0.00000009150218, w: 1} - scale: {x: 1.0000013, y: 1.0000017, z: 1.0000025} - - name: Middle_Distal_R_end_6 - parentName: Middle_Distal_R___MDNfV2hpdGU=;;;45 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0.00000005960463, y: 0.00000005587981, z: 0.000000016065298, w: 1} - scale: {x: 1.0000012, y: 1.0000008, z: 0.99999875} - - name: Middle_Distal_R_end_6_end - parentName: Middle_Distal_R_end_6 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_R___SHVzaF9SdXNo;;;44 - parentName: Middle_Intermediate_R - position: {x: -0, y: 2.3202801e-10, z: -6.1221855e-10} - rotation: {x: 0.00000007450216, y: -0.00000008568076, z: -0.000000018973568, w: 1} - scale: {x: 1.0000013, y: 1.0000014, z: 1.0000026} - - name: Middle_Intermediate_R___SHVzaF9SdXNo;;;44_end - parentName: Middle_Intermediate_R___SHVzaF9SdXNo;;;44 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;44 - parentName: Middle_Intermediate_R - position: {x: -0, y: 2.3202801e-10, z: -6.1221855e-10} - rotation: {x: 0.00000007450216, y: -0.00000008568076, z: -0.000000018973568, w: 1} - scale: {x: 1.0000013, y: 1.0000014, z: 1.0000026} - - name: Middle_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;44_end - parentName: Middle_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;44 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_R___MDRfUGlua0JsYWNr;;;44 - parentName: Middle_Intermediate_R - position: {x: -0, y: 2.3202801e-10, z: -6.1221855e-10} - rotation: {x: 0.00000007450216, y: -0.00000008568076, z: -0.000000018973568, w: 1} - scale: {x: 1.0000013, y: 1.0000014, z: 1.0000026} - - name: Middle_Intermediate_R___MDRfUGlua0JsYWNr;;;44_end - parentName: Middle_Intermediate_R___MDRfUGlua0JsYWNr;;;44 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Intermediate_R___MDNfV2hpdGU=;;;44 - parentName: Middle_Intermediate_R - position: {x: -0, y: 2.3202801e-10, z: -6.1221855e-10} - rotation: {x: 0.00000007450216, y: -0.00000008568076, z: -0.000000018973568, w: 1} - scale: {x: 1.0000013, y: 1.0000014, z: 1.0000026} - - name: Middle_Intermediate_R___MDNfV2hpdGU=;;;44_end - parentName: Middle_Intermediate_R___MDNfV2hpdGU=;;;44 - position: {x: -0, y: 0.000184812, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R___SHVzaF9SdXNo;;;43 - parentName: Middle_Proximal_R - position: {x: -0, y: -1.0153826e-10, z: -2.107432e-10} - rotation: {x: 0.000027518712, y: -0.00000006332992, z: -0.000000103376784, w: 1} - scale: {x: 1.0000002, y: 1.0000012, z: 1.0000015} - - name: Middle_Proximal_R___SHVzaF9SdXNo;;;43_end - parentName: Middle_Proximal_R___SHVzaF9SdXNo;;;43 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;43 - parentName: Middle_Proximal_R - position: {x: -0, y: -1.0153826e-10, z: -2.107432e-10} - rotation: {x: 0.000027518712, y: -0.00000006332992, z: -0.000000103376784, w: 1} - scale: {x: 1.0000002, y: 1.0000012, z: 1.0000015} - - name: Middle_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;43_end - parentName: Middle_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;43 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R___MDRfUGlua0JsYWNr;;;43 - parentName: Middle_Proximal_R - position: {x: -0, y: -1.0153826e-10, z: -2.107432e-10} - rotation: {x: 0.000027518712, y: -0.00000006332992, z: -0.000000103376784, w: 1} - scale: {x: 1.0000002, y: 1.0000012, z: 1.0000015} - - name: Middle_Proximal_R___MDRfUGlua0JsYWNr;;;43_end - parentName: Middle_Proximal_R___MDRfUGlua0JsYWNr;;;43 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R___MDNfV2hpdGU=;;;43 - parentName: Middle_Proximal_R - position: {x: -0, y: -1.0153826e-10, z: -2.107432e-10} - rotation: {x: 0.000027518712, y: -0.00000006332992, z: -0.000000103376784, w: 1} - scale: {x: 1.0000002, y: 1.0000012, z: 1.0000015} - - name: Middle_Proximal_R___MDNfV2hpdGU=;;;43_end - parentName: Middle_Proximal_R___MDNfV2hpdGU=;;;43 - position: {x: -0, y: 0.000218559, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Middle_Proximal_R_2 - parentName: Middle_Proximal_R - position: {x: -0, y: -1.0153826e-10, z: -2.107432e-10} - rotation: {x: 0.000029101964, y: 0.0000024996696, z: -0.0000050852536, w: 1} - scale: {x: 0.9999999, y: 1.0000012, z: 1.0000015} - - name: Middle_Intermediate_R_2 - parentName: Middle_Proximal_R_2 - position: {x: -0, y: 0.00021856, z: 6.091054e-10} - rotation: {x: -0.000025633692, y: -0.0000053496474, z: -0.000000016788643, w: 1} - scale: {x: 1.0000035, y: 1.000003, z: 1.0000008} - - name: Middle_Distal_R_2 - parentName: Middle_Intermediate_R_2 - position: {x: -0, y: 0.000184812, z: 0.0000000011854823} - rotation: {x: 0.000018954303, y: -0.000006079575, z: 0.000000020573403, w: 1} - scale: {x: 1.0000045, y: 1.0000052, z: 1.0000042} - - name: Middle_Distal_R_end_4_3 - parentName: Middle_Distal_R_2 - position: {x: -0, y: 0.000193153, z: 0.0000000017946442} - rotation: {x: 0.00000005587934, y: -0.000000044703473, z: 0.0000000057051683, w: 1} - scale: {x: 1.000003, y: 1.0000031, z: 1.0000021} - - name: Middle_Distal_R_end_4_3_end - parentName: Middle_Distal_R_end_4_3 - position: {x: -0, y: 0.000193153, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R - parentName: Right wrist - position: {x: -0.00008526534, y: 0.00051128207, z: 0.000024867057} - rotation: {x: 0.04325136, y: 0.04461788, z: 0.019931996, w: 0.9978684} - scale: {x: 1.0000038, y: 1.000003, z: 1.0000031} - - name: Ring_Intermediate_R - parentName: Ring_Proximal_R - position: {x: -2.9802322e-10, y: 0.00019717455, z: -5.9604643e-10} - rotation: {x: -0.0000038817516, y: -0.0000038072458, z: -0.0077305017, w: 0.9999702} - scale: {x: 1.0000027, y: 1.0000015, z: 1.0000025} - - name: Ring_Distal_R - parentName: Ring_Intermediate_R - position: {x: 5.9604643e-10, y: 0.00018007979, z: 0.0000000011920929} - rotation: {x: 0.000003180503, y: 0.0000031789361, z: -0.002607892, w: 0.99999666} - scale: {x: 1.0000012, y: 1.000002, z: 1.0000011} - - name: Ring_Distal_R_end_2 - parentName: Ring_Distal_R - position: {x: -0, y: 0.000170379, z: -1.7820485e-10} - rotation: {x: -0.000000029492632, y: -0.000000030108815, z: 0.000000027929655, w: 1} - scale: {x: 1.0000006, y: 1.0000008, z: 1.0000011} - - name: Ring_Distal_R_end_2_end - parentName: Ring_Distal_R_end_2 - position: {x: -0, y: 0.000170379, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_R___SHVzaF9SdXNo;;;48 - parentName: Ring_Distal_R - position: {x: -0, y: -5.596439e-10, z: -1.7820631e-10} - rotation: {x: 0.000003381467, y: 0.00000372692, z: 0.00000015550889, w: 1} - scale: {x: 1.0000001, y: 1, z: 1.0000008} - - name: Ring_Distal_R_end_3 - parentName: Ring_Distal_R___SHVzaF9SdXNo;;;48 - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: -0, y: -0, z: 2.5673901e-15, w: 1} - scale: {x: 1.0000031, y: 1.0000018, z: 1.0000026} - - name: Ring_Distal_R_end_3_end - parentName: Ring_Distal_R_end_3 - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;48 - parentName: Ring_Distal_R - position: {x: -0, y: -5.596439e-10, z: -1.7820631e-10} - rotation: {x: 0.000006894159, y: 0.0000073732353, z: 0.0000001797117, w: 1} - scale: {x: 1.000001, y: 1.000001, z: 1.0000008} - - name: Ring_Distal_R_end_4_2 - parentName: Ring_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;48 - position: {x: -0, y: 0.00017038001, z: 2.2284936e-10} - rotation: {x: -0.000000014785652, y: -0.000000011328663, z: 0.000000015832487, w: 1} - scale: {x: 1.0000017, y: 1.0000007, z: 1.0000013} - - name: Ring_Distal_R_end_4_2_end - parentName: Ring_Distal_R_end_4_2 - position: {x: -0, y: 0.00017038001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_R___MDRfUGlua0JsYWNr;;;48 - parentName: Ring_Distal_R - position: {x: -0, y: -5.596439e-10, z: -1.7820631e-10} - rotation: {x: 0.00000689412, y: 0.0000073769615, z: 0.00000012010707, w: 1} - scale: {x: 1.000001, y: 1.000001, z: 1.0000021} - - name: Ring_Distal_R_end_5 - parentName: Ring_Distal_R___MDRfUGlua0JsYWNr;;;48 - position: {x: -0, y: 0.00017037701, z: 2.2209228e-10} - rotation: {x: 0.00000010841401, y: -0.00000003613603, z: -0.00000011850961, w: 1} - scale: {x: 1.000001, y: 1, z: 0.99999857} - - name: Ring_Distal_R_end_5_end - parentName: Ring_Distal_R_end_5 - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Distal_R___MDNfV2hpdGU=;;;48 - parentName: Ring_Distal_R - position: {x: -0, y: -5.596439e-10, z: -1.7820631e-10} - rotation: {x: 0.00000689412, y: 0.0000073769615, z: 0.00000012010707, w: 1} - scale: {x: 1.000001, y: 1.000001, z: 1.0000021} - - name: Ring_Distal_R_end_6 - parentName: Ring_Distal_R___MDNfV2hpdGU=;;;48 - position: {x: -0, y: 0.00017037701, z: 2.2209228e-10} - rotation: {x: 0.00000010841401, y: -0.00000003613603, z: -0.00000011850961, w: 1} - scale: {x: 1.000001, y: 1, z: 0.99999857} - - name: Ring_Distal_R_end_6_end - parentName: Ring_Distal_R_end_6 - position: {x: -0, y: 0.00017037701, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_R___SHVzaF9SdXNo;;;47 - parentName: Ring_Intermediate_R - position: {x: -0, y: 1.1745215e-10, z: 0.0000000010057654} - rotation: {x: -0, y: -0, z: -1.477878e-11, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000023} - - name: Ring_Intermediate_R___SHVzaF9SdXNo;;;47_end - parentName: Ring_Intermediate_R___SHVzaF9SdXNo;;;47 - position: {x: -0, y: 0.00018007601, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;47 - parentName: Ring_Intermediate_R - position: {x: -0, y: 1.1745215e-10, z: 0.0000000010057654} - rotation: {x: -0, y: -0, z: -1.477878e-11, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000023} - - name: Ring_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;47_end - parentName: Ring_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;47 - position: {x: -0, y: 0.00018007601, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_R___MDRfUGlua0JsYWNr;;;47 - parentName: Ring_Intermediate_R - position: {x: -0, y: 1.1745215e-10, z: 0.0000000010057654} - rotation: {x: -0, y: -0, z: -1.477878e-11, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000023} - - name: Ring_Intermediate_R___MDRfUGlua0JsYWNr;;;47_end - parentName: Ring_Intermediate_R___MDRfUGlua0JsYWNr;;;47 - position: {x: -0, y: 0.00018007601, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Intermediate_R___MDNfV2hpdGU=;;;47 - parentName: Ring_Intermediate_R - position: {x: -0, y: 1.1745215e-10, z: 0.0000000010057654} - rotation: {x: -0, y: -0, z: -1.477878e-11, w: 1} - scale: {x: 1.0000006, y: 1.0000011, z: 1.0000023} - - name: Ring_Intermediate_R___MDNfV2hpdGU=;;;47_end - parentName: Ring_Intermediate_R___MDNfV2hpdGU=;;;47 - position: {x: -0, y: 0.00018007601, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R___SHVzaF9SdXNo;;;46 - parentName: Ring_Proximal_R - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00000013783573, y: -0.00000014156102, z: 0.00000013865063, w: 1} - scale: {x: 1.000002, y: 1.0000017, z: 1.0000004} - - name: Ring_Proximal_R___SHVzaF9SdXNo;;;46_end - parentName: Ring_Proximal_R___SHVzaF9SdXNo;;;46 - position: {x: -0, y: 0.000197173, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;46 - parentName: Ring_Proximal_R - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00000013783573, y: -0.00000014156102, z: 0.00000013865063, w: 1} - scale: {x: 1.000002, y: 1.0000017, z: 1.0000004} - - name: Ring_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;46_end - parentName: Ring_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;46 - position: {x: -0, y: 0.000197173, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R___MDRfUGlua0JsYWNr;;;46 - parentName: Ring_Proximal_R - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00000013783573, y: -0.00000014156102, z: 0.00000013865063, w: 1} - scale: {x: 1.000002, y: 1.0000017, z: 1.0000004} - - name: Ring_Proximal_R___MDRfUGlua0JsYWNr;;;46_end - parentName: Ring_Proximal_R___MDRfUGlua0JsYWNr;;;46 - position: {x: -0, y: 0.000197173, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R___MDNfV2hpdGU=;;;46 - parentName: Ring_Proximal_R - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.00000013783573, y: -0.00000014156102, z: 0.00000013865063, w: 1} - scale: {x: 1.000002, y: 1.0000017, z: 1.0000004} - - name: Ring_Proximal_R___MDNfV2hpdGU=;;;46_end - parentName: Ring_Proximal_R___MDNfV2hpdGU=;;;46 - position: {x: -0, y: 0.000197173, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Ring_Proximal_R_2 - parentName: Ring_Proximal_R - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.000005893408, y: 0.000006102024, z: -0.00000479631, w: 1} - scale: {x: 1.0000005, y: 0.99999976, z: 1.0000002} - - name: Ring_Intermediate_R_2 - parentName: Ring_Proximal_R_2 - position: {x: -0, y: 0.000197174, z: 1.31304e-10} - rotation: {x: -0.000016433283, y: -0.000016913538, z: -0.0077256802, w: 0.99997014} - scale: {x: 0.9999985, y: 0.9999992, z: 0.9999982} - - name: Ring_Distal_R_2 - parentName: Ring_Intermediate_R_2 - position: {x: -0, y: 0.00018007601, z: -3.2501318e-10} - rotation: {x: 0.000016697062, y: 0.000017591534, z: -0.0026077675, w: 0.99999666} - scale: {x: 1.0000033, y: 1.000003, z: 1.0000045} - - name: Ring_Distal_R_end_4_3 - parentName: Ring_Distal_R_2 - position: {x: -0, y: 0.00017038001, z: 2.2273684e-10} - rotation: {x: 0.000000015323165, y: -0.000000040823576, z: 0.000000046505907, w: 1} - scale: {x: 1.0000018, y: 1.000001, z: 1.0000001} - - name: Ring_Distal_R_end_4_3_end - parentName: Ring_Distal_R_end_4_3 - position: {x: -0, y: 0.00017038001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R - parentName: Right wrist - position: {x: 0.0000904718, y: 0.00017549812, z: -0.00008240998} - rotation: {x: -0.11584611, y: -0.1284372, z: -0.34289232, w: 0.9233138} - scale: {x: 1.0000036, y: 1.0000027, z: 1.000002} - - name: Thumb_Intermediate_R - parentName: Thumb_Proximal_R - position: {x: 0.0000000011920929, y: 0.00020116984, z: -0.0000000011920929} - rotation: {x: 0.013221635, y: 0.094413154, z: 0.028663434, w: 0.9950326} - scale: {x: 1.0000048, y: 0.99999565, z: 1.0000031} - - name: Thumb_Distal_R - parentName: Thumb_Intermediate_R - position: {x: 0.0000000011920929, y: 0.00020206271, z: 0.0000000011920929} - rotation: {x: 0.02086136, y: 0.030084796, z: -0.014794392, w: 0.9992202} - scale: {x: 1.000004, y: 1.0000051, z: 1.0000033} - - name: Thumb_Distal_R_end_2 - parentName: Thumb_Distal_R - position: {x: -0, y: 0.000157325, z: -0.0000000011199154} - rotation: {x: -0.000000016763803, y: 0.000000057741985, z: 0.00000006781191, w: 1} - scale: {x: 1, y: 1, z: 0.9999992} - - name: Thumb_Distal_R_end_2_end - parentName: Thumb_Distal_R_end_2 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_R___SHVzaF9SdXNo;;;51 - parentName: Thumb_Distal_R - position: {x: -0, y: 0, z: -6.61239e-10} - rotation: {x: 0.00001104362, y: -0.000007612629, z: 0.000000615022, w: 1} - scale: {x: 1.0000006, y: 1.0000005, z: 1.0000006} - - name: Thumb_Distal_R_end_3 - parentName: Thumb_Distal_R___SHVzaF9SdXNo;;;51 - position: {x: -0, y: 0.000157325, z: 3.5157427e-10} - rotation: {x: -0, y: -0, z: -4.0939463e-16, w: 1} - scale: {x: 1.0000004, y: 1.0000004, z: 1.0000011} - - name: Thumb_Distal_R_end_3_end - parentName: Thumb_Distal_R_end_3 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;51 - parentName: Thumb_Distal_R - position: {x: -0, y: 0, z: -6.61239e-10} - rotation: {x: -0.000004138797, y: -0.000014565883, z: -0.000008257163, w: 1} - scale: {x: 1.0000001, y: 1.0000008, z: 1.000001} - - name: Thumb_Distal_R_end_4_2 - parentName: Thumb_Distal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;51 - position: {x: -0, y: 0.000157325, z: -0.000000001497101} - rotation: {x: -0, y: -0, z: -2.5859173e-13, w: 1} - scale: {x: 0.9999996, y: 0.9999999, z: 1.0000013} - - name: Thumb_Distal_R_end_4_2_end - parentName: Thumb_Distal_R_end_4_2 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_R___MDRfUGlua0JsYWNr;;;51 - parentName: Thumb_Distal_R - position: {x: -0, y: 0, z: -6.61239e-10} - rotation: {x: 0.000010995192, y: -0.000007687135, z: 0.0000005486071, w: 1} - scale: {x: 1.0000013, y: 1.0000011, z: 1.0000004} - - name: Thumb_Distal_R_end_5 - parentName: Thumb_Distal_R___MDRfUGlua0JsYWNr;;;51 - position: {x: -1.1874363e-10, y: 0.000157328, z: -3.4691766e-10} - rotation: {x: -0.0000000018626447, y: 9.094945e-13, z: 0.000000045634792, w: 1} - scale: {x: 1.0000017, y: 1.0000011, z: 1.0000019} - - name: Thumb_Distal_R_end_5_end - parentName: Thumb_Distal_R_end_5 - position: {x: -0, y: 0.000157328, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Distal_R___MDNfV2hpdGU=;;;51 - parentName: Thumb_Distal_R - position: {x: -0, y: 0, z: -6.61239e-10} - rotation: {x: 0.000010995192, y: -0.000007687135, z: 0.0000005486071, w: 1} - scale: {x: 1.0000013, y: 1.0000011, z: 1.0000004} - - name: Thumb_Distal_R_end_6 - parentName: Thumb_Distal_R___MDNfV2hpdGU=;;;51 - position: {x: -1.1874363e-10, y: 0.000157328, z: -3.4691766e-10} - rotation: {x: -0.0000000018626447, y: 9.094945e-13, z: 0.000000045634792, w: 1} - scale: {x: 1.0000017, y: 1.0000011, z: 1.0000019} - - name: Thumb_Distal_R_end_6_end - parentName: Thumb_Distal_R_end_6 - position: {x: -0, y: 0.000157328, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_R___SHVzaF9SdXNo;;;50 - parentName: Thumb_Intermediate_R - position: {x: -0, y: 0, z: 9.965151e-10} - rotation: {x: 0.000000111758695, y: -0.00000009685753, z: 0.00000005681067, w: 1} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000008} - - name: Thumb_Intermediate_R___SHVzaF9SdXNo;;;50_end - parentName: Thumb_Intermediate_R___SHVzaF9SdXNo;;;50 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;50 - parentName: Thumb_Intermediate_R - position: {x: -0, y: 0, z: 9.965151e-10} - rotation: {x: 0.000000111758695, y: -0.00000009685753, z: 0.00000005681067, w: 1} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000008} - - name: Thumb_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;50_end - parentName: Thumb_Intermediate_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;50 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_R___MDRfUGlua0JsYWNr;;;50 - parentName: Thumb_Intermediate_R - position: {x: -0, y: 0, z: 9.965151e-10} - rotation: {x: 0.000000111758695, y: -0.00000009685753, z: 0.00000005681067, w: 1} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000008} - - name: Thumb_Intermediate_R___MDRfUGlua0JsYWNr;;;50_end - parentName: Thumb_Intermediate_R___MDRfUGlua0JsYWNr;;;50 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Intermediate_R___MDNfV2hpdGU=;;;50 - parentName: Thumb_Intermediate_R - position: {x: -0, y: 0, z: 9.965151e-10} - rotation: {x: 0.000000111758695, y: -0.00000009685753, z: 0.00000005681067, w: 1} - scale: {x: 1.0000006, y: 1.000002, z: 1.0000008} - - name: Thumb_Intermediate_R___MDNfV2hpdGU=;;;50_end - parentName: Thumb_Intermediate_R___MDNfV2hpdGU=;;;50 - position: {x: -0, y: 0.00020206001, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R___SHVzaF9SdXNo;;;49 - parentName: Thumb_Proximal_R - position: {x: -1.44355e-10, y: -3.5855918e-10, z: 0} - rotation: {x: -0, y: -0, z: -0.0000000074505797, w: 1} - scale: {x: 1.000002, y: 1.0000005, z: 1.0000015} - - name: Thumb_Proximal_R___SHVzaF9SdXNo;;;49_end - parentName: Thumb_Proximal_R___SHVzaF9SdXNo;;;49 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;49 - parentName: Thumb_Proximal_R - position: {x: -1.44355e-10, y: -3.5855918e-10, z: 0} - rotation: {x: -0, y: -0, z: -0.0000000074505797, w: 1} - scale: {x: 1.000002, y: 1.0000005, z: 1.0000015} - - name: Thumb_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;49_end - parentName: Thumb_Proximal_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;49 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R___MDRfUGlua0JsYWNr;;;49 - parentName: Thumb_Proximal_R - position: {x: -1.44355e-10, y: -3.5855918e-10, z: 0} - rotation: {x: -0, y: -0, z: -0.0000000074505797, w: 1} - scale: {x: 1.000002, y: 1.0000005, z: 1.0000015} - - name: Thumb_Proximal_R___MDRfUGlua0JsYWNr;;;49_end - parentName: Thumb_Proximal_R___MDRfUGlua0JsYWNr;;;49 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R___MDNfV2hpdGU=;;;49 - parentName: Thumb_Proximal_R - position: {x: -1.44355e-10, y: -3.5855918e-10, z: 0} - rotation: {x: -0, y: -0, z: -0.0000000074505797, w: 1} - scale: {x: 1.000002, y: 1.0000005, z: 1.0000015} - - name: Thumb_Proximal_R___MDNfV2hpdGU=;;;49_end - parentName: Thumb_Proximal_R___MDNfV2hpdGU=;;;49 - position: {x: -0, y: 0.000201168, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Thumb_Proximal_R_2 - parentName: Thumb_Proximal_R - position: {x: -1.44355e-10, y: -3.5855918e-10, z: 0} - rotation: {x: 0.0000020116565, y: 0.000002004206, z: 0.0000036284323, w: 1} - scale: {x: 1.0000017, y: 1.0000005, z: 1.000001} - - name: Thumb_Intermediate_R_2 - parentName: Thumb_Proximal_R_2 - position: {x: -2.4214386e-10, y: 0.000201168, z: 0} - rotation: {x: 0.09849923, y: 0.0918093, z: 0.2135574, w: 0.9676065} - scale: {x: 1.0000049, y: 0.99999636, z: 1.0000036} - - name: Thumb_Distal_R_2 - parentName: Thumb_Intermediate_R_2 - position: {x: -0, y: 0.00020206001, z: -3.7951395e-10} - rotation: {x: 0.020859336, y: 0.030078392, z: -0.014803894, w: 0.99922025} - scale: {x: 1.0000044, y: 1.0000031, z: 1.0000033} - - name: Thumb_Distal_R_end_4_3 - parentName: Thumb_Distal_R_2 - position: {x: 1.0593794e-10, y: 0.000157325, z: 0} - rotation: {x: 0.00000021792945, y: -0.0000000018626449, z: -0.000000013969837, w: 1} - scale: {x: 1.0000001, y: 1.0000004, z: 1.0000007} - - name: Thumb_Distal_R_end_4_3_end - parentName: Thumb_Distal_R_end_4_3 - position: {x: -0, y: 0.000157325, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right wrist_2 - parentName: Right wrist - position: {x: -0, y: 1.0273652e-10, z: -0.000000001051958} - rotation: {x: 0.00000007823109, y: 0.00000008940696, z: -0.000000015599651, w: 1} - scale: {x: 1.0000019, y: 1.0000013, z: 1.0000019} - - name: Right wrist_2_end - parentName: Right wrist_2 - position: {x: -0, y: 0.00021395201, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R - parentName: Right elbow - position: {x: -0.0000041509998, y: 0.001839289, z: 0.000000061} - rotation: {x: 0.000007892492, y: 0.000007469206, z: 0.00057006016, w: 0.9999998} - scale: {x: 0.99999964, y: 0.9999984, z: 0.9999998} - - name: Twist wrist_R___SHVzaF9SdXNo;;;112 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0, y: -0, z: -7.4299583e-13, w: 1} - scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001} - - name: Twist wrist_R___SHVzaF9SdXNo;;;112_end - parentName: Twist wrist_R___SHVzaF9SdXNo;;;112 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;112 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0, y: -0, z: -7.4299583e-13, w: 1} - scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001} - - name: Twist wrist_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;112_end - parentName: Twist wrist_R___44GC44GP44G+44Gh44KD44KTam9vaW4=;;;112 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R___Rm9yIEFpcmk=;;;112 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0.021817513, y: -0.021765418, z: 0.99918914, w: -0.025911082} - scale: {x: 1.0000027, y: 0.99999833, z: 1.000003} - - name: Bracelet.000 - parentName: Twist wrist_R___Rm9yIEFpcmk=;;;112 - position: {x: -0, y: 0.000194431, z: -2.1540472e-10} - rotation: {x: -0.00000004039612, y: 0.000000047090005, z: -0.000000059400925, w: 1} - scale: {x: 1.0000017, y: 1.0000033, z: 1.000003} - - name: Bracelet.000_end - parentName: Bracelet.000 - position: {x: -0, y: 0.000194431, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R___MDRfUGlua0JsYWNr;;;112 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0, y: -0, z: -7.4299583e-13, w: 1} - scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001} - - name: Twist wrist_R___MDRfUGlua0JsYWNr;;;112_end - parentName: Twist wrist_R___MDRfUGlua0JsYWNr;;;112 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R___MDNfV2hpdGU=;;;112 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0, y: -0, z: -7.4299583e-13, w: 1} - scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001} - - name: Twist wrist_R___MDNfV2hpdGU=;;;112_end - parentName: Twist wrist_R___MDNfV2hpdGU=;;;112 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist wrist_R_3 - parentName: Twist wrist_R - position: {x: -0, y: -6.045593e-10, z: 0.0000000012349674} - rotation: {x: -0, y: -0, z: -7.4299583e-13, w: 1} - scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001} - - name: Twist wrist_R_3_end - parentName: Twist wrist_R_3 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right elbow_2 - parentName: Right elbow - position: {x: -0, y: 0, z: 4.481388e-10} - rotation: {x: 0.000007892492, y: 0.000007469206, z: 0.00057006016, w: 0.9999998} - scale: {x: 0.99999964, y: 0.9999984, z: 0.9999998} - - name: Right elbow_2_end - parentName: Right elbow_2 - position: {x: -0, y: 0.001839292, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist elbow_R_2 - parentName: Right arm - position: {x: -0.000006755, y: 0.001816906, z: 0.000000141} - rotation: {x: 0.0057921335, y: -0.005939588, z: 0.018602395, w: -0.9997925} - scale: {x: 1.0000024, y: 1.0000029, z: 1.0000011} - - name: Twist elbow_R_end_2 - parentName: Twist elbow_R_2 - position: {x: -0, y: 0.000220627, z: -6.6341715e-10} - rotation: {x: 0.0013800571, y: 0.000000117812306, z: 0.00000007157723, w: 0.99999905} - scale: {x: 0.9999983, y: 0.99999964, z: 0.99999994} - - name: Twist elbow_R_end_2_end - parentName: Twist elbow_R_end_2 - position: {x: -0, y: 0.000220627, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Twist elbow_R_4_3 - parentName: Twist elbow_R_2 - position: {x: -0, y: 0, z: -6.6354905e-10} - rotation: {x: 0.011319999, y: -0.0000025499612, z: 0.00000007073322, w: 0.9999359} - scale: {x: 0.9999983, y: 0.9999995, z: 0.9999999} - - name: Twist elbow_R_end_4_3 - parentName: Twist elbow_R_4_3 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: -0.000000058673326, y: -0.000000044933817, z: -0.000000061209796, w: 1} - scale: {x: 1.0000005, y: 1.0000008, z: 0.9999998} - - name: Twist elbow_R_end_4_3_end - parentName: Twist elbow_R_end_4_3 - position: {x: -0, y: 0.000220624, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right arm_2 - parentName: Right arm - position: {x: -0, y: -3.6350684e-10, z: -2.940942e-10} - rotation: {x: 0.13963246, y: 0.13257955, z: 0.19968808, w: 0.960755} - scale: {x: 1.0000011, y: 1.0000025, z: 1.0000006} - - name: Himo.R_2 - parentName: Right arm_2 - position: {x: -0, y: 0.00073976704, z: -2.6542693e-10} - rotation: {x: -0.184863, y: -0.00091841805, z: 0.51989716, w: 0.8339855} - scale: {x: 0.9999977, y: 1.000005, z: 1.000003} - - name: Himo.R.001_2 - parentName: Himo.R_2 - position: {x: 1.01344495e-10, y: 0.000438955, z: 6.8179856e-10} - rotation: {x: 0.0045605297, y: -0.9828611, z: 0.0008552073, w: 0.18428914} - scale: {x: 1.0000036, y: 0.9999994, z: 0.9999989} - - name: Himo.R.002_2 - parentName: Himo.R.001_2 - position: {x: 4.0312342e-10, y: 0.000943963, z: -7.636234e-10} - rotation: {x: 0.0000033945253, y: 0.26527482, z: 0.0000004861504, w: -0.96417284} - scale: {x: 1.0000045, y: 1.0000011, z: 0.99999577} - - name: Himo.R_3 - parentName: Himo.R.002_2 - position: {x: 3.584121e-10, y: 0.000943963, z: -3.370121e-10} - rotation: {x: -0.000004355818, y: -0.05811467, z: 0.0000004547208, w: -0.9983099} - scale: {x: 0.99999756, y: 0.999997, z: 0.99999917} - - name: Himo.R.004_2 - parentName: Himo.R_3 - position: {x: -0, y: 0.001257669, z: -8.7700186e-10} - rotation: {x: -0.0000013479527, y: 0.37440714, z: -0.0000005442334, w: 0.9272644} - scale: {x: 0.9999963, y: 0.9999993, z: 0.9999986} - - name: Himo.R.005_2 - parentName: Himo.R.004_2 - position: {x: 1.3291725e-10, y: 0.001380085, z: 4.1936402e-10} - rotation: {x: 0.0000025967424, y: 0.543104, z: 0.00000023569913, w: -0.8396654} - scale: {x: 0.9999918, y: 0.9999998, z: 1.0000063} - - name: Himo.R.006_2 - parentName: Himo.R.005_2 - position: {x: -5.0143284e-10, y: 0.0013355841, z: -0.0000000010378266} - rotation: {x: -0.0000039603296, y: 0.14291231, z: 0.0000014361985, w: -0.98973536} - scale: {x: 1.0000029, y: 1.0000008, z: 1.0000002} - - name: Himo.R.006_end_2 - parentName: Himo.R.006_2 - position: {x: -9.490009e-10, y: 0.00048709, z: 6.233608e-10} - rotation: {x: -0, y: -0, z: 1.1368685e-13, w: 1} - scale: {x: 1.0000031, y: 1.0000027, z: 1.0000024} - - name: Himo.R.006_end_2_end - parentName: Himo.R.006_end_2 - position: {x: -0, y: 0.000487095, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: UpperArm_R_2 - parentName: Right arm - position: {x: -0.000034451, y: 0.000034062, z: -0.0000049} - rotation: {x: 0.15306176, y: 0.1455633, z: 0.18821858, w: 0.959144} - scale: {x: 1.0000018, y: 1.0000036, z: 1.0000011} - - name: Himo.R - parentName: UpperArm_R_2 - position: {x: -0, y: 0.000700436, z: -7.636845e-10} - rotation: {x: -0.20355526, y: -0.0009471178, z: 0.5271827, w: 0.8250108} - scale: {x: 0.999998, y: 1.0000025, z: 1.0000019} - - name: Himo.R.001_3 - parentName: Himo.R - position: {x: -0, y: 0.00043901202, z: 0} - rotation: {x: 0.004635908, y: -0.99912393, z: 0.00019484758, w: 0.041591816} - scale: {x: 1.0000031, y: 1.0000015, z: 1.0000008} - - name: Himo.R.002_3 - parentName: Himo.R.001_3 - position: {x: -0, y: 0.000944086, z: -4.5327508e-10} - rotation: {x: 0.0000037941495, y: 0.16519676, z: -0.00000053877005, w: -0.9862607} - scale: {x: 1.0000007, y: 1.0000007, z: 1.0000025} - - name: Himo.R.003 - parentName: Himo.R.002_3 - position: {x: -0, y: 0.00094408396, z: 0} - rotation: {x: -0.0000038425187, y: -0.1240311, z: 0.0000005479932, w: -0.99227834} - scale: {x: 1.0000018, y: 1.0000001, z: 0.99999905} - - name: Himo.R.004_3 - parentName: Himo.R.003 - position: {x: -0, y: 0.001257832, z: 2.1409163e-10} - rotation: {x: -0.0000002585727, y: 0.12403494, z: -0.00000005975731, w: 0.9922779} - scale: {x: 1.0000062, y: 1.0000026, z: 1.0000027} - - name: Himo.R.005_3 - parentName: Himo.R.004_3 - position: {x: -0, y: 0.001380268, z: 0} - rotation: {x: 0.000002623153, y: 0.24615052, z: 0.000000044220346, w: -0.96923167} - scale: {x: 1.0000024, y: 1.0000039, z: 1.0000051} - - name: Himo.R.006_3 - parentName: Himo.R.005_3 - position: {x: -1.8330354e-10, y: 0.001335759, z: 0} - rotation: {x: -0.0000022098525, y: -0.36098972, z: -0.00000044129786, w: -0.93256974} - scale: {x: 0.99999803, y: 1.0000027, z: 1.0000085} - - name: Himo.R.006_end_3 - parentName: Himo.R.006_3 - position: {x: 1.1745925e-10, y: 0.000487159, z: -3.9536302e-10} - rotation: {x: 0.000000057039408, y: -0, z: 0.000000017943703, w: 1} - scale: {x: 1.0000015, y: 1.0000006, z: 1.0000013} - - name: Himo.R.006_end_3_end - parentName: Himo.R.006_end_3 - position: {x: -0, y: 0.00048716, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Right shoulder_2 - parentName: Right shoulder - position: {x: -0, y: 0, z: -9.835384e-10} - rotation: {x: -0.03341365, y: -0.025719494, z: 0.3167597, w: 0.9475681} - scale: {x: 1.0000002, y: 1.0000023, z: 1.0000008} - - name: Right shoulder_2_end - parentName: Right shoulder_2 - position: {x: -0, y: 0.000085899, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Shoulder_R_2 - parentName: Right shoulder - position: {x: -0.000035639, y: -0.000077948, z: -0.0000056880003} - rotation: {x: -0.033413623, y: -0.025719525, z: 0.31675982, w: 0.9475681} - scale: {x: 1.0000006, y: 1.0000014, z: 1.0000004} - - name: Shoulder_R_2_end - parentName: Shoulder_R_2 - position: {x: -0, y: 0.000085899, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Shoulder_R_3 - parentName: Right shoulder - position: {x: -0.000038, y: -0.00007784, z: -0.000002912} - rotation: {x: 0.024338681, y: -0.0000062286863, z: -0.00000017881396, w: -0.9997038} - scale: {x: 1.0000014, y: 1.0000024, z: 1.0000006} - - name: UpperArm_R_3 - parentName: Shoulder_R_3 - position: {x: -0, y: 0.000364703, z: 0} - rotation: {x: -0, y: -4.547474e-13, z: -1.4210856e-14, w: 1} - scale: {x: 0.99999994, y: 1.0000007, z: 0.99999946} - - name: UpperArm_R_3_end - parentName: UpperArm_R_3 - position: {x: -0, y: 0.000364703, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: C_C - parentName: Chest - position: {x: -0, y: -0.000474224, z: 0.000287247} - rotation: {x: -0.06012349, y: 1.7832055e-10, z: 3.5896407e-11, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: C_C_end - parentName: C_C - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: C_C (1) - parentName: Chest - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.06012349, y: 2.5850994e-10, z: 9.844302e-11, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: C_C (1)_end - parentName: C_C (1) - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: C_C (2) - parentName: Chest - position: {x: -0, y: -0.00031951402, z: -0.000822016} - rotation: {x: -0.060123548, y: 3.2073227e-10, z: 2.5014135e-10, w: 0.998191} - scale: {x: 1, y: 0.9999986, z: 0.99999887} - - name: C_C (2)_end - parentName: C_C (2) - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Chest_2 - parentName: Chest - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.19868104, y: 0.0006061886, z: 0.0006841012, w: 0.9800638} - scale: {x: 0.99999994, y: 0.99999917, z: 0.99999934} - - name: Himo_L_2 - parentName: Chest_2 - position: {x: -0.000568428, y: 0.0012734111, z: -0.000000826} - rotation: {x: 0.84794855, y: -0.00018019372, z: 0.00083833793, w: 0.53007793} - scale: {x: 0.99999946, y: 1.0000026, z: 1.0000037} - - name: Himo_L.001_2 - parentName: Himo_L_2 - position: {x: -0, y: 0.000284007, z: 2.0932929e-10} - rotation: {x: 0.1106029, y: -0.00075199624, z: 0.00038554767, w: 0.9938643} - scale: {x: 0.99999946, y: 1.000004, z: 1.0000032} - - name: Himo_L.002_2 - parentName: Himo_L.001_2 - position: {x: -0, y: 0.00032762502, z: 3.361196e-10} - rotation: {x: 0.30245554, y: 1.1641532e-10, z: 3.6379788e-10, w: 0.95316356} - scale: {x: 0.9999995, y: 1.0000046, z: 1.000006} - - name: Himo_L_3 - parentName: Himo_L.002_2 - position: {x: -0, y: 0.00034310602, z: 0} - rotation: {x: 0.02384546, y: 6.1784224e-11, z: -1.6162051e-10, w: 0.99971575} - scale: {x: 0.9999998, y: 1.0000046, z: 1.0000038} - - name: Himo_L.004_2 - parentName: Himo_L_3 - position: {x: -0, y: 0.000415555, z: 0} - rotation: {x: 0.01670721, y: -0.0039127953, z: 0.004015347, w: 0.99984473} - scale: {x: 0.9999999, y: 0.99999785, z: 0.9999977} - - name: Himo_L.004_end_2 - parentName: Himo_L.004_2 - position: {x: -0, y: 0.00040081, z: 0} - rotation: {x: -0, y: 0.0000000013969839, z: -9.240466e-10, w: 1} - scale: {x: 1.0000002, y: 1.0000015, z: 1.0000035} - - name: Himo_L.004_end_2_end - parentName: Himo_L.004_end_2 - position: {x: -0, y: 0.00040081, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Himo_R_2 - parentName: Chest_2 - position: {x: 0.000568428, y: 0.001272138, z: 0.000000826} - rotation: {x: 0.8479485, y: -0.00018019325, z: 0.000838338, w: 0.53007793} - scale: {x: 0.99999946, y: 1.0000026, z: 1.0000044} - - name: Himo_R.001_2 - parentName: Himo_R_2 - position: {x: -0, y: 0.00028401, z: 0} - rotation: {x: 0.11061187, y: -0.00075199304, z: 0.0003855551, w: 0.99386334} - scale: {x: 0.99999946, y: 1.0000013, z: 0.9999998} - - name: Himo_R.002_2 - parentName: Himo_R.001_2 - position: {x: -0, y: 0.00032762502, z: 0} - rotation: {x: 0.30244702, y: 5.820766e-11, z: -1.382432e-10, w: 0.95316625} - scale: {x: 0.9999995, y: 1.0000044, z: 1.0000061} - - name: Himo_R_3 - parentName: Himo_R.002_2 - position: {x: -0, y: 0.000343111, z: 0} - rotation: {x: 0.02384546, y: -1.958878e-10, z: -5.0930246e-11, w: 0.9997157} - scale: {x: 0.9999998, y: 1.0000044, z: 1.0000036} - - name: Himo_R.004_2 - parentName: Himo_R_3 - position: {x: -0, y: 0.000415555, z: 0} - rotation: {x: 0.016707148, y: 0.0039127953, z: -0.0040153475, w: 0.99984473} - scale: {x: 0.9999999, y: 0.9999987, z: 0.99999875} - - name: Himo_R.004_end_2 - parentName: Himo_R.004_2 - position: {x: -0, y: 0.000400814, z: 0} - rotation: {x: -0, y: 4.656613e-10, z: 6.6211214e-10, w: 1} - scale: {x: 1.0000008, y: 1.000002, z: 1.0000026} - - name: Himo_R.004_end_2_end - parentName: Himo_R.004_end_2 - position: {x: -0, y: 0.000400814, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Chest)_2 - parentName: Chest - position: {x: -0, y: -0.000053871998, z: 0.000386261} - rotation: {x: -0.06012349, y: 4.9905585e-10, z: 2.8605213e-10, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: Magica Capsule Collider (Chest)_2_end - parentName: Magica Capsule Collider (Chest)_2 - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Chest_3 - parentName: Chest - position: {x: -0, y: 0.000139282, z: 0.000038385} - rotation: {x: -0.06012349, y: 2.5850994e-10, z: 9.844302e-11, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: Chest_3_end - parentName: Chest_3 - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: C_C (3) - parentName: Chest - position: {x: -0, y: -0.000602977, z: 0.00026929} - rotation: {x: -0.06012349, y: 1.7832055e-10, z: 3.5896407e-11, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: C_C (3)_end - parentName: C_C (3) - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Magica Capsule Collider (Chest)_3 - parentName: Chest - position: {x: -0, y: 0, z: 0} - rotation: {x: -0.06012349, y: 2.5850994e-10, z: 9.844302e-11, w: 0.998191} - scale: {x: 1, y: 0.99999887, z: 0.99999994} - - name: Magica Capsule Collider (Chest)_3_end - parentName: Magica Capsule Collider (Chest)_3 - position: {x: -0, y: 0.000144474, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Chest_4 - parentName: Chest - position: {x: -0, y: 0.000142018, z: 0.000036488} - rotation: {x: 0.20686716, y: 0.0006817272, z: 0.0007880792, w: 0.9783685} - scale: {x: 1.0000001, y: 0.9999986, z: 0.9999997} - - name: Himo_L - parentName: Chest_4 - position: {x: -0.000568658, y: 0.00113213, z: -0.00000095} - rotation: {x: 0.84348756, y: -0.00029982417, z: 0.0008669235, w: 0.53714794} - scale: {x: 0.9999998, y: 1.0000021, z: 1.0000042} - - name: Himo_L.001_3 - parentName: Himo_L - position: {x: -0, y: 0.000284125, z: 6.793561e-10} - rotation: {x: 0.110602796, y: -0.0007519962, z: 0.00038554825, w: 0.9938644} - scale: {x: 0.99999994, y: 1.0000054, z: 1.0000042} - - name: Himo_L.002_3 - parentName: Himo_L.001_3 - position: {x: -0, y: 0.00032776, z: 4.2448217e-10} - rotation: {x: 0.3024555, y: 1.1641531e-10, z: -1.7462297e-10, w: 0.95316356} - scale: {x: 0.9999996, y: 1.0000054, z: 1.000007} - - name: Himo_L.003 - parentName: Himo_L.002_3 - position: {x: -0, y: 0.000343246, z: 0} - rotation: {x: 0.023845429, y: -3.9653062e-11, z: 5.361033e-11, w: 0.9997157} - scale: {x: 0.9999999, y: 1.000002, z: 1.0000017} - - name: Himo_L.004_3 - parentName: Himo_L.003 - position: {x: -0, y: 0.000415725, z: 0} - rotation: {x: 0.016707262, y: -0.003912793, z: 0.004015346, w: 0.9998448} - scale: {x: 0.9999996, y: 1.0000038, z: 1.0000045} - - name: Himo_L.004_end_3 - parentName: Himo_L.004_3 - position: {x: -0, y: 0.000400975, z: 0} - rotation: {x: -0.000000089406946, y: -0.0000000013969835, z: 0.0000000011714288, w: 1} - scale: {x: 1, y: 0.9999983, z: 0.99999875} - - name: Himo_L.004_end_3_end - parentName: Himo_L.004_end_3 - position: {x: -0, y: 0.000400975, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Himo_R - parentName: Chest_4 - position: {x: 0.000568658, y: 0.001130696, z: 0.000000949} - rotation: {x: 0.8434875, y: -0.00029982382, z: 0.0008669234, w: 0.537148} - scale: {x: 0.9999998, y: 1.0000036, z: 1.0000049} - - name: Himo_R.001_3 - parentName: Himo_R - position: {x: -0, y: 0.000284125, z: 5.212496e-10} - rotation: {x: 0.110611714, y: -0.00075250847, z: 0.00038549802, w: 0.99386334} - scale: {x: 0.99999994, y: 1.0000008, z: 1.0000014} - - name: Himo_R.002_3 - parentName: Himo_R.001_3 - position: {x: -0, y: 0.00032775901, z: 3.0512323e-10} - rotation: {x: 0.30244702, y: 0.0000004947069, z: -0.0000001571243, w: 0.95316625} - scale: {x: 0.9999996, y: 1.0000058, z: 1.0000057} - - name: Himo_R.003 - parentName: Himo_R.002_3 - position: {x: -0, y: 0.000343252, z: 0} - rotation: {x: 0.02384546, y: -2.643787e-10, z: -2.1742606e-11, w: 0.9997157} - scale: {x: 0.9999999, y: 1.0000045, z: 1.0000049} - - name: Himo_R.004_3 - parentName: Himo_R.003 - position: {x: -0, y: 0.000415721, z: 0} - rotation: {x: 0.016707242, y: 0.0039127963, z: -0.004015349, w: 0.99984473} - scale: {x: 0.9999996, y: 0.99999803, z: 0.99999905} - - name: Himo_R.004_end_3 - parentName: Himo_R.004_3 - position: {x: -0, y: 0.000400975, z: 0} - rotation: {x: -0.0000001285225, y: -0.0000000027939675, z: 0.000000002190063, w: 1} - scale: {x: 1, y: 1.0000029, z: 1.0000024} - - name: Himo_R.004_end_3_end - parentName: Himo_R.004_end_3 - position: {x: -0, y: 0.00040097602, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: S_C - parentName: Spine - position: {x: -0, y: 0, z: 0} - rotation: {x: 0.021364968, y: 9.043377e-11, z: -2.4659708e-11, w: 0.9997718} - scale: {x: 0.9999998, y: 1.000001, z: 1} - - name: S_C_end - parentName: S_C - position: {x: -0, y: 0.000067421, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Spine_2_2 - parentName: Spine - position: {x: -0, y: 0.000000197, z: 0} - rotation: {x: 0.021364968, y: 9.043377e-11, z: -2.4659708e-11, w: 0.9997718} - scale: {x: 0.9999998, y: 1.000001, z: 1} - - name: Spine_2_2_end - parentName: Spine_2_2 - position: {x: -0, y: 0.000067421, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Spine_2 - parentName: Spine - position: {x: -0, y: 0.000064752996, z: 0.000018772} - rotation: {x: 0.021364968, y: 9.043377e-11, z: -2.4659708e-11, w: 0.9997718} - scale: {x: 0.9999998, y: 1.000001, z: 1} - - name: Spine_2_end - parentName: Spine_2 - position: {x: -0, y: 0.000067421, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Spine_3 - parentName: Spine - position: {x: -0, y: 0.000066987, z: 0.000016521} - rotation: {x: 0.021364968, y: 9.043377e-11, z: -2.4659708e-11, w: 0.9997718} - scale: {x: 0.9999998, y: 1.000001, z: 1} - - name: Spine_3_end - parentName: Spine_3 - position: {x: -0, y: 0.000067421, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: hip_c - parentName: Hips - position: {x: -0, y: 2.3968597e-10, z: 0} - rotation: {x: 0.97386247, y: 0.059099704, z: 0.059076965, w: -0.21120848} - scale: {x: 0.9999997, y: 1.000001, z: 0.9999996} - - name: hip_c_end - parentName: hip_c - position: {x: -0, y: 0.000045468, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: hip_c (1) - parentName: Hips - position: {x: 0.000529997, y: -0.000930003, z: -0.000039908} - rotation: {x: 0.97386247, y: 0.059099704, z: 0.059076965, w: -0.21120848} - scale: {x: 0.9999997, y: 1.000001, z: 1.0000002} - - name: hip_c (1)_end - parentName: hip_c (1) - position: {x: -0, y: 0.000045468, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: hip_c (2) - parentName: Hips - position: {x: -0, y: 2.3968597e-10, z: 0} - rotation: {x: 0.97386247, y: 0.059099704, z: 0.059076965, w: -0.21120848} - scale: {x: 0.9999997, y: 1.000001, z: 0.9999996} - - name: hip_c (2)_end - parentName: hip_c (2) - position: {x: -0, y: 0.000045468, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_3_2 - parentName: Hips - position: {x: -0, y: 0.000000161, z: 0.000000135} - rotation: {x: 0.642571, y: 0.54117227, z: 0.54110837, w: -0.03790749} - scale: {x: 1.000001, y: 1.0000014, z: 1.0000005} - - name: xbelt_Hip_2 - parentName: Hips_3_2 - position: {x: -9.872019e-10, y: 0.00073618296, z: 0} - rotation: {x: -0.49930638, y: -0.6918128, z: -0.11511266, w: 0.50876063} - scale: {x: 1.0000021, y: 1.000004, z: 1.0000037} - - name: belt_Hip_2 - parentName: xbelt_Hip_2 - position: {x: -1.0593794e-10, y: 0.000097385004, z: 0} - rotation: {x: 0.66027355, y: 0.61674696, z: 0.13514106, w: 0.40669274} - scale: {x: 1.0000019, y: 0.99999905, z: 1.0000025} - - name: belt_Hip_end_2 - parentName: belt_Hip_2 - position: {x: -1.0244548e-10, y: 0.00040623, z: -7.45058e-10} - rotation: {x: -0.000000059604638, y: 0.0000001490116, z: -0.00000008940696, w: 1} - scale: {x: 1.0000014, y: 1.0000031, z: 1.0000045} - - name: belt_Hip_end_2_end - parentName: belt_Hip_end_2 - position: {x: -0, y: 0.00040623, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_2 - parentName: Hips - position: {x: -0, y: -0.000044479002, z: 0.000018809} - rotation: {x: 0.60736454, y: 0.55913955, z: 0.55908185, w: -0.076803654} - scale: {x: 0.99999964, y: 1, z: 0.9999995} - - name: xbelt_Hip - parentName: Hips_2 - position: {x: 1.4901161e-10, y: 0.000708782, z: 7.45058e-10} - rotation: {x: -0.49890685, y: -0.7247117, z: -0.11694844, w: 0.4606603} - scale: {x: 1.0000015, y: 1.0000013, z: 1.0000019} - - name: belt_Hip - parentName: xbelt_Hip - position: {x: 1.7927959e-10, y: 0.000097398995, z: 2.3283064e-10} - rotation: {x: 0.660276, y: 0.61675125, z: 0.1351383, w: 0.40668327} - scale: {x: 1.0000002, y: 1.0000001, z: 1.0000027} - - name: belt_Hip_end - parentName: belt_Hip - position: {x: -0, y: 0.000406287, z: -2.9802322e-10} - rotation: {x: -0.000000059604638, y: 0.000000059604638, z: -0, w: 1} - scale: {x: 1.0000007, y: 1.0000014, z: 1.0000018} - - name: belt_Hip_end_end - parentName: belt_Hip_end - position: {x: -0, y: 0.000406286, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: jooin_Hips - parentName: Hips - position: {x: -0, y: 2.3968597e-10, z: 0} - rotation: {x: 0.97386247, y: 0.059099704, z: 0.059076965, w: -0.21120848} - scale: {x: 0.9999997, y: 1.000001, z: 0.9999996} - - name: jooin_Hips_end - parentName: jooin_Hips - position: {x: -0, y: 0.000045468, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Hips_3 - parentName: Hips - position: {x: -0, y: -0.000042349002, z: 0.000016552} - rotation: {x: 0.97386247, y: 0.059099704, z: 0.059076965, w: -0.21120848} - scale: {x: 0.9999997, y: 1.000001, z: 0.9999996} - - name: Hips_3_end - parentName: Hips_3 - position: {x: -0, y: 0.000045468, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Kemono_Tail_Root - parentName: Hips - position: {x: -0, y: 0.000267797, z: -0.00048032598} - rotation: {x: -0.84895086, y: -0.05435161, z: -0.054300122, w: 0.5228574} - scale: {x: 1, y: 1.0000006, z: 1.0000006} - - name: Kemono_Tail_1 - parentName: Kemono_Tail_Root - position: {x: -0, y: 0.000390095, z: -4.0483428e-10} - rotation: {x: 0.20036402, y: 0.050434604, z: -0.14552565, w: -0.9675396} - scale: {x: 0.99999976, y: 1.0000004, z: 1.0000023} - - name: Kemono_Tail_2 - parentName: Kemono_Tail_1 - position: {x: -0, y: 0.0017628861, z: 3.853347e-10} - rotation: {x: -0.09427172, y: 0.019399162, z: -0.023988899, w: 0.99506843} - scale: {x: 1.0000014, y: 1.0000025, z: 1.0000026} - - name: Kemono_Tail_3 - parentName: Kemono_Tail_2 - position: {x: -0, y: 0.002182766, z: 0} - rotation: {x: -0.1646037, y: 0.10697055, z: -0.16643359, w: 0.966314} - scale: {x: 1, y: 0.99999964, z: 1.0000021} - - name: Kemono_Tail_4 - parentName: Kemono_Tail_3 - position: {x: -0, y: 0.00198108, z: 4.4470652e-10} - rotation: {x: -0.17921185, y: 0.25419974, z: -0.3451827, w: 0.88550246} - scale: {x: 1.0000033, y: 1.0000002, z: 1.0000067} - - name: Kemono_Tail_5 - parentName: Kemono_Tail_4 - position: {x: -2.2351741e-10, y: 0.00231809, z: 0} - rotation: {x: 0.307499, y: 0.57538223, z: -0.18025753, w: 0.73612964} - scale: {x: 1.0000004, y: 1.0000083, z: 1.0000019} - - name: Kemono_Tail_5_end - parentName: Kemono_Tail_5 - position: {x: -0, y: 0.001904796, z: 0} - rotation: {x: 0.000000014901158, y: -0.000000029802315, z: -0, w: 1} - scale: {x: 1.0000031, y: 1.0000017, z: 1.0000019} - - name: Kemono_Tail_5_end_end - parentName: Kemono_Tail_5_end - position: {x: -0, y: 0.001904796, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Armature.011 - parentName: Armature_2 - position: {x: -0, y: 0.000003917, z: 0.000080262005} - rotation: {x: 0.0051621497, y: 7.1054274e-15, z: -2.4868996e-14, w: 0.9999867} - scale: {x: 1, y: 1.000001, z: 1.000001} - - name: Armature.011_end - parentName: Armature.011 - position: {x: -0, y: 0.000080358004, z: 0} - rotation: {x: 0, y: -0, z: -0, w: 1} - scale: {x: 1, y: 1, z: 1} - - name: Body - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: Jooin_ears - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: Body all - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: 06Jige - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: "\u3046\u3048.002" - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: "\u30B7\u30E5\u30FC\u30BA.002" - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: BobHair - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} - - name: BobHair.001 - parentName: jooin_m(Clone) - position: {x: -0, y: 0, z: 0} - rotation: {x: 1.23807486e-14, y: 0.7071068, z: 0.7071067, w: 0.00000018831393} - scale: {x: 100, y: 100, z: 100} + human: [] + skeleton: [] armTwist: 0.5 foreArmTwist: 0.5 upperLegTwist: 0.5 @@ -6867,13 +94,13 @@ ModelImporter: globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 - hasExtraRoot: 1 + hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 3 + animationType: 2 humanoidOversampling: 1 - avatarSetup: 1 + avatarSetup: 0 addHumanoidExtraRootOnlyWhenUsingAvatar: 1 importBlendShapeDeformPercent: 1 remapMaterialsIfMaterialImportModeIsNone: 0 diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전.unity.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전.unity.meta index 7a9594e6a..588c30252 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전.unity.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 48e9764edd821de4388bc969aef431ea +guid: c8bbfd3865134b84386a43ead8ef02e2 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable deleted file mode 100644 index bb354098d..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable +++ /dev/null @@ -1,2869 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7652689657000808747 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset(Clone)(Clone) - m_EditorClassIdentifier: - m_Clip: {fileID: 1827226128182048838, guid: 13e33cef4c7d545408cd83093e303304, type: 3} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &-6950264110287314443 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset(Clone)(Clone)(Clone) - m_EditorClassIdentifier: - m_Clip: {fileID: 7400000, guid: a1be5cad5160a084d8772b19c3653eff, type: 2} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &-6273662255696814831 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset - m_EditorClassIdentifier: - m_Clip: {fileID: 7400000, guid: a1be5cad5160a084d8772b19c3653eff, type: 2} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!74 &-5796581221408852580 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Recorded_2 - serializedVersion: 7 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: {x: 21.44051, y: -165.8622, z: 361.8363} - inSlope: {x: -1.0679548, y: -1.7883108, z: -0.22859608} - outSlope: {x: -1.0679548, y: -1.7883108, z: -0.22859608} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 10.016666 - value: {x: 18.36124, y: -171.0185, z: 361.1772} - inSlope: {x: -2.1908243, y: -1.64223, z: -0.21365772} - outSlope: {x: -2.1908243, y: -1.64223, z: -0.21365772} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 12.766666 - value: {x: 9.248583, y: -175.1329, z: 360.6307} - inSlope: {x: -2.1219072, y: -0.6492251, z: -0.08709162} - outSlope: {x: -2.1219072, y: -0.6492251, z: -0.08709162} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 14.433333 - value: {x: 7.698381, y: -174.8034, z: 360.6716} - inSlope: {x: -0.37779474, y: -0.1542938, z: -0.019440442} - outSlope: {x: -0.37779474, y: -0.1542938, z: -0.019440442} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 16.483334 - value: {x: 8.05617, y: -175.8413, z: 360.5416} - inSlope: {x: 0.17453146, y: -0.50628656, z: -0.06341701} - outSlope: {x: 0.17453146, y: -0.50628656, z: -0.06341701} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: - m_PositionCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: {x: 0.22674939, y: -0.32734185, z: 2.8704247} - inSlope: {x: -0.036613613, y: 0.18132447, z: -0.09110027} - outSlope: {x: -0.036613613, y: 0.18132447, z: -0.09110027} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 10.016666 - value: {x: 0.12118015, y: 0.19547701, z: 2.6077523} - inSlope: {x: -0.03084562, y: 0.12170297, z: -0.061877124} - outSlope: {x: -0.03084562, y: 0.12170297, z: -0.061877124} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 12.766666 - value: {x: 0.05221667, y: 0.36620104, z: 2.5179539} - inSlope: {x: -0.009923173, y: 0.028566306, z: 0.014879968} - outSlope: {x: -0.009923173, y: 0.028566306, z: 0.014879968} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 14.433333 - value: {x: 0.060935475, y: 0.35795295, z: 2.621977} - inSlope: {x: 0.004013611, y: -0.0007394665, z: 0.048686817} - outSlope: {x: 0.004013611, y: -0.0007394665, z: 0.048686817} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 16.483334 - value: {x: 0.066667154, y: 0.3650663, z: 2.6936445} - inSlope: {x: 0.002795941, y: 0.0034699205, z: 0.03495972} - outSlope: {x: 0.002795941, y: 0.0034699205, z: 0.03495972} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: - m_ScaleCurves: [] - m_FloatCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 14.433333 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Alpha - path: - classID: 114 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - flags: 0 - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 0 - attribute: 1 - script: {fileID: 0} - typeID: 4 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 4 - script: {fileID: 0} - typeID: 4 - customType: 4 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 287381102 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 16.483334 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: 21.44051 - inSlope: -1.0679548 - outSlope: -1.0679548 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: 18.36124 - inSlope: -2.1908243 - outSlope: -2.1908243 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: 9.248583 - inSlope: -2.1219072 - outSlope: -2.1219072 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: 7.698381 - inSlope: -0.37779474 - outSlope: -0.37779474 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 8.05617 - inSlope: 0.17453146 - outSlope: 0.17453146 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.x - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: -165.8622 - inSlope: -1.7883108 - outSlope: -1.7883108 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: -171.0185 - inSlope: -1.64223 - outSlope: -1.64223 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: -175.1329 - inSlope: -0.6492251 - outSlope: -0.6492251 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: -174.8034 - inSlope: -0.1542938 - outSlope: -0.1542938 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: -175.8413 - inSlope: -0.50628656 - outSlope: -0.50628656 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.y - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: 361.8363 - inSlope: -0.22859608 - outSlope: -0.22859608 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: 361.1772 - inSlope: -0.21365772 - outSlope: -0.21365772 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: 360.6307 - inSlope: -0.08709162 - outSlope: -0.08709162 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: 360.6716 - inSlope: -0.019440442 - outSlope: -0.019440442 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 360.5416 - inSlope: -0.06341701 - outSlope: -0.06341701 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.z - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: 0.22674939 - inSlope: -0.036613613 - outSlope: -0.036613613 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: 0.12118015 - inSlope: -0.03084562 - outSlope: -0.03084562 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: 0.05221667 - inSlope: -0.009923173 - outSlope: -0.009923173 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: 0.060935475 - inSlope: 0.004013611 - outSlope: 0.004013611 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 0.066667154 - inSlope: 0.002795941 - outSlope: 0.002795941 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.x - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: -0.32734185 - inSlope: 0.18132447 - outSlope: 0.18132447 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: 0.19547701 - inSlope: 0.12170297 - outSlope: 0.12170297 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: 0.36620104 - inSlope: 0.028566306 - outSlope: 0.028566306 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: 0.35795295 - inSlope: -0.0007394665 - outSlope: -0.0007394665 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 0.3650663 - inSlope: 0.0034699205 - outSlope: 0.0034699205 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.y - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 7.133333 - value: 2.8704247 - inSlope: -0.09110027 - outSlope: -0.09110027 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 10.016666 - value: 2.6077523 - inSlope: -0.061877124 - outSlope: -0.061877124 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 12.766666 - value: 2.5179539 - inSlope: 0.014879968 - outSlope: 0.014879968 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 14.433333 - value: 2.621977 - inSlope: 0.048686817 - outSlope: 0.048686817 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 2.6936445 - inSlope: 0.03495972 - outSlope: 0.03495972 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.z - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 14.433333 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 16.483334 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Alpha - path: - classID: 114 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - flags: 0 - m_EulerEditorCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.x - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.y - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.z - path: - classID: 4 - script: {fileID: 0} - flags: 0 - m_HasGenericRootTransform: 1 - m_HasMotionFloatCurves: 0 - m_Events: [] ---- !u!114 &-5713523386182993284 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} - m_Name: CinemachineShot(Clone) - m_EditorClassIdentifier: - DisplayName: - VirtualCamera: - exposedName: c81c5c980a1b81f44a18217224720475 - defaultValue: {fileID: 0} ---- !u!114 &-4322915506752299369 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} - m_Name: Animation Track (1) - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 11400000} - m_Children: [] - m_Clips: [] - m_Markers: - m_Objects: [] - m_InfiniteClipPreExtrapolation: 1 - m_InfiniteClipPostExtrapolation: 1 - m_InfiniteClipOffsetPosition: {x: -0.41004598, y: 1.3842484, z: 0.8510461} - m_InfiniteClipOffsetEulerAngles: {x: 1.7189074, y: 178.17824, z: -0.00008864225} - m_InfiniteClipTimeOffset: 0 - m_InfiniteClipRemoveOffset: 0 - m_InfiniteClipApplyFootIK: 1 - mInfiniteClipLoop: 0 - m_MatchTargetFields: 63 - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_AvatarMask: {fileID: 0} - m_ApplyAvatarMask: 1 - m_TrackOffset: 0 - m_InfiniteClip: {fileID: 4616592914910979852} - m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} - m_Rotation: {x: 0, y: 0, z: 0, w: 1} - m_ApplyOffsets: 0 ---- !u!114 &-2489472460085222560 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset - m_EditorClassIdentifier: - m_Clip: {fileID: 1827226128182048838, guid: 13e33cef4c7d545408cd83093e303304, type: 3} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} - m_Name: "\uC774\uC8FC\uC778_250419_\uB098\uC624_\uC2E0\uC804_Timeline" - m_EditorClassIdentifier: - m_Version: 0 - m_Tracks: - - {fileID: 2220420387462336647} - - {fileID: 2419072065356818559} - - {fileID: -4322915506752299369} - - {fileID: 6788748572095914535} - - {fileID: 364505122348352360} - m_FixedDuration: 0 - m_EditorSettings: - m_Framerate: 60 - m_ScenePreview: 1 - m_DurationMode: 0 - m_MarkerTrack: {fileID: 0} ---- !u!114 &364505122348352360 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} - m_Name: Animation Track (3) - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 11400000} - m_Children: [] - m_Clips: [] - m_Markers: - m_Objects: [] - m_InfiniteClipPreExtrapolation: 1 - m_InfiniteClipPostExtrapolation: 1 - m_InfiniteClipOffsetPosition: {x: 0.1837089, y: 0.9521526, z: -2.3587098} - m_InfiniteClipOffsetEulerAngles: {x: 7.219423, y: 355.11795, z: 0.000038861297} - m_InfiniteClipTimeOffset: 0 - m_InfiniteClipRemoveOffset: 0 - m_InfiniteClipApplyFootIK: 1 - mInfiniteClipLoop: 0 - m_MatchTargetFields: 63 - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_AvatarMask: {fileID: 0} - m_ApplyAvatarMask: 1 - m_TrackOffset: 0 - m_InfiniteClip: {fileID: -5796581221408852580} - m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} - m_Rotation: {x: 0, y: 0, z: 0, w: 1} - m_ApplyOffsets: 0 ---- !u!74 &785368822668481662 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Recorded_1 - serializedVersion: 7 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: {x: 3.480993, y: 292.0385, z: 1.597497} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 5.1666665 - value: {x: 3.1390865, y: 296.71957, z: 1.5328101} - inSlope: {x: 0, y: 6.1579075, z: -0.08786229} - outSlope: {x: 0, y: 6.1579075, z: -0.08786229} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 6.3166666 - value: {x: 3.993536, y: 305.278, z: 1.408593} - inSlope: {x: 0, y: 4.7128353, z: -0.07439775} - outSlope: {x: 0, y: 4.7128353, z: -0.07439775} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 7.8166666 - value: {x: 3.211813, y: 309.2086, z: 1.335656} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: - m_PositionCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: {x: 0.06010139, y: 0.02973491, z: -0.02522996} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 5.1666665 - value: {x: 0.018633282, y: 0.0031964392, z: -0.035798505} - inSlope: {x: 0, y: 0, z: -0.019662408} - outSlope: {x: 0, y: 0, z: -0.019662408} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 6.3166666 - value: {x: 0.05261326, y: 0.009489317, z: -0.11201705} - inSlope: {x: 0.018331764, y: 0.003552043, z: -0.050738357} - outSlope: {x: 0.018331764, y: 0.003552043, z: -0.050738357} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 7.8166666 - value: {x: 0.06721246, y: 0.012609354, z: -0.17025515} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: - m_ScaleCurves: [] - m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 0 - attribute: 1 - script: {fileID: 0} - typeID: 4 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 4 - script: {fileID: 0} - typeID: 4 - customType: 4 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 7.8166666 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: 3.480993 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: 3.1390865 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: 3.993536 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: 3.211813 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.x - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: 292.0385 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: 296.71957 - inSlope: 6.1579075 - outSlope: 6.1579075 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: 305.278 - inSlope: 4.7128353 - outSlope: 4.7128353 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: 309.2086 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.y - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: 1.597497 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: 1.5328101 - inSlope: -0.08786229 - outSlope: -0.08786229 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: 1.408593 - inSlope: -0.07439775 - outSlope: -0.07439775 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: 1.335656 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: localEulerAnglesRaw.z - path: - classID: 4 - script: {fileID: 0} - flags: 16 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: 0.06010139 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: 0.018633282 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: 0.05261326 - inSlope: 0.018331764 - outSlope: 0.018331764 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: 0.06721246 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.x - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: 0.02973491 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: 0.0031964392 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: 0.009489317 - inSlope: 0.003552043 - outSlope: 0.003552043 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: 0.012609354 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.y - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 4.1666665 - value: -0.02522996 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.1666665 - value: -0.035798505 - inSlope: -0.019662408 - outSlope: -0.019662408 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 6.3166666 - value: -0.11201705 - inSlope: -0.050738357 - outSlope: -0.050738357 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 7.8166666 - value: -0.17025515 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.z - path: - classID: 4 - script: {fileID: 0} - flags: 0 - m_EulerEditorCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.x - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.y - path: - classID: 4 - script: {fileID: 0} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalEulerAngles.z - path: - classID: 4 - script: {fileID: 0} - flags: 0 - m_HasGenericRootTransform: 1 - m_HasMotionFloatCurves: 0 - m_Events: [] ---- !u!114 &951784741886491841 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset(Clone) - m_EditorClassIdentifier: - m_Clip: {fileID: 7400000, guid: a1be5cad5160a084d8772b19c3653eff, type: 2} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &2220420387462336647 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 05acc715f855ced458d76ee6f8ac6c61, type: 3} - m_Name: Cinemachine Track - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 11400000} - m_Children: [] - m_Clips: - - m_Version: 1 - m_Start: 0 - m_ClipIn: 0 - m_Asset: {fileID: 8442698442140609668} - m_Duration: 4.6 - m_TimeScale: 1 - m_ParentTrack: {fileID: 2220420387462336647} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 0 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: Cam0010 - - m_Version: 1 - m_Start: 4.6 - m_ClipIn: 0 - m_Asset: {fileID: -5713523386182993284} - m_Duration: 2.866666666666667 - m_TimeScale: 1 - m_ParentTrack: {fileID: 2220420387462336647} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 0 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: Cam0020 - - m_Version: 1 - m_Start: 7.466666666666667 - m_ClipIn: 0 - m_Asset: {fileID: 4466869039941146633} - m_Duration: 12.983333333333334 - m_TimeScale: 1 - m_ParentTrack: {fileID: 2220420387462336647} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 0 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: Cam0030 - m_Markers: - m_Objects: [] - TrackPriority: 0 ---- !u!114 &2371513620934556976 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} - m_Name: Override 0 - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 2419072065356818559} - m_Children: [] - m_Clips: - - m_Version: 1 - m_Start: 12.316666666666666 - m_ClipIn: 14.38481382628282 - m_Asset: {fileID: -6273662255696814831} - m_Duration: 24.297039014101028 - m_TimeScale: 0.5 - m_ParentTrack: {fileID: 2371513620934556976} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 0 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: Infinity - m_PreExtrapolationTime: 0 - m_DisplayName: "FaceRecordMotion_\uC774\uC8FC\uC778250419_\uB098\uC624_01_Biped_Edit_2025_04_19_22_32_57_Clip" - - m_Version: 1 - m_Start: 0 - m_ClipIn: 1.7 - m_Asset: {fileID: -6950264110287314443} - m_Duration: 1.65 - m_TimeScale: 1 - m_ParentTrack: {fileID: 2371513620934556976} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 1 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: 3.016666666666667 - m_PreExtrapolationTime: 0 - m_DisplayName: "FaceRecordMotion_\uC774\uC8FC\uC778250419_\uB098\uC624_01_Biped_Edit_2025_04_19_22_32_57_Clip" - - m_Version: 1 - m_Start: 4.666666666666667 - m_ClipIn: 6.734813826282819 - m_Asset: {fileID: 951784741886491841} - m_Duration: 7.6499999999999995 - m_TimeScale: 1 - m_ParentTrack: {fileID: 2371513620934556976} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 0 - m_PreExtrapolationMode: 0 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: "FaceRecordMotion_\uC774\uC8FC\uC778250419_\uB098\uC624_01_Biped_Edit_2025_04_19_22_32_57_Clip" - m_Markers: - m_Objects: [] - m_InfiniteClipPreExtrapolation: 0 - m_InfiniteClipPostExtrapolation: 0 - m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0} - m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0} - m_InfiniteClipTimeOffset: 0 - m_InfiniteClipRemoveOffset: 0 - m_InfiniteClipApplyFootIK: 1 - mInfiniteClipLoop: 0 - m_MatchTargetFields: 63 - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_AvatarMask: {fileID: 0} - m_ApplyAvatarMask: 1 - m_TrackOffset: 0 - m_InfiniteClip: {fileID: 0} - m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} - m_Rotation: {x: 0, y: 0, z: 0, w: 1} - m_ApplyOffsets: 0 ---- !u!114 &2419072065356818559 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} - m_Name: Animation Track - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 11400000} - m_Children: - - {fileID: 2371513620934556976} - m_Clips: - - m_Version: 1 - m_Start: 7.133333333333334 - m_ClipIn: 7.733333333333333 - m_Asset: {fileID: -2489472460085222560} - m_Duration: 4.533333333333334 - m_TimeScale: 0.4999999999999999 - m_ParentTrack: {fileID: 2419072065356818559} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 3 - m_PreExtrapolationMode: 1 - m_PostExtrapolationTime: Infinity - m_PreExtrapolationTime: 0 - m_DisplayName: "Ani_\uC774\uC8FC\uC778_\uB098\uC624_01" - - m_Version: 1 - m_Start: 4.133333333333334 - m_ClipIn: 6.2333333333333325 - m_Asset: {fileID: 2712749116961245335} - m_Duration: 2.9999999999999987 - m_TimeScale: 0.5 - m_ParentTrack: {fileID: 2419072065356818559} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 1 - m_PreExtrapolationMode: 1 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: "Ani_\uC774\uC8FC\uC778_\uB098\uC624_01" - - m_Version: 1 - m_Start: 3.2333333333333334 - m_ClipIn: 5.100000000000001 - m_Asset: {fileID: -7652689657000808747} - m_Duration: 0.9000000000000004 - m_TimeScale: 1.2499999999999998 - m_ParentTrack: {fileID: 2419072065356818559} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 1 - m_PreExtrapolationMode: 1 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: "Ani_\uC774\uC8FC\uC778_\uB098\uC624_01" - - m_Version: 1 - m_Start: 0 - m_ClipIn: 0.2500000000000018 - m_Asset: {fileID: 3430331007212449050} - m_Duration: 3.2333333333333334 - m_TimeScale: 1.5 - m_ParentTrack: {fileID: 2419072065356818559} - m_EaseInDuration: 0 - m_EaseOutDuration: 0 - m_BlendInDuration: -1 - m_BlendOutDuration: -1 - m_MixInCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_MixOutCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BlendInCurveMode: 0 - m_BlendOutCurveMode: 0 - m_ExposedParameterNames: [] - m_AnimationCurves: {fileID: 0} - m_Recordable: 0 - m_PostExtrapolationMode: 1 - m_PreExtrapolationMode: 1 - m_PostExtrapolationTime: 0 - m_PreExtrapolationTime: 0 - m_DisplayName: "Ani_\uC774\uC8FC\uC778_\uB098\uC624_01" - m_Markers: - m_Objects: [] - m_InfiniteClipPreExtrapolation: 0 - m_InfiniteClipPostExtrapolation: 0 - m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0} - m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0} - m_InfiniteClipTimeOffset: 0 - m_InfiniteClipRemoveOffset: 0 - m_InfiniteClipApplyFootIK: 1 - mInfiniteClipLoop: 0 - m_MatchTargetFields: 63 - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_AvatarMask: {fileID: 0} - m_ApplyAvatarMask: 1 - m_TrackOffset: 0 - m_InfiniteClip: {fileID: 0} - m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} - m_Rotation: {x: 0, y: 0, z: 0, w: 1} - m_ApplyOffsets: 0 ---- !u!114 &2712749116961245335 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset(Clone) - m_EditorClassIdentifier: - m_Clip: {fileID: 1827226128182048838, guid: 13e33cef4c7d545408cd83093e303304, type: 3} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &3430331007212449050 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} - m_Name: AnimationPlayableAsset(Clone)(Clone)(Clone) - m_EditorClassIdentifier: - m_Clip: {fileID: 1827226128182048838, guid: 13e33cef4c7d545408cd83093e303304, type: 3} - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_UseTrackMatchFields: 1 - m_MatchTargetFields: 63 - m_RemoveStartOffset: 1 - m_ApplyFootIK: 1 - m_Loop: 0 - m_Version: 1 - m_Rotation: {x: 0, y: 0, z: 0, w: 1} ---- !u!114 &4466869039941146633 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} - m_Name: CinemachineShot - m_EditorClassIdentifier: - DisplayName: - VirtualCamera: - exposedName: 0abbb9fb09ae77046838bc45356e7202 - defaultValue: {fileID: 0} ---- !u!74 &4616592914910979852 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Recorded - serializedVersion: 7 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: [] - m_ScaleCurves: [] - m_FloatCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0.5070423 - outSlope: 0.5070423 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 1.6 - inSlope: 0.44706953 - outSlope: 0.44706953 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 3 - inSlope: 0.19354838 - outSlope: 0.19354838 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 3 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Radius - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0.9332963 - inSlope: 0.15569595 - outSlope: 0.15569595 - tangentMode: 34 - weightedMode: 0 - inWeight: 0 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.38333333 - value: 0.99297976 - inSlope: 0.06134744 - outSlope: 0.06134744 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 0.84722507 - inSlope: -0.04877358 - outSlope: -0.04877358 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 0.8138763 - inSlope: -0.06454609 - outSlope: -0.06454609 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: TargetOffset.y - path: - classID: 114 - script: {fileID: 11500000, guid: f38bda98361e1de48a4ca2bd86ea3c17, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 1.1833333 - value: 1.3 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 2.0889194 - inSlope: 0.09782 - outSlope: 0.09782 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 2.19 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: TargetOffset.y - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -10 - inSlope: -1.95 - outSlope: -1.95 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: -19.36 - inSlope: -2.562097 - outSlope: -2.562097 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: -21 - inSlope: -3.1741939 - outSlope: -3.1741939 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: VerticalAxis.Value - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: VerticalAxis.Range.x - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -131.12152 - inSlope: -29.149647 - outSlope: -29.149647 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.16713148 - - serializedVersion: 3 - time: 4.8 - value: -187.20941 - inSlope: -2.5037653 - outSlope: -2.5037653 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 1 - - serializedVersion: 3 - time: 5.3166666 - value: -187.46367 - inSlope: -0.49211097 - outSlope: -0.49211097 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: HorizontalAxis.Value - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 15.051395 - inSlope: 8.450705 - outSlope: 8.450705 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 25.051395 - inSlope: 6.0920053 - outSlope: 6.0920053 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.2909516 - - serializedVersion: 3 - time: 5.3166666 - value: 36.051395 - inSlope: 1.0383039 - outSlope: 1.0383039 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.28883675 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Lens.FieldOfView - path: - classID: 114 - script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Alpha - path: - classID: 114 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - flags: 0 - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 0 - attribute: 1020291948 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 314320744 - script: {fileID: 11500000, guid: f38bda98361e1de48a4ca2bd86ea3c17, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 314320744 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 3648698360 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 3075355317 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 3482800909 - script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 287381102 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - - serializedVersion: 2 - path: 0 - attribute: 3925843546 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - typeID: 114 - customType: 0 - isPPtrCurve: 0 - isIntCurve: 0 - isSerializeReferenceCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 5.3166666 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0.5070423 - outSlope: 0.5070423 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 1.6 - inSlope: 0.44706953 - outSlope: 0.44706953 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 3 - inSlope: 0.19354838 - outSlope: 0.19354838 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 3 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Radius - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0.9332963 - inSlope: 0.15569595 - outSlope: 0.15569595 - tangentMode: 34 - weightedMode: 0 - inWeight: 0 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.38333333 - value: 0.99297976 - inSlope: 0.06134744 - outSlope: 0.06134744 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 0.84722507 - inSlope: -0.04877358 - outSlope: -0.04877358 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 0.8138763 - inSlope: -0.06454609 - outSlope: -0.06454609 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: TargetOffset.y - path: - classID: 114 - script: {fileID: 11500000, guid: f38bda98361e1de48a4ca2bd86ea3c17, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 1.1833333 - value: 1.3 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: 2.0889194 - inSlope: 0.09782 - outSlope: 0.09782 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: 2.19 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: TargetOffset.y - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -10 - inSlope: -1.95 - outSlope: -1.95 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: -19.36 - inSlope: -2.562097 - outSlope: -2.562097 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: -21 - inSlope: -3.1741939 - outSlope: -3.1741939 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: VerticalAxis.Value - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.8 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 5.3166666 - value: -28.59 - inSlope: 0 - outSlope: 0 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: VerticalAxis.Range.x - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -131.12152 - inSlope: -29.149647 - outSlope: -29.149647 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.16713148 - - serializedVersion: 3 - time: 4.8 - value: -187.20941 - inSlope: -2.5037653 - outSlope: -2.5037653 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 1 - - serializedVersion: 3 - time: 5.3166666 - value: -187.46367 - inSlope: -0.49211097 - outSlope: -0.49211097 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: HorizontalAxis.Value - path: - classID: 114 - script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 15.051395 - inSlope: 8.450705 - outSlope: 8.450705 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 25.051395 - inSlope: 6.0920053 - outSlope: 6.0920053 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.2909516 - - serializedVersion: 3 - time: 5.3166666 - value: 36.051395 - inSlope: 1.0383039 - outSlope: 1.0383039 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.28883675 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Lens.FieldOfView - path: - classID: 114 - script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3} - flags: 0 - - serializedVersion: 2 - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1.1833333 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: Alpha - path: - classID: 114 - script: {fileID: 11500000, guid: 82e62c82b3be64042ac529dee964cc2f, type: 3} - flags: 0 - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 0 - m_HasMotionFloatCurves: 0 - m_Events: [] ---- !u!114 &6788748572095914535 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} - m_Name: Animation Track (2) - m_EditorClassIdentifier: - m_Version: 3 - m_AnimClip: {fileID: 0} - m_Locked: 0 - m_Muted: 0 - m_CustomPlayableFullTypename: - m_Curves: {fileID: 0} - m_Parent: {fileID: 11400000} - m_Children: [] - m_Clips: [] - m_Markers: - m_Objects: [] - m_InfiniteClipPreExtrapolation: 1 - m_InfiniteClipPostExtrapolation: 1 - m_InfiniteClipOffsetPosition: {x: -0.2280674, y: 0.0039109215, z: -0.1926808} - m_InfiniteClipOffsetEulerAngles: {x: 1.7189074, y: 178.17824, z: -0.00008864225} - m_InfiniteClipTimeOffset: 0 - m_InfiniteClipRemoveOffset: 0 - m_InfiniteClipApplyFootIK: 1 - mInfiniteClipLoop: 0 - m_MatchTargetFields: 63 - m_Position: {x: 0, y: 0, z: 0} - m_EulerAngles: {x: 0, y: 0, z: 0} - m_AvatarMask: {fileID: 0} - m_ApplyAvatarMask: 1 - m_TrackOffset: 0 - m_InfiniteClip: {fileID: 785368822668481662} - m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} - m_Rotation: {x: 0, y: 0, z: 0, w: 1} - m_ApplyOffsets: 0 ---- !u!114 &8442698442140609668 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} - m_Name: CinemachineShot(Clone) - m_EditorClassIdentifier: - DisplayName: - VirtualCamera: - exposedName: da0eb87898cb7a34dbfe94f065a67931 - defaultValue: {fileID: 0} diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable.meta deleted file mode 100644 index f91094e34..000000000 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인_250419_나오_신전_Timeline.playable.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ff1695676d77b604faef1065a2b74143 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인님_마비노기.fbx.meta b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인님_마비노기.fbx.meta index 870faf5fe..492cbac29 100644 --- a/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인님_마비노기.fbx.meta +++ b/Assets/Resources/Character/@000-050/@030_이주인/Project/이주인_250419_나오/이주인님_마비노기.fbx.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: f8ca411d4e497a84aa6d643b869e642c +guid: 5e41cc6ba38593049a364b82dc7b084d ModelImporter: - serializedVersion: 22200 + serializedVersion: 24200 internalIDToNameTable: [] externalObjects: {} materials: @@ -56,6 +56,9 @@ ModelImporter: maxBonesPerVertex: 4 minBoneWeight: 0.001 optimizeBones: 1 + generateMeshLods: 0 + meshLodGenerationFlags: 0 + maximumMeshLod: -1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 diff --git a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders.meta b/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders.meta deleted file mode 100644 index d1f13fc47..000000000 --- a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b828e0ca48db0604782e7d7a794c5bbd -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader b/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader deleted file mode 100644 index 13e24022a..000000000 --- a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader +++ /dev/null @@ -1,325 +0,0 @@ -Shader "Noriben/noribenBeamLight" -{ - Properties - { - [Header(Texture)] - _NoiseTex ("NoiseTex", 2D) = "white" {} - - [Header(Color)] - _Color ("Color" , Color) = (1.0, 1.0, 1.0, 1.0) - _Intensity ("Light Intensity", Range(0, 10)) = 1 - - [Space] - [Header(Size)] - _ConeWidth ("Width", Range(-0.07, 0.5)) = 1 - _ConeLength ("Length", Range(0.01, 3)) = 1 - - [Space] - [Header(Noise)] - _TexPower ("Noise power", Range(0, 1)) = 1 - _NoieMoveSpeed ("Noise move speed", Range(0, 4)) = 1 - _LightIndex ("Noise seed", float) = 0 - [Toggle] _WorldPosNoiseRandom ("WorldPosition Noise Random", float) = 0 - - [Space] - [Header(Soft)] - _RimPower ("Edge soft", Range(0.01, 10.0)) = 3 - - [Space] - [Header(Gradation Height)] - [Toggle] _GradOn ("Gradation Height ON", float) = 0 - _GradHeight ("Gradation Height", float) = 1 - _GradPower ("Gradation Power", Range(0, 5)) = 0.3 - - [Space] - [Header(Divide)] - _Divide ("Divide", Range(0, 30)) = 0 - _DivideScroll("Divide Scroll", Range(-10, 10)) = 0 - _DividePower ("Divide Power", Range(0, 1)) = 0 - - [Space(40)] - [Header(AudioLink for VRChat)] - [Toggle(AudioLinkOn)] _AudioLinkOn ("AudioLink On", Float) = 0 - - //_AudioLink ("AudioLink Texture", 2D) = "black" {} - _AudioLinkIntensity ("AudioLink Intensity", Range(0,1)) = 1 - [Enum(Bass,0,Low mid,1,High mid,2,Treble,3)] - _AudioLinkType ("AudioLink BandType", int) = 0 - _AudioLinkFiltering ("AudioLink Smooth Filtering", Range(0, 1)) = 0 - - - } - SubShader - { - Tags { "RenderType"="Transparent" "Queue" = "Transparent" "DisableBatching" = "True"} - Cull Front - Blend One One - Zwrite Off - LOD 100 - - Pass - { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma shader_feature SliderOn - // make fog work - #pragma multi_compile_fog - #pragma multi_compile_instancing - - #pragma shader_feature_local _ AudioLinkOn - - #include "UnityCG.cginc" - #include "UnityInstancing.cginc" - - #ifdef AudioLinkOn - #include "../../../AudioLink/Shaders/AudioLink.cginc" - #endif - - struct appdata - { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float2 uv2 : TEXCOORD3; - float3 normal : NORMAL; - - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct v2f - { - float2 uv : TEXCOORD0; //フレネル用 - UNITY_FOG_COORDS(1) //内部でTEXCOORD1を使っている - float4 vertex : SV_POSITION; - float3 normal : TEXCOORD2; - float3 worldPos : TEXCOORD3; - float2 uv2 : TEXCOORD4; //テクスチャ用 - float3 objPos: TEXCOORD5; - - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - sampler2D _NoiseTex; - float4 _NoiseTex_ST; - //float4 _Color; - //float _Intensity; - //float _RimPower; - //float _TexPower; - //float _GradHeight; - //float _GradPower; - //float _ConeWidth; - //float _ConeLength; - //float _Divide; - //float _DivideScroll; - //float _DividePower; - //float _LightIndex; - //float _GradOn; - //float _WorldPosNoiseRandom; - //float _NoieMoveSpeed; - //float _AudioLinkIntensity; - //int _AudioLinkType; - //float _AudioLinkFiltering; - - - // GPU instancing parameters - UNITY_INSTANCING_BUFFER_START(Props) - UNITY_DEFINE_INSTANCED_PROP(float4, _Color) - UNITY_DEFINE_INSTANCED_PROP(float, _Intensity) - UNITY_DEFINE_INSTANCED_PROP(float, _RimPower) - UNITY_DEFINE_INSTANCED_PROP(float, _TexPower) - UNITY_DEFINE_INSTANCED_PROP(float, _GradHeight) - UNITY_DEFINE_INSTANCED_PROP(float, _GradPower) - UNITY_DEFINE_INSTANCED_PROP(float, _ConeWidth) - UNITY_DEFINE_INSTANCED_PROP(float, _ConeLength) - UNITY_DEFINE_INSTANCED_PROP(float, _Divide) - UNITY_DEFINE_INSTANCED_PROP(float, _DivideScroll) - UNITY_DEFINE_INSTANCED_PROP(float, _DividePower) - UNITY_DEFINE_INSTANCED_PROP(float, _LightIndex) - UNITY_DEFINE_INSTANCED_PROP(float, _GradOn) - UNITY_DEFINE_INSTANCED_PROP(float, _WorldPosNoiseRandom) - UNITY_DEFINE_INSTANCED_PROP(float, _NoieMoveSpeed) - UNITY_DEFINE_INSTANCED_PROP(float, _AudioLinkIntensity) - UNITY_DEFINE_INSTANCED_PROP(int, _AudioLinkType) - UNITY_DEFINE_INSTANCED_PROP(float, _AudioLinkFiltering) - UNITY_INSTANCING_BUFFER_END(Props) - - - //リマップ - //InMinMax.xからInMinMax.yの範囲で入力された値Inが、OutMinMax.xからOutMinMax.yのスケールにリマップして出力される - float remap(float In, float2 InMinMax, float2 OutMinMax) - { - return OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x); - } - - //ランダム - float random1D (float p) - { - return frac(sin(p) * 10000); - } - - float random2D (float2 p) - { - return frac(sin(dot(p, fixed2(12.9898,78.233))) * 43758.5453); - } - - - v2f vert (appdata v) - { - - v2f o; - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - - // GPU instansing parameter - float ConeWidth = UNITY_ACCESS_INSTANCED_PROP(Props, _ConeWidth); - float ConeLength = UNITY_ACCESS_INSTANCED_PROP(Props, _ConeLength); - - - o.objPos = mul(unity_ObjectToWorld, float4(0,0,0,1)).xyz; - - //コーンの直径を大きくする - //0から1にグラデーション状に大きくする - float vertexHeight = (1 - v.uv.y) * ConeWidth * 100; - //normal方向に拡大 - v.vertex.xz = v.vertex.xz + v.normal.xz * 1 * vertexHeight; - v.vertex.y *= ConeLength; - - o.vertex = UnityObjectToClipPos(v.vertex); - o.normal = v.normal;//UnityObjectToWorldNormal(v.normal); - - o.uv = v.uv; - o.uv2 = TRANSFORM_TEX(v.uv2, _NoiseTex); - o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - - float3 fresnelviewDir = normalize(ObjSpaceViewDir(v.vertex)); - UNITY_TRANSFER_FOG(o,o.vertex); - - return o; - } - - - fixed4 frag (v2f i) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - - // GPU instansing parameter - float4 Color = UNITY_ACCESS_INSTANCED_PROP(Props, _Color); - float Intensity = UNITY_ACCESS_INSTANCED_PROP(Props, _Intensity); - float RimPower = UNITY_ACCESS_INSTANCED_PROP(Props, _RimPower); - float TexPower = UNITY_ACCESS_INSTANCED_PROP(Props, _TexPower); - float GradHeight = UNITY_ACCESS_INSTANCED_PROP(Props, _GradHeight); - float GradPower = UNITY_ACCESS_INSTANCED_PROP(Props, _GradPower); - float ConeWidth = UNITY_ACCESS_INSTANCED_PROP(Props, _ConeWidth); - float Divide = UNITY_ACCESS_INSTANCED_PROP(Props, _Divide); - float DivideScroll = UNITY_ACCESS_INSTANCED_PROP(Props, _DivideScroll); - float DividePower = UNITY_ACCESS_INSTANCED_PROP(Props, _DividePower); - float LightIndex = UNITY_ACCESS_INSTANCED_PROP(Props, _LightIndex); - float GradOn = UNITY_ACCESS_INSTANCED_PROP(Props, _GradOn); - float WorldPosNoiseRandom = UNITY_ACCESS_INSTANCED_PROP(Props, _WorldPosNoiseRandom); - float NoieMoveSpeed = UNITY_ACCESS_INSTANCED_PROP(Props, _NoieMoveSpeed); - float AudioLinkIntensity = UNITY_ACCESS_INSTANCED_PROP(Props, _AudioLinkIntensity); - int AudioLinkType = UNITY_ACCESS_INSTANCED_PROP(Props, _AudioLinkType); - float AudioLinkFiltering = UNITY_ACCESS_INSTANCED_PROP(Props, _AudioLinkFiltering); - - - - i.normal = normalize(i.normal); - float3 viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); - viewDir = normalize(mul(unity_WorldToObject,float4(viewDir,0.0))); - - //_AudioLink - #ifdef AudioLinkOn - float AudioLink = AudioLinkData(ALPASS_AUDIOLINK + int2(0, AudioLinkType)); - float AudioLinkLowFiltered = AudioLinkData(ALPASS_FILTEREDAUDIOLINK + int2(0, AudioLinkType)); - - AudioLink = lerp(AudioLink, AudioLinkLowFiltered, AudioLinkFiltering); - AudioLink = lerp(1, AudioLink, AudioLinkIntensity); - #endif - - //光のグラデーション - float grad = 0.1 / distance(i.uv.y, float2(1.0, 1.0)); - //マイナス値をなくす - grad = clamp(grad, 0, 100000); - - //端のだんだん消えていく感じのマスク - float mask = smoothstep(0.1, 1.0, distance(i.uv.y, 0.0)); - //リムライト的処理エッジをやわらかく消す - float rim = (pow(max(0, dot(i.normal, -viewDir)), RimPower)); - - //ビームの分割 - float pi = 3.14159265; - float divide = sin(i.uv.x * pi * floor(Divide) * 2 + (_Time.w * DivideScroll)) + 1.0; - divide = lerp(1.0, divide, DividePower); - //合成と明るさ調整・ビームが太くなるほど暗くする - float baseCol = grad * 20 * Intensity * mask * rim * divide * pow(1.5, - ConeWidth * 20); - - - - //空気中のもやもや用ノイズテクスチャ - float2 texUV = i.uv2; - texUV.x = texUV.x + _Time * .5 * NoieMoveSpeed; - texUV.y = texUV.y + _Time * .1 * NoieMoveSpeed; - //ノイズテクスチャを位置によって適当にずらす(ほんとに適当) - float randVal = random1D(LightIndex + 1); // 適当なランダム値 - float2 worldPosRandom = float2(frac(i.objPos.x + i.objPos.y + i.objPos.z + randVal), frac(i.objPos.x + i.objPos.y + i.objPos.z + randVal)); - texUV += lerp(float2(0, 0), worldPosRandom, WorldPosNoiseRandom); - - // 2つ目の逆回転のノイズ - float2 texUV2 = i.uv2; - texUV2.x = texUV2.x - _Time * .7 * NoieMoveSpeed; - texUV2.y = texUV2.y - _Time * .2 * NoieMoveSpeed; - //ノイズテクスチャを位置によって適当にずらす(ほんとに適当) - texUV2 += lerp(float2(0, 0), worldPosRandom, WorldPosNoiseRandom); - - // noise multiply - float4 tex = tex2D(_NoiseTex, texUV); - float4 tex2 = tex2D(_NoiseTex, texUV2); - tex *= tex2; - tex = lerp(fixed4(1, 1, 1, 1), tex, TexPower); - float4 col = float4(baseCol, baseCol, baseCol, 1) * Color * tex; - #ifdef AudioLinkOn - col = float4(baseCol, baseCol, baseCol, 1) * Color * tex * AudioLink; - #endif - - //レンズ部分の色 - float baselensColor = grad * 20 * Intensity * mask * divide * pow(1.5, - ConeWidth * 20); - float3 lensColor = float3(baselensColor, baselensColor,baselensColor) * Color * tex; - #ifdef AudioLinkOn - lensColor = float3(baselensColor, baselensColor,baselensColor) * Color * tex * AudioLink; - #endif - - - //高さが0になるにつれてグラデーションで消える - float worldHeight = saturate(i.worldPos.y * GradPower - GradHeight) ; - worldHeight = lerp(1, worldHeight, GradOn); //トグル - col *= float4(worldHeight, worldHeight, worldHeight, 1); - - //いい感じの減衰 - float lm = length(_WorldSpaceCameraPos - i.worldPos); - lm = clamp(lm * 0.3, 0.0, 1.0) - 0.0; - col *= float4(lm, lm, lm, 1.0); - - //正面向いたときだけフラッシュ - float xzlen = length(mul(unity_WorldToObject,float4(_WorldSpaceCameraPos,1.0)).xz); - col *= clamp(0.6/xzlen,1.0,3.0) - 0.0; //-0.0が明るさ調整 - - //レンズ部分の色 - float lgrad= smoothstep(0.9999,.99999, i.uv.y); - lensColor *= float3(lgrad,lgrad,lgrad); - lensColor *= .0003; - col += float4(float3(lensColor),1); - - //bloom爆発対策 - col = clamp(col,0,3); - - //UNITY_APPLY_FOG(i.fogCoord, col); - return col; - } - ENDCG - } - } -} diff --git a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader.meta b/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader.meta deleted file mode 100644 index 3b1ba625d..000000000 --- a/Assets/Resources/Character/@101-150/@128_단츄/Project/단츄_250613_아이스크림/티바살콘배경/noribenBeamlight/Shaders/noribenBeamLight.shader.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 14dbb8e17acd2fc419565a795f0bbca7 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/유리나_250925_호시아이MV_Timeline.playable b/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/유리나_250925_호시아이MV_Timeline.playable index b6ac4d902..4ca9cd428 100644 --- a/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/유리나_250925_호시아이MV_Timeline.playable +++ b/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/유리나_250925_호시아이MV_Timeline.playable @@ -2409,7 +2409,7 @@ MonoBehaviour: m_Version: 3 m_AnimClip: {fileID: 0} m_Locked: 0 - m_Muted: 0 + m_Muted: 1 m_CustomPlayableFullTypename: m_Curves: {fileID: 0} m_Parent: {fileID: -5389272992513403652} diff --git a/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/콘서트장/유리나_250925_호시아이MV_콘서트장.unity b/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/콘서트장/유리나_250925_호시아이MV_콘서트장.unity index 9bbddb0bf..65bf75fc3 100644 --- a/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/콘서트장/유리나_250925_호시아이MV_콘서트장.unity +++ b/Assets/Resources/Character/@151-200/@177_유리나/Project/유리나_250925_호시아이MV/콘서트장/유리나_250925_호시아이MV_콘서트장.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29f4331067f3a6c835216859d1500a0f4b91f31b1df65cb650ea72f4dc4354d8 -size 1139245 +oid sha256:fd099083ce7ab8cd2dd3408ea4315ef6b80fecde8486fe97a35e03a52c260d0b +size 1117424 diff --git a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/MMDLoader/Private/ModelAgent.cs b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/MMDLoader/Private/ModelAgent.cs index cd721b429..105cfdba2 100644 --- a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/MMDLoader/Private/ModelAgent.cs +++ b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/MMDLoader/Private/ModelAgent.cs @@ -80,8 +80,8 @@ namespace MMD { // プレファブパスの設定 prefab_path = pmd_format.folder + "/" + pmd_format.name + ".prefab"; } - // プレファブ化 - PrefabUtility.CreatePrefab(prefab_path, game_object, ReplacePrefabOptions.ConnectToPrefab); + // プレファブ化 (CreatePrefab/ReplacePrefabOptions は 폐기됨) + PrefabUtility.SaveAsPrefabAssetAndConnect(game_object, prefab_path, InteractionMode.UserAction); // アセットリストの更新 AssetDatabase.Refresh(); diff --git a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileConverter.cs b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileConverter.cs index 79ac070bb..e259249b6 100644 --- a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileConverter.cs +++ b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileConverter.cs @@ -100,9 +100,13 @@ namespace xfile { } } - public UnityEngine.Object CreatePrefab() { + public string CreatePrefab() { string path = folderPath + fileName.Split('.')[0] + ".prefab"; - return PrefabUtility.CreateEmptyPrefab(path); + // Unity 2018+ no longer supports CreateEmptyPrefab. We save from a temporary GameObject instead. + var temp = new GameObject(fileName.Split('.')[0] + "_Temp"); + var created = PrefabUtility.SaveAsPrefabAsset(temp, path); + UnityEngine.Object.DestroyImmediate(temp); + return path; } private void EntryNormal(Mesh mesh) { @@ -151,13 +155,14 @@ namespace xfile { return material; } - public void ReplacePrefab(UnityEngine.Object prefab, Mesh mesh, UnityEngine.Material[] materials) { + public void ReplacePrefab(string prefabPath, Mesh mesh, UnityEngine.Material[] materials) { GameObject obj = new GameObject(fileName.Split('.')[0]); MeshFilter filter = obj.AddComponent(); filter.mesh = mesh; MeshRenderer mren = obj.AddComponent(); mren.sharedMaterials = materials; - PrefabUtility.ReplacePrefab(obj, prefab); + PrefabUtility.SaveAsPrefabAsset(obj, prefabPath); + UnityEngine.Object.DestroyImmediate(obj); } } } diff --git a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileImporter.cs b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileImporter.cs index 7d6c9e300..52d1339d6 100644 --- a/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileImporter.cs +++ b/Assets/Scripts/3rd/mmd-for-unity-master/Editor/XFileImporter/Private/XFileImporter.cs @@ -26,9 +26,9 @@ public class XFileImporter { public static void Import(Object xFile) { xfile.XFileConverter cnv = new xfile.XFileConverter(xFile); - Object prefab = cnv.CreatePrefab(); + string prefabPath = cnv.CreatePrefab(); Material[] material = cnv.CreateMaterials(); Mesh mesh = cnv.CreateMesh(); - cnv.ReplacePrefab(prefab, mesh, material); + cnv.ReplacePrefab(prefabPath, mesh, material); } } diff --git a/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs b/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs deleted file mode 100644 index 560db898c..000000000 --- a/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs +++ /dev/null @@ -1,122 +0,0 @@ -#if UNITY_EDITOR - -using UnityEditor; -using UnityEngine; -using System.Collections.Generic; -using System.IO; - -namespace Bitd -{ - public class MultiUnitypackageInstaller : EditorWindow - { - private string folderPath = ""; - private Queue packageQueue = new Queue(); - private bool isImporting = false; - private float checkInterval = 3f; // 임포트 상태를 체크할 주기 (초) - private float timer = 0f; - - [MenuItem("Bitd/패키지 임포트 개빡쳐", false, 201)] - public static void ShowWindow() - { - GetWindow("뜌....뜌땨..."); - } - - void OnGUI() - { - GUILayout.Label("화나니까 눌러두고 쉬자", EditorStyles.boldLabel); - - if (GUILayout.Button("폴더 선택")) - { - folderPath = EditorUtility.OpenFolderPanel("폴더 선택하기", "", ""); - } - - if (!string.IsNullOrEmpty(folderPath)) - { - GUILayout.Label(folderPath + " 폴더 선택됨"); - } - - if (GUILayout.Button("임포트 시작")) - { - StartImporting(folderPath); - } - } - - void StartImporting(string path) - { - if (string.IsNullOrEmpty(path)) return; - - // 모든 폴더와 하위 폴더에서 .unitypackage 파일 찾기 - string[] packageFiles = GetAllUnityPackages(path); - - foreach (string packageFile in packageFiles) - { - packageQueue.Enqueue(packageFile); - } - - if (packageQueue.Count > 0) - { - isImporting = true; - EditorApplication.update += ImportNextPackage; - } - } - - // 재귀적으로 폴더와 하위 폴더의 .unitypackage 파일들을 찾는 메서드 - string[] GetAllUnityPackages(string path) - { - // 현재 폴더 안의 .unitypackage 파일들 - List packageFiles = new List(Directory.GetFiles(path, "*.unitypackage")); - - // 하위 폴더들을 가져옴 - string[] subdirectories = Directory.GetDirectories(path); - - // 각 하위 폴더도 재귀적으로 탐색 - foreach (string subdirectory in subdirectories) - { - packageFiles.AddRange(GetAllUnityPackages(subdirectory)); - } - - return packageFiles.ToArray(); - } - - void ImportNextPackage() - { - if (packageQueue.Count == 0) - { - // 모든 패키지 임포트 완료 - isImporting = false; - EditorApplication.update -= ImportNextPackage; - Debug.Log("모든 패키지가 임포트 완료되었습니다."); - return; - } - - string nextPackage = packageQueue.Dequeue(); - AssetDatabase.ImportPackage(nextPackage, false); // 자동으로 패키지 설치, Import 창 없이 진행 - - // 임포트 상태를 체크하기 위해 타이머 리셋 - timer = checkInterval; - EditorApplication.update -= ImportNextPackage; - EditorApplication.update += CheckImportStatus; - } - - void CheckImportStatus() - { - timer -= Time.deltaTime; - - // 일정 주기마다 유니티의 상태를 체크 - if (timer <= 0f) - { - timer = checkInterval; - - // 유니티가 에셋을 처리 중인지 확인 (로딩 상태) - if (!EditorApplication.isCompiling && !EditorApplication.isUpdating) - { - // 임포트가 완료되었으면 다음 패키지를 임포트 - EditorApplication.update -= CheckImportStatus; - EditorApplication.update += ImportNextPackage; - } - } - } - } -} - -#endif \ No newline at end of file diff --git a/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs.meta b/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs.meta deleted file mode 100644 index 0d3659721..000000000 --- a/Assets/Scripts/Bitd/Scripts/MultiUnitypackageInstaller.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e3e376ce4bd65d144b11bb54cbac2f7e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Kindnick/Extensions/CinemachineBeautifyVolumeSettings.cs b/Assets/Scripts/Kindnick/Extensions/CinemachineBeautifyVolumeSettings.cs index a1a64b329..f1358d140 100644 --- a/Assets/Scripts/Kindnick/Extensions/CinemachineBeautifyVolumeSettings.cs +++ b/Assets/Scripts/Kindnick/Extensions/CinemachineBeautifyVolumeSettings.cs @@ -220,7 +220,11 @@ namespace Streamingle.StreamingleControl.Extensions if (stage == CinemachineCore.Stage.Finalize) { var extra = GetExtraState(vcam); - if (!IsValid) + + // Only apply volume settings if this camera is live (active) + bool isLive = CinemachineCore.IsLive(vcam); + + if (!IsValid || !isLive) extra.DestroyProfileCopy(); else { diff --git a/Assets/Scripts/MaterialAndTextureCollectorWindow.cs b/Assets/Scripts/MaterialAndTextureCollectorWindow.cs index a16150c16..9364acfab 100644 --- a/Assets/Scripts/MaterialAndTextureCollectorWindow.cs +++ b/Assets/Scripts/MaterialAndTextureCollectorWindow.cs @@ -101,10 +101,10 @@ public class MaterialAndTextureTool : EditorWindow duplicateMaterialMap[mat.name].Add(mat); Shader shader = mat.shader; - int count = ShaderUtil.GetPropertyCount(shader); + int count = shader.GetPropertyCount(); for (int i = 0; i < count; i++) { - string propName = ShaderUtil.GetPropertyName(shader, i); + string propName = shader.GetPropertyName(i); Texture tex = mat.GetTexture(propName); if (tex == null || seenTextures.Contains(tex)) continue; seenTextures.Add(tex); @@ -209,17 +209,17 @@ public class MaterialAndTextureTool : EditorWindow void CopyTextures(Material original, Material copy) { Shader shader = original.shader; - int count = ShaderUtil.GetPropertyCount(shader); + int count = shader.GetPropertyCount(); string[] maskProps = { "_MaskMap", "_OcclusionMap", "_DetailMask", "_RoughnessMap", "_MetallicGlossMap" }; for (int i = 0; i < count; i++) { - string prop = ShaderUtil.GetPropertyName(shader, i); + string prop = shader.GetPropertyName(i); Texture tex = original.GetTexture(prop); if (tex == null) continue; - bool isTexEnv = ShaderUtil.GetPropertyType(shader, i) == ShaderUtil.ShaderPropertyType.TexEnv; + bool isTexEnv = shader.GetPropertyType(i) == UnityEngine.Rendering.ShaderPropertyType.Texture; bool isMask = System.Array.IndexOf(maskProps, prop) >= 0; if (isTexEnv || isMask) diff --git a/Assets/Settings/DefaultVolumeProfile.asset b/Assets/Settings/DefaultVolumeProfile.asset index e6bae6350..2b29a77aa 100644 --- a/Assets/Settings/DefaultVolumeProfile.asset +++ b/Assets/Settings/DefaultVolumeProfile.asset @@ -394,6 +394,12 @@ MonoBehaviour: characterOverallShadowTintColor: m_OverrideState: 1 m_Value: {r: 1, g: 1, b: 1, a: 0} + characterOverallShadowTintColorForSkinFace: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 0} + characterOverallShadowTintColorForNonSkinFace: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 0} charOutlineWidthMultiplier: m_OverrideState: 1 m_Value: 1 @@ -902,6 +908,7 @@ MonoBehaviour: - {fileID: 1149897091762735767} - {fileID: 9180474596897214431} - {fileID: 2965490287026246189} + - {fileID: 2611382055184097027} --- !u!114 &271431995186689846 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1420,6 +1427,799 @@ MonoBehaviour: contribution: m_OverrideState: 1 m_Value: 0 +--- !u!114 &2611382055184097027 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c133717c76e564a5fa90d7f12908d17e, type: 3} + m_Name: Beautify + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::Beautify.Universal.Beautify + active: 1 + disabled: + m_OverrideState: 1 + m_Value: 0 + compareMode: + m_OverrideState: 1 + m_Value: 0 + compareStyle: + m_OverrideState: 1 + m_Value: 0 + comparePanning: + m_OverrideState: 1 + m_Value: 0.25 + compareLineAngle: + m_OverrideState: 1 + m_Value: 1.4 + compareLineWidth: + m_OverrideState: 1 + m_Value: 0.002 + flipY: + m_OverrideState: 1 + m_Value: 0 + hideInSceneView: + m_OverrideState: 1 + m_Value: 0 + debugOutput: + m_OverrideState: 1 + m_Value: 0 + turboMode: + m_OverrideState: 1 + m_Value: 0 + directWrite: + m_OverrideState: 1 + m_Value: 0 + ignoreDepthTexture: + m_OverrideState: 1 + m_Value: 0 + downsampling: + m_OverrideState: 1 + m_Value: 0 + downsamplingMode: + m_OverrideState: 1 + m_Value: 0 + downsamplingMultiplier: + m_OverrideState: 1 + m_Value: 1 + downsamplingBilinear: + m_OverrideState: 1 + m_Value: 0 + sharpenIntensity: + m_OverrideState: 1 + m_Value: 0 + sharpenDepthThreshold: + m_OverrideState: 1 + m_Value: 0.035 + sharpenMinMaxDepth: + m_OverrideState: 1 + m_Value: {x: 0, y: 0.999} + min: 0 + max: 1.1 + sharpenMinMaxDepthFallOff: + m_OverrideState: 1 + m_Value: 0 + sharpenRelaxation: + m_OverrideState: 1 + m_Value: 0.08 + sharpenClamp: + m_OverrideState: 1 + m_Value: 0.45 + sharpenMotionSensibility: + m_OverrideState: 1 + m_Value: 0.5 + sharpenMotionRestoreSpeed: + m_OverrideState: 1 + m_Value: 0.5 + sharpenExclusionLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 0 + antialiasStrength: + m_OverrideState: 1 + m_Value: 0 + antialiasDepthThreshold: + m_OverrideState: 1 + m_Value: 0.000001 + antialiasSpread: + m_OverrideState: 1 + m_Value: 3 + antialiasDepthAttenuation: + m_OverrideState: 1 + m_Value: 0 + tonemap: + m_OverrideState: 1 + m_Value: 0 + tonemapAGXGamma: + m_OverrideState: 1 + m_Value: 2.5 + tonemapMaxInputBrightness: + m_OverrideState: 1 + m_Value: 1000 + tonemapExposurePre: + m_OverrideState: 1 + m_Value: 1 + tonemapBrightnessPost: + m_OverrideState: 1 + m_Value: 1 + saturate: + m_OverrideState: 1 + m_Value: 1 + brightness: + m_OverrideState: 1 + m_Value: 1 + contrast: + m_OverrideState: 1 + m_Value: 1 + daltonize: + m_OverrideState: 1 + m_Value: 0 + sepia: + m_OverrideState: 1 + m_Value: 0 + tintColor: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 0} + colorTempBlend: + m_OverrideState: 1 + m_Value: 0 + colorTemp: + m_OverrideState: 1 + m_Value: 6550 + lut: + m_OverrideState: 1 + m_Value: 0 + lutIntensity: + m_OverrideState: 1 + m_Value: 0 + lutTexture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + bloomIntensity: + m_OverrideState: 1 + m_Value: 0 + bloomThreshold: + m_OverrideState: 1 + m_Value: 0.75 + bloomConservativeThreshold: + m_OverrideState: 1 + m_Value: 0 + bloomSpread: + m_OverrideState: 1 + m_Value: 0.5 + bloomMaxBrightness: + m_OverrideState: 1 + m_Value: 1000 + bloomTint: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 1, a: 0} + bloomDepthAtten: + m_OverrideState: 1 + m_Value: 0 + bloomNearAtten: + m_OverrideState: 1 + m_Value: 0 + bloomExcludeLayers: + m_OverrideState: 1 + m_Value: 0 + bloomLayersFilterMethod: + m_OverrideState: 1 + m_Value: 1 + bloomExclusionLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 0 + bloomAntiflicker: + m_OverrideState: 1 + m_Value: 0 + bloomResolution: + m_OverrideState: 1 + m_Value: 1 + bloomQuickerBlur: + m_OverrideState: 1 + m_Value: 0 + bloomCustomize: + m_OverrideState: 1 + m_Value: 0 + bloomWeight0: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost0: + m_OverrideState: 1 + m_Value: 0 + bloomTint0: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomWeight1: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost1: + m_OverrideState: 1 + m_Value: 0 + bloomTint1: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomWeight2: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost2: + m_OverrideState: 1 + m_Value: 0 + bloomTint2: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomWeight3: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost3: + m_OverrideState: 1 + m_Value: 0 + bloomTint3: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomWeight4: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost4: + m_OverrideState: 1 + m_Value: 0 + bloomTint4: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomWeight5: + m_OverrideState: 1 + m_Value: 0.5 + bloomBoost5: + m_OverrideState: 1 + m_Value: 0 + bloomTint5: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + anamorphicFlaresIntensity: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresThreshold: + m_OverrideState: 1 + m_Value: 0.75 + anamorphicFlaresConservativeThreshold: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresTint: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 1, a: 0} + anamorphicFlaresVertical: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresSpread: + m_OverrideState: 1 + m_Value: 1 + anamorphicFlaresMaxBrightness: + m_OverrideState: 1 + m_Value: 1000 + anamorphicFlaresDepthAtten: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresNearAtten: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresExcludeLayers: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresLayersFilterMethod: + m_OverrideState: 1 + m_Value: 1 + anamorphicFlaresExclusionLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 0 + anamorphicFlaresAntiflicker: + m_OverrideState: 1 + m_Value: 0 + anamorphicFlaresResolution: + m_OverrideState: 1 + m_Value: 1 + anamorphicFlaresQuickerBlur: + m_OverrideState: 1 + m_Value: 0 + sunFlaresIntensity: + m_OverrideState: 1 + m_Value: 0 + sunFlaresTint: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + sunFlaresSolarWindSpeed: + m_OverrideState: 1 + m_Value: 0.01 + sunFlaresRotationDeadZone: + m_OverrideState: 1 + m_Value: 0 + sunFlaresDownsampling: + m_OverrideState: 1 + m_Value: 1 + sunFlaresDepthOcclusionMode: + m_OverrideState: 1 + m_Value: 1 + sunFlaresDepthOcclusionThreshold: + m_OverrideState: 1 + m_Value: 0.5 + sunFlaresUseLayerMask: + m_OverrideState: 1 + m_Value: 0 + sunFlaresLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + sunFlaresAttenSpeed: + m_OverrideState: 1 + m_Value: 30 + sunFlaresSunIntensity: + m_OverrideState: 1 + m_Value: 0.1 + sunFlaresSunDiskSize: + m_OverrideState: 1 + m_Value: 0.05 + sunFlaresSunRayDiffractionIntensity: + m_OverrideState: 1 + m_Value: 3.5 + sunFlaresSunRayDiffractionThreshold: + m_OverrideState: 1 + m_Value: 0.13 + sunFlaresCoronaRays1Length: + m_OverrideState: 1 + m_Value: 0.02 + sunFlaresCoronaRays1Streaks: + m_OverrideState: 1 + m_Value: 12 + sunFlaresCoronaRays1Spread: + m_OverrideState: 1 + m_Value: 0.001 + sunFlaresCoronaRays1AngleOffset: + m_OverrideState: 1 + m_Value: 0 + sunFlaresCoronaRays2Length: + m_OverrideState: 1 + m_Value: 0.05 + sunFlaresCoronaRays2Streaks: + m_OverrideState: 1 + m_Value: 12 + sunFlaresCoronaRays2Spread: + m_OverrideState: 1 + m_Value: 0.1 + sunFlaresCoronaRays2AngleOffset: + m_OverrideState: 1 + m_Value: 0 + sunFlaresGhosts1Size: + m_OverrideState: 1 + m_Value: 0.03 + sunFlaresGhosts1Offset: + m_OverrideState: 1 + m_Value: 1.04 + sunFlaresGhosts1Brightness: + m_OverrideState: 1 + m_Value: 0.037 + sunFlaresGhosts2Size: + m_OverrideState: 1 + m_Value: 0.1 + sunFlaresGhosts2Offset: + m_OverrideState: 1 + m_Value: 0.71 + sunFlaresGhosts2Brightness: + m_OverrideState: 1 + m_Value: 0.03 + sunFlaresGhosts3Size: + m_OverrideState: 1 + m_Value: 0.24 + sunFlaresGhosts3Offset: + m_OverrideState: 1 + m_Value: 0.31 + sunFlaresGhosts3Brightness: + m_OverrideState: 1 + m_Value: 0.025 + sunFlaresGhosts4Size: + m_OverrideState: 1 + m_Value: 0.016 + sunFlaresGhosts4Offset: + m_OverrideState: 1 + m_Value: 0 + sunFlaresGhosts4Brightness: + m_OverrideState: 1 + m_Value: 0.017 + sunFlaresHaloOffset: + m_OverrideState: 1 + m_Value: 0.22 + sunFlaresHaloAmplitude: + m_OverrideState: 1 + m_Value: 15.1415 + sunFlaresHaloIntensity: + m_OverrideState: 1 + m_Value: 0.01 + lensDirtIntensity: + m_OverrideState: 1 + m_Value: 0 + lensDirtThreshold: + m_OverrideState: 1 + m_Value: 0.5 + lensDirtTexture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + lensDirtSpread: + m_OverrideState: 1 + m_Value: 3 + chromaticAberrationIntensity: + m_OverrideState: 1 + m_Value: 0 + chromaticAberrationShift: + m_OverrideState: 1 + m_Value: 0 + chromaticAberrationSmoothing: + m_OverrideState: 1 + m_Value: 0 + chromaticAberrationSeparatePass: + m_OverrideState: 1 + m_Value: 0 + depthOfField: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldFocusMode: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldAutofocusMinDistance: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldAutofocusMaxDistance: + m_OverrideState: 1 + m_Value: 10000 + depthOfFieldTargetFallback: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldTargetFallbackFixedDistance: + m_OverrideState: 1 + m_Value: 1000 + depthOfFieldAutofocusViewportPoint: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + depthOfFieldAutofocusDistanceShift: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldAutofocusLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + depthOfFieldDistance: + m_OverrideState: 1 + m_Value: 10 + depthOfFieldCameraSettings: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldFocalLength: + m_OverrideState: 1 + m_Value: 0.05 + depthOfFieldAperture: + m_OverrideState: 1 + m_Value: 2.8 + depthOfFieldFocalLengthReal: + m_OverrideState: 1 + m_Value: 50 + depthOfFieldFStop: + m_OverrideState: 1 + m_Value: 2 + depthOfFieldImageSensorHeight: + m_OverrideState: 1 + m_Value: 24 + depthOfFieldUsePhysicalCamera: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldFocusSpeed: + m_OverrideState: 1 + m_Value: 1 + depthOfFieldTransparentSupport: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldTransparentLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 1 + depthOfFieldTransparentDoubleSided: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldAlphaTestSupport: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldAlphaTestLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 1 + depthOfFieldAlphaTestDoubleSided: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldForegroundBlur: + m_OverrideState: 1 + m_Value: 1 + depthOfFieldForegroundBlurHQ: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldForegroundBlurHQSpread: + m_OverrideState: 1 + m_Value: 4 + depthOfFieldForegroundDistance: + m_OverrideState: 1 + m_Value: 0.25 + depthOfFieldBokeh: + m_OverrideState: 1 + m_Value: 1 + depthOfFieldBokehComposition: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldBokehThreshold: + m_OverrideState: 1 + m_Value: 1 + depthOfFieldBokehIntensity: + m_OverrideState: 1 + m_Value: 2 + depthOfFieldAffectsBloom: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldDownsampling: + m_OverrideState: 1 + m_Value: 2 + depthOfFieldMaxSamples: + m_OverrideState: 1 + m_Value: 6 + depthOfFieldMaxBrightness: + m_OverrideState: 1 + m_Value: 1000 + depthOfFieldMaxBlurRadius: + m_OverrideState: 1 + m_Value: 1000 + depthOfFieldResolutionInvariant: + m_OverrideState: 1 + m_Value: 0 + depthOfFieldMaxDistance: + m_OverrideState: 1 + m_Value: 1 + depthOfFieldFilterMode: + m_OverrideState: 1 + m_Value: 1 + eyeAdaptation: + m_OverrideState: 1 + m_Value: 0 + eyeAdaptationMinExposure: + m_OverrideState: 1 + m_Value: 0.2 + eyeAdaptationMaxExposure: + m_OverrideState: 1 + m_Value: 5 + eyeAdaptationSpeedToLight: + m_OverrideState: 1 + m_Value: 0.4 + eyeAdaptationSpeedToDark: + m_OverrideState: 1 + m_Value: 0.2 + eyeAdaptationMeteringMode: + m_OverrideState: 1 + m_Value: 0 + eyeAdaptationMask: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + eyeAdaptationCenterWeight: + m_OverrideState: 1 + m_Value: 1 + eyeAdaptationMinCameraDistance: + m_OverrideState: 1 + m_Value: 0 + eyeAdaptationMiddleGray: + m_OverrideState: 1 + m_Value: 0.18 + purkinje: + m_OverrideState: 1 + m_Value: 0 + purkinjeAmount: + m_OverrideState: 1 + m_Value: 1 + purkinjeLuminanceThreshold: + m_OverrideState: 1 + m_Value: 0.15 + vignettingOuterRing: + m_OverrideState: 1 + m_Value: 0 + vignettingInnerRing: + m_OverrideState: 1 + m_Value: 0 + vignettingFade: + m_OverrideState: 1 + m_Value: 0 + vignettingCircularShape: + m_OverrideState: 1 + m_Value: 0 + vignettingCircularShapeFitMode: + m_OverrideState: 1 + m_Value: 0 + vignettingAspectRatio: + m_OverrideState: 1 + m_Value: 1 + vignettingBlink: + m_OverrideState: 1 + m_Value: 0 + vignettingBlinkStyle: + m_OverrideState: 1 + m_Value: 0 + vignettingCenter: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + vignettingColor: + m_OverrideState: 1 + m_Value: {r: 0, g: 0, b: 0, a: 1} + vignettingMask: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + outline: + m_OverrideState: 1 + m_Value: 0 + outlineColor: + m_OverrideState: 1 + m_Value: {r: 0, g: 0, b: 0, a: 0.8} + outlineTechnique: + m_OverrideState: 1 + m_Value: 0 + outlineMinSeparation: + m_OverrideState: 1 + m_Value: 1 + outlineOuterOnly: + m_OverrideState: 1 + m_Value: 0 + outlineThreshold: + m_OverrideState: 1 + m_Value: 0.2 + outlineMinDepthThreshold: + m_OverrideState: 1 + m_Value: 0.0005 + outlineSaturationDiffThreshold: + m_OverrideState: 1 + m_Value: 0.015 + outlineCustomize: + m_OverrideState: 1 + m_Value: 0 + outlineLayerMask: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + outlineStageParameter: + m_OverrideState: 1 + m_Value: 0 + outlineSpread: + m_OverrideState: 1 + m_Value: 1 + outlineBlurPassCount: + m_OverrideState: 1 + m_Value: 1 + outlineBlurDownscale: + m_OverrideState: 1 + m_Value: 0 + outlineIntensityMultiplier: + m_OverrideState: 1 + m_Value: 1 + outlineDistanceFade: + m_OverrideState: 1 + m_Value: 0 + outlineUsesOptimizedShader: + m_OverrideState: 1 + m_Value: 0 + outlineLayerCutOff: + m_OverrideState: 1 + m_Value: 0 + nightVision: + m_OverrideState: 1 + m_Value: 0 + nightVisionColor: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 1, b: 0.5, a: 0.5} + nightVisionDepth: + m_OverrideState: 1 + m_Value: 100000 + nightVisionDepthFallOff: + m_OverrideState: 1 + m_Value: 1 + thermalVision: + m_OverrideState: 1 + m_Value: 0 + thermalVisionScanLines: + m_OverrideState: 1 + m_Value: 1 + thermalVisionDistortionAmount: + m_OverrideState: 1 + m_Value: 9 + ditherIntensity: + m_OverrideState: 1 + m_Value: 0 + frame: + m_OverrideState: 1 + m_Value: 0 + frameStyle: + m_OverrideState: 1 + m_Value: 0 + frameBandHorizontalSize: + m_OverrideState: 1 + m_Value: 0 + frameBandHorizontalSmoothness: + m_OverrideState: 1 + m_Value: 0 + frameBandVerticalSize: + m_OverrideState: 1 + m_Value: 0.1 + frameBandVerticalSmoothness: + m_OverrideState: 1 + m_Value: 0 + frameColor: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + frameThickness: + m_OverrideState: 1 + m_Value: 0.047 + frameSharpness: + m_OverrideState: 1 + m_Value: 50 + frameMask: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + filmGrainEnabled: + m_OverrideState: 1 + m_Value: 0 + filmGrainIntensity: + m_OverrideState: 1 + m_Value: 0 + filmGrainResolution: + m_OverrideState: 1 + m_Value: 0.85 + filmGrainLumaAttenuation: + m_OverrideState: 1 + m_Value: 0.8 + filmGrainDirtSpotsAmount: + m_OverrideState: 1 + m_Value: 0 + filmGrainDirtSpotsIntensity: + m_OverrideState: 1 + m_Value: 0.2 + filmGrainScratchesAmount: + m_OverrideState: 1 + m_Value: 0 + filmGrainScratchesIntensity: + m_OverrideState: 1 + m_Value: 0.3 + blurIntensity: + m_OverrideState: 1 + m_Value: 0 + blurMask: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + blurKeepSourceOnTop: + m_OverrideState: 1 + m_Value: 0 + blurSourceRect: + m_OverrideState: 1 + m_Value: {x: 0.1, y: 0.1, z: 0.8, w: 0.8} + blurSourceEdgeBlendWidth: + m_OverrideState: 1 + m_Value: 0 + blurSourceEdgeBlendStrength: + m_OverrideState: 1 + m_Value: 20 --- !u!114 &2965490287026246189 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1658,6 +2458,12 @@ MonoBehaviour: characterOverallShadowTintColor: m_OverrideState: 1 m_Value: {r: 1, g: 1, b: 1, a: 1} + characterOverallShadowTintColorForSkinFace: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + characterOverallShadowTintColorForNonSkinFace: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} characterOverallShadowStrength: m_OverrideState: 1 m_Value: 1 diff --git a/Assets/Settings/PC_Renderer.asset b/Assets/Settings/PC_Renderer.asset index 2abb75338..54604b394 100644 --- a/Assets/Settings/PC_Renderer.asset +++ b/Assets/Settings/PC_Renderer.asset @@ -215,7 +215,10 @@ MonoBehaviour: m_UseNativeRenderPass: 0 xrSystemData: {fileID: 0} postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} - m_AssetVersion: 2 + m_AssetVersion: 3 + m_PrepassLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 m_OpaqueLayerMask: serializedVersion: 2 m_Bits: 4294967295 @@ -249,7 +252,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 55e6184d2ea958044a6434dca151c688, type: 3} m_Name: SSCC m_EditorClassIdentifier: - m_Active: 1 + m_Active: 0 shader: {fileID: 4800000, guid: 62449f654265cf94e81275e55a4b1823, type: 3} --- !u!114 &1117754167293925116 MonoBehaviour: diff --git a/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset index af2214cbd..20493cf04 100644 --- a/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset +++ b/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -59,6 +59,9 @@ MonoBehaviour: - rid: 8577289658121322497 - rid: 8577289658121322498 - rid: 8577289658121322499 + - rid: 4728933748993425408 + - rid: 4728933748993425409 + - rid: 4728933748993425410 m_RuntimeSettings: m_List: [] m_AssetVersion: 8 @@ -101,6 +104,42 @@ MonoBehaviour: type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2} + - rid: 4728933748993425408 + type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + - rid: 4728933748993425409 + type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3} + m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3} + m_VisualizationLookupTable: + m_Data: + - {r: 1, g: 0, b: 0, a: 1} + - {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + - {r: 1, g: 1, b: 1, a: 1} + - {r: 0, g: 1, b: 0, a: 1} + - {r: 0.75, g: 0.75, b: 0, a: 1} + - {r: 0, g: 0.75, b: 0.55, a: 1} + - {r: 0.5, g: 0, b: 0.5, a: 1} + - {r: 0.5, g: 0.5, b: 0.5, a: 1} + - {r: 0, g: 0, b: 1, a: 1} + m_ConversionLookupTable: + m_Data: + - {r: 1, g: 0, b: 0, a: 1} + - {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + - {r: 1, g: 1, b: 1, a: 1} + - {r: 0, g: 1, b: 0, a: 1} + - {r: 0.75, g: 0.75, b: 0, a: 1} + - {r: 0, g: 0.75, b: 0.55, a: 1} + - {r: 0.5, g: 0, b: 0.5, a: 1} + - {r: 0.5, g: 0.5, b: 0.5, a: 1} + - {r: 0, g: 0, b: 1, a: 1} + - rid: 4728933748993425410 + type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + m_UseBicubicLightmapSampling: 0 - rid: 6852985685364965376 type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: @@ -114,9 +153,6 @@ MonoBehaviour: m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3} m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3} m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3} - m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} - m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} - m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3} m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3} m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3} @@ -127,6 +163,8 @@ MonoBehaviour: m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} + m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3} + m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3} m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3} - rid: 6852985685364965379 type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} @@ -186,7 +224,7 @@ MonoBehaviour: type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: m_Version: 0 - m_EnableRenderCompatibilityMode: 1 + m_EnableRenderCompatibilityMode: 0 - rid: 6852985685364965386 type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime} data: diff --git a/Packages/com.mibdev.fullscreen-editor/package.json b/Packages/com.mibdev.fullscreen-editor/package.json new file mode 100644 index 000000000..c109f9ca1 --- /dev/null +++ b/Packages/com.mibdev.fullscreen-editor/package.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a1aee9a3573d14b5bd2e5ce983c3066aa2ea6ba9efbc5c33d24735669e38cfe +size 289 diff --git a/Packages/com.mibdev.fullscreen-editor/package.json.meta b/Packages/com.mibdev.fullscreen-editor/package.json.meta new file mode 100644 index 000000000..c0844f167 --- /dev/null +++ b/Packages/com.mibdev.fullscreen-editor/package.json.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: b3d9b0f9753978a44b0bbd17799a7e31 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 69534 + packageName: Fullscreen Editor + packageVersion: 2.2.9 + assetPath: Packages/com.mibdev.fullscreen-editor/package.json + uploadId: 756554 diff --git a/Packages/manifest.json b/Packages/manifest.json index 37594257a..e003704df 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98277bec2e5709676c45f532f6b9667f61875691e9b4d42528dd43a12dfa1391 +oid sha256:5ba2255bcdfc7e9bf9d105265af95022a2284d5b348e5c4d347729dba694a803 size 2529 diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 347bf2728..97fe63630 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dcea03d3363ac314a11ce3cc6e1a58479ecb9b005f5009615692a70ccf25b18 -size 15806 +oid sha256:2491ea825b201916129a6d7d81317c45d672efe9afc73e304668520abaa7a34d +size 16064 diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset index e4d376c2d..bf04337c5 100644 --- a/ProjectSettings/PackageManagerSettings.asset +++ b/ProjectSettings/PackageManagerSettings.asset @@ -18,7 +18,7 @@ MonoBehaviour: m_SeeAllPackageVersions: 0 m_DismissPreviewPackagesInUse: 0 oneTimeWarningShown: 0 - oneTimeDeprecatedPopUpShown: 0 + oneTimeDeprecatedPopUpShown: 1 m_Registries: - m_Id: main m_Name: @@ -27,11 +27,14 @@ MonoBehaviour: m_IsDefault: 1 m_Capabilities: 7 m_ConfigSource: 0 + m_Compliance: + m_Status: 0 + m_Violations: [] m_UserSelectedRegistryName: m_UserAddingNewScopedRegistry: 0 m_RegistryInfoDraft: m_Modified: 0 m_ErrorMessage: - m_UserModificationsInstanceId: -862 - m_OriginalInstanceId: -864 + m_UserModificationsInstanceId: -870 + m_OriginalInstanceId: -872 m_LoadAssets: -1 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 44f9a3ac6..ed2e8d8ee 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -86,6 +86,7 @@ PlayerSettings: muteOtherAudioSources: 0 Prepare IOS For Recording: 0 Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 deferSystemGesturesMode: 0 hideHomeButton: 0 submitAnalytics: 1 @@ -132,6 +133,7 @@ PlayerSettings: switchNVNMaxPublicSamplerIDCount: 0 switchMaxWorkerMultiple: 8 switchNVNGraphicsFirmwareMemory: 32 + switchGraphicsJobsSyncAfterKick: 1 vulkanNumSwapchainBuffers: 3 vulkanEnableSetSRGBWrite: 0 vulkanEnablePreTransform: 1 @@ -534,7 +536,7 @@ PlayerSettings: m_Automatic: 0 - m_BuildTarget: WindowsStandaloneSupport m_APIs: 02000000 - m_Automatic: 1 + m_Automatic: 0 m_BuildTargetVRSettings: [] m_DefaultShaderChunkSizeInMB: 16 m_DefaultShaderChunkCount: 0 @@ -819,12 +821,12 @@ PlayerSettings: webGLMemoryLinearGrowthStep: 16 webGLMemoryGeometricGrowthStep: 0.2 webGLMemoryGeometricGrowthCap: 96 - webGLEnableWebGPU: 0 webGLPowerPreference: 2 webGLWebAssemblyTable: 0 webGLWebAssemblyBigInt: 0 webGLCloseOnQuit: 0 webWasm2023: 0 + webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: Android: UNITY_POST_PROCESSING_STACK_V2 EmbeddedLinux: UNITY_POST_PROCESSING_STACK_V2 @@ -969,3 +971,4 @@ PlayerSettings: insecureHttpOption: 0 androidVulkanDenyFilterList: [] androidVulkanAllowFilterList: [] + androidVulkanDeviceFilterListAsset: {fileID: 0} diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 63264c692..a01b8dc29 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f5160cf914f94162e015cd44cb18c354b41ba5d3de8e82fd76cb2189ea51da7 -size 85 +oid sha256:47c16fd0780ec25ece339d19790a25f4d604daf6411d1f9d6d7fe2d1bbbb0758 +size 83 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset index f99437bb7..c7a28f66a 100644 --- a/ProjectSettings/VFXManager.asset +++ b/ProjectSettings/VFXManager.asset @@ -5,6 +5,7 @@ VFXManager: m_ObjectHideFlags: 0 m_IndirectShader: {fileID: 7200000, guid: 84a17cfa13e40ae4082ef42714f0a81c, type: 3} m_CopyBufferShader: {fileID: 7200000, guid: 23c51f21a3503f6428b527b01f8a2f4e, type: 3} + m_PrefixSumShader: {fileID: 7200000, guid: 783e0fdc1a277f54bb851fd2ceab1e7f, type: 3} m_SortShader: {fileID: 7200000, guid: ea257ca3cfb12a642a5025e612af6b2a, type: 3} m_StripUpdateShader: {fileID: 7200000, guid: 8fa6c4009fe2a4d4486c62736fc30ad8, type: 3} m_EmptyShader: {fileID: 4800000, guid: 33a2079f6a2db4c4eb2e44b33f4ddf6b, type: 3}